, wenn ich diese this.update tun (MyGraphics) alle meine Tasten und Textfelder sind glitched.
Nicht direkt update(...)
aufrufen. So wird kein Custom Painting gemacht.
Stattdessen, wenn Sie benutzerdefinierte Sie malen Sie die paintComponent(...)
Methode des JPanel außer Kraft setzen:
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
// add your custom painting here
}
Ich habe ein kleines Spiel mit wenig Rect, die
bewegen Wenn Sie Animation wollen Dann sollten Sie eine Swing Timer
verwenden, um die Animation zu planen. Wenn dann der Timer ausgelöst wird, rufen Sie eine Methode für Ihre benutzerdefinierte Klasse auf, um die Position des Rechtecks zu ändern, und rufen dann repaint()
auf. Dadurch wird das Panel neu gezeichnet.
Lesen Sie die Swing Tutorial. Es gibt Abschnitte auf:
- Performing Benutzerdefinierte Gemälde
- Wie Swing-Timer verwenden
Ihre begann mit grundlegenden Beispiele zu erhalten.
Sie sollten 'paintComponent (...)' überschreiben. – camickr
Dies funktioniert nicht, weil die Paint-Methode nur aktualisiert wird, wenn ich auf die nächste runde Schaltfläche klicke // Ich interagiere mit dem Jpanel, aber ich möchte, dass es ohne mich aktualisiert –
Es löste mein Problem nicht, also würde ich nein sagen –