JPanel Grafik clearing-und Malerarbeiten?

Ich habe eine JPanel mit einem paintComponent() Funktion. Ich nenne es einmal, dann, wenn der Benutzer auf eine andere JButton, ich werde einige-Flagge und wollen, rufen Sie diese Funktion wieder, da wird es etwas etwas anderes, nachdem das flag gesetzt ist.

Also hier ist was ich Frage mich: wie lösche ich die vorhandenen Sachen von paintComponent? Und neu zu zeichnen, muss ich nur rufen paintComponent wieder?

Derzeit versuche ich Folgendes:

flag2 = true;
repaint(); //I expect (want) paintComponent to be called again

In Farbe Komponente, mache ich Sachen wie:

if (flag2==true) {
    g.drawRect(...);
} else {
    g.drawLine(...);
}

Aber durch Tests, es scheint, wie es ist etwas falsch mit dem, was ich Tue.

Vielen Dank für jede Hilfe.

  • Sie sind sich nicht aufrufen von repaint() innerhalb der paintComponent-Methode sind Sie? Sind Sie sicher, dass die repaint () - Aufruf ist verbunden mit der Platte, die Sie wollen aktualisiert? (z.B. myPanel.repaint())?
InformationsquelleAutor JDS | 2011-08-01
Schreibe einen Kommentar