M
MichaelB200
Gast
Hallo,
ich bin Swing Einsteiger und habe ein seltsames Resize Problem:
Ich möchte, dass bei einem Resize (Maximieren/Wiederherstellen/mit der Maus ziehen) des Hauptfensters meiner Anwendung (JFrame) die Subkompoenten eines Panels neu angeordnet werden.
Dafür habe ich im JFrame folgenden Listener hinzugefügt:
Das seltsame daran ist: doResize wird immer ausgeführt, wenn ich das Fenster resize, das Event klappt also. Allerdings wird das Panel nicht immer aktualisiert:
Bei Maximieren/Wiederherstellen wird das Panel nicht neu angezeigt, auch bei sehr schnellem manuellem Ändern der Fenstergröße klappt es nicht.
Nur, wenn ich das Fenster "langsam" mit der Maus in der Größe verändere, klappt der automatische Resize, also das Neuanordnen der Elemente des Panels.
DoResize ordnet Buttons etc im Panel neu an:
Woran kann das liegen?
ich bin Swing Einsteiger und habe ein seltsames Resize Problem:
Ich möchte, dass bei einem Resize (Maximieren/Wiederherstellen/mit der Maus ziehen) des Hauptfensters meiner Anwendung (JFrame) die Subkompoenten eines Panels neu angeordnet werden.
Dafür habe ich im JFrame folgenden Listener hinzugefügt:
Java:
addComponentListener(new ComponentListener() {
doResize();
}
Das seltsame daran ist: doResize wird immer ausgeführt, wenn ich das Fenster resize, das Event klappt also. Allerdings wird das Panel nicht immer aktualisiert:
Bei Maximieren/Wiederherstellen wird das Panel nicht neu angezeigt, auch bei sehr schnellem manuellem Ändern der Fenstergröße klappt es nicht.
Nur, wenn ich das Fenster "langsam" mit der Maus in der Größe verändere, klappt der automatische Resize, also das Neuanordnen der Elemente des Panels.
DoResize ordnet Buttons etc im Panel neu an:
Java:
private void doResize() {
//verschiedene buttons neu positionieren
jbtn1.setLocation().... //etc
//am ende
meinFrame.validate();
meinFrame.repaint();
}
Woran kann das liegen?