hi, ich bin da auf ein nettes program gestoßen, mit dem man rechtecke zeichnen kann.. die frage an euch: kann mir jmd vllt diesen code umschreiben?
ich würde gerne wissen wie das selbe programm mit swing aussieht
hier der code:
hier der code:
Java:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Example1904
extends Frame
{
private Vector drawlist;
private Rectangle actrect;
public static void main(String[] args)
{
Example1904 wnd = new Example1904();
wnd.setLocation(200,200);
wnd.setSize(400,300);
wnd.setVisible(true);
}
public Example1904()
{
super("Example1904");
drawlist = new Vector();
actrect = new Rectangle(0,0,0,0);
addWindowListener(new MyWindowListener());
addMouseListener(new MyMouseListener());
addMouseMotionListener(new MyMouseMotionListener());
}
public void paint(Graphics g)
{
Rectangle r;
Enumeration e;
for (e = drawlist.elements(); e.hasMoreElements(); ) {
r = (Rectangle)e.nextElement();
g.drawRect(r.x, r.y, r.width, r.height);
}
if (actrect.x > 0 || actrect.y > 0) {
g.drawRect(
actrect.x,
actrect.y,
actrect.width,
actrect.height
);
}
}
class MyMouseListener
extends MouseAdapter
{
public void mousePressed(MouseEvent event)
{
actrect = new Rectangle(event.getX(),event.getY(),0,0);
}
public void mouseReleased(MouseEvent event)
{
if (actrect.width > 0 || actrect.height > 0) {
drawlist.addElement(actrect);
}
repaint();
}
}
class MyMouseMotionListener
extends MouseMotionAdapter
{
public void mouseDragged(MouseEvent event)
{
int x = event.getX();
int y = event.getY();
if (x > actrect.x && y > actrect.y) {
actrect.width = x - actrect.x;
actrect.height = y - actrect.y;
}
repaint();
}
}
class MyWindowListener
extends WindowAdapter
{
public void windowClosing(WindowEvent event)
{
setVisible(false);
dispose();
System.exit(0);
}
}
}
Zuletzt bearbeitet von einem Moderator: