الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أرسم على window أخرى؟

مغلق
بدأه طالبة علم2 في 24 أبريل 2003 · 4 رد · 859 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

تواجهني مشكلة حاليا وهي كالتالي:

لدي الآن ال frame الأساسي للبرنامج

وأنا أريد عندما أضغط بالزر الأيمن للماوس تظهر لي window جديدة

الى الآن كل شيء تمام

لكن المشكلة كيف أقدر أرسم " وليس أكتب " على هذه الwindow الجديدة

لا تقولوا لي حطي محاولاتك لأن البرنامج حاليا كبيييير جداااا وغير مكتمل

ما أريد معرفته بالتحديد كيف أقدر ارسم على frame جديد

وجزاكم الله خيرا ..............

#2

ممكن تعملى import graphics

وتستخدمى دوال الرسم الى فيها مثل

draw rect or draw oval

ولكن يمكن يكون اسهل لو وضعتى jtextarea

على frame للرسم عليها

وانا عندى كود لعمل برنلمج الرسام لو تعتقى انه ممكن يفيديك ممكن ارسله لحضرتك

#3

ألف شكر لك يا أخ حسام محمد على تعاونك معي

سأجرب الطريقة المذكورة أعلاه وان شاء الله أقدر أرسم على الويندو

وحبذا لو كان باستطاعتك ارسال برنامج الرسام ،ان شاء الله أقدر أستفيد منه

جزاك الله خيرا

#4

هذا هو الكود

package paintbrushpackage

;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

class shape

{

private Point dim1,dim2;

private Color c;

void setdata(Point dim1,Point dim2,Color c)

{

this.dim1=dim1;

this.dim2=dim2;

this.c=c;

}

Point getdim1()

{

return dim1;

}

Point getdim2()

{

return dim2;

}

Color getColor()

{

return c;

}

void calcdiff()

{

dim2.x=dim2.x-dim1.x;

dim2.y=dim2.y-dim1.y;

}

void draw(Graphics g)

{

}

}

/**

*

*

Title:

*

Description:

*

Copyright: Copyright © 2003

*

Company:

* @author unascribed

* @version 1.0

*/

class rect extends shape

{

void draw(Graphics g)

{

//we need to call thc calcdiff

g.setColor(getColor());

g.drawRect(getdim1().x,getdim1().y,getdim2().x,getdim2().y);

}

}

class circle extends shape

{

void draw(Graphics g)

{

//we need to call thc calcdiff

g.setColor(getColor());

g.drawOval(getdim1().x,getdim1().y,getdim2().x,getdim2().y);

}

}

class line extends shape

{

void draw(Graphics g)

{

g.setColor(getColor());

g.drawLine(getdim1().x,getdim1().y,getdim2().x,getdim2().y);

}

}

/**

*

*

Title: this my class

*

ya lil ya 3in

*

Copyright: Copyright © 2003

*

Company:

* @author unascribed

* @version 1.0

*/

public class paintbrush extends JFrame implements ActionListener,MouseListener,MouseMotionListener

{

Point pold,pnew;

int flag=1;

JPanel p=new JPanel();

JButton b1=new JButton("Rect");

JButton b2=new JButton("Circle");

JButton b3=new JButton("Line");

shape shape1,shape2;

Vector v=new Vector();

public paintbrush()

{

Container c=getContentPane();

p.setLayout(new GridLayout(3,1));

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

c.addMouseListener(this);

c.addMouseMotionListener(this);

p.add(b1);

p.add(b2);

p.add(b3);

c.add(p,"East");

setSize(500,500);

setVisible(true);

}

public void paint(Graphics g)

{

System.out.println("aaa");

super.paint(g);//to clear the screen

for(int i=0;i

{

shape2=(shape)v.get(i);// casting from object to shape

shape2.draw(g);

}

switch(flag)

{

case 1:

shape1=new rect();

shape1.setdata(pold,pnew,Color.red);

shape1.calcdiff();

System.out.println(shape1.getdim1());

System.out.println(shape1.getdim2());

shape1.draw(g);

break;

case 2:

shape1=new circle();

shape1.setdata(pold,pnew,Color.red);

shape1.calcdiff();

shape1.draw(g);

break;

case 3:

shape1=new line();

shape1.setdata(pnew,pold,Color.red);

shape1.draw(g);

break;

}

}

public void actionPerformed(ActionEvent e)

{String s=e.getActionCommand();

if(s.equals("Rect"))

flag=1;

else

if(s.equals("Circle"))

flag=2;

else

flag=3;

}

public void mouseClicked(MouseEvent e)

{

}

public void mousePressed(MouseEvent e)

{

e.translatePoint(4,20);

if(e.getModifiers()==e.BUTTON1_MASK)

{

pold=e.getPoint();

}

}

public void mouseReleased(MouseEvent e)

{

v.addElement(shape1);

}

public void mouseExited(MouseEvent e)

{

}

public void mouseEntered(MouseEvent e)

{

}

public void mouseDragged(MouseEvent e)

{

e.translatePoint(4,20);

if(e.getModifiers()==e.BUTTON1_MASK)

{

pnew=e.getPoint();

repaint();

}

}

public void mouseMoved(MouseEvent e)

{

}

public static void main(String []arg)

{

new paintbrush();

}

}

وهذا هو الملف المضغوط للتاكيد

paintbrush.zip

#5

السلام عليكم ورحمة الله

كيف حال الاخت طالبة

اود ان اعلم حضرتك انى وضعت بالمنتدى نسخة اخرى من كود برنامج الرسام بها بعض التعليقات التى ربما تساعد فى فهم البرنامج

وقد ادرجته فى موضوع جديد تحت عنوان

كود لعمل برنامج رسام

هذا الموضوع مغلق.

مواضيع مشابهة