jpanel mit gridbaglayout neuzeichnen

zuckerbrini

Mitglied
Hi!

Ich habe ein JPanel in dem verschiedenste Textboxen, Buttons usw. enthalten sind, aber eben auch dynamisch erzeugte JCheckboxen.
Nun will ich bei Button drucken neuzeichnen, aber er zeichnet mir nur die JCheckboxen neu und lässt den Rest komplett weg.

Man Frage nun:
Was genau ist der Unterschied zwischen repaint(), validate(), doLayout() usw.?
Und wie wird wirklich mein komplettes Layout neugezeichnet, also so wie wenn ich das Programm neu starte?

Gibt es vielleicht eine Möglichekeit zu sagen zeichne einen bestimmten Bereich des GridBagLayouts neu? Irgendwie über gridx und gridy vielleicht?
 
Sers!

repaint() ist die Aufforderung zum Neuzeichnen der Komponente nach Abschluss ALLER Events.

doLayout() sorgt u.A. dafür, dass enthaltenen Komponenten den Platz bekommen, den sie benötigen.

validate() erbittet das Neuzeichen der Komponente, falls anderen Komponenten als Inhalt hinzugekommen oder entfernt wurde.

Gibt es vielleicht eine Möglichekeit zu sagen zeichne einen bestimmten Bereich des GridBagLayouts neu? Irgendwie über gridx und gridy vielleicht?

void repaint( int x, int y, int width, int height )
Erbetet Neuzeichnen der Komponente im angegebenen Bereich. Das Problem ist, das dies hier kein Erzwingen bewirkt. Dies funktioniert mit:
void update(getGraphics()).

Ich hoff das hilft etwas.
 

Neue Beiträge

Zurück