Hallo Schaich,
kann mir einer sagen wie ich die paint()-Mathode erst nach einem knopfdruck ausführen kann??
Wenn Du sowas machen willst, hast Du das Konzept von Swing (bzw. sehr vielen GUI-Toolkits) nicht verstanden.
paint() ist dazu da, eine Komponente (oder Teile davon) entsprechend des aktuellen Zustands neu zu zeichnen. Wann das erforderlich ist, kannst Du gar nicht so direkt wissen. Es hängt davon ab, ob die Komponente überhaupt zu sehen ist. Du kannst lediglich mit "repaint()" das Zeichnen neu anstoßen, wenn Du z.B. etwas am Zustand der Komponente geändert hast.
Die Lösung ist also so etwas:
Du versiehst Deine Komponente mit einem Feld (private boolean buttonClicked = false) und einer Methode, das zu ändern:
public void wasClicked() {
buttonClicked = true;
repaint();
}
Dann kannst Du paint() so implementieren:
public void paint(...) {
if (buttonClicked) {
// irgendwas zeichnen.
}
}
Natürlich ist es normalerweise nicht sinnvoll, als Zustand einer Komponente abzuspeichern, dass irgend welche Buttons angeclickt wurden.
Da sollte man irgend etwas verwenden, was der Bedeutung der Komponente entspricht und diesen Zustand dann beim Click auf den Button entsprechend ändern.
Grüße
Daniel