Java-JPanel zeichnen von Formen

Bin ich für die erste Zeit mit JPanel und einfache Formen zeichnen auf dem JPanel.

Habe ich code geschrieben für die Form wie diese:

public class Shape extends JPanel{

int x,y;

public Shape(int x, int y){
    this.x = x;
    this.y = y;
}

public void paint(Graphics g){
    super.paint(g);
    g.setColor(Color.black);
    g.drawRect(x, y, 20, 20);
    }
}

Habe ich eine andere Klasse wo ich mit dieser Form. Es erweitert JFrame und implementiert MouseListener. Auf dieses JFrame habe ich die JPanel es heißt einfach "Systemsteuerung".

Habe ich die Methode liest die position des Mauszeigers und zeichnet die Form auf die "Systemsteuerung".

public void mouseClicked(MouseEvent e){
    Shape shape = new Shape(e.getX(),e.getY());
    panel.add(shape);
    panel.revalidate();
    panel.repaint();
}

Das problem ist, dass es nicht ziehen Sie die Form auf der Koordinate wo meine Maus ist. Es zieht nur am panel an der oberen Seite und zieht Sie in eine Linie.

Danke für Eure Antworten.

InformationsquelleAutor Steve | 2012-12-22
Schreibe einen Kommentar