Neu zu Swing, aber nicht zu Java. Ich versuche folgendes:Grundlegende Java Swing JFrame Repainting
public void actionPerformed(ActionEvent e) {
methodA();
pane.repaint();
methodB();
pane.repaint();
}
Wo methodB() lange dauert. Ich möchte es zweimal malen, aber der erste Malaufruf passiert nie. Es ist, als wenn ich es täte:
public void actionPerformed(ActionEvent e) {
methodA();
methodB();
pane.repaint();
}
Sorry, wenn diese grundlegende, aber ich habe versucht, die Suche und ich verstehe immer noch nicht, warum.
Ich habe versucht, Farbe direkt anzurufen, die wie vorgesehen funktioniert, außer dass die Anwendung auf jedem Repaint flackert.
Unterschiedliches Szenario, verschiedene Aufrufe, aber gleiches Verhalten und gleiche Lösung: [Java Swing GUI friert ein] (https://stackoverflow.com/questions/11185485/java-swing-guifreezes) – BackSlash
'repaint()' ist eine Anfrage, die Komponente _soon_ (nicht sofort) zu malen. Aber wenn 'methodB' lange dauert, hält es den Ereignisversand-Thread hoch und nichts wird neu gezeichnet, bis es fertig ist. Erwäge, 'methodB' in einem anderen Thread auszuführen. – khelwood