[java] zeichnen mit swing

Hallo,

bitte Entschuldigung fuer mein Deutsch.

Mein Problem:
Ich muss Kleinigkeit in eine JPanel zeichnen (Vorgabe). Habe nur Code von AWT wie:

(g ist Graphics)

g.fillOval(x,y,h,w);

beim Starten ist sie nur ganz ganz kurz zu sehen, dann weg. Was muss ich sagen, dass sie stehen bleibt?

Vielen Dank!

Lydia

Hi Lydia,

das Problem ist, dass direkte Zeichnungen auf dem Panel nur temporär sind, also nur bis das nächste mal die paint()-Methode des Panels aufgerufen wird sichtbar sind (dies geschieht z.B. bei jeder Mausbewegung über dem Panel).

Um dauerhaft etwas zu zeichnen, musst Du eine Klasse von JPanel ableiten, die in der paint()- oder paintComponent()-Methode die Zeichnungen durchführt.

Beispiel:

class MyPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillOval(10, 10, 10, 10);
// oder was auch immer
}
}

Im Hauptprogramm benutzt Du dann statt des normalen JPanel einfach MyPanel.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]