Hallo,
meinem Panel, welches sich auf die gesamte Framegröße ausdehnt, sollen auf einen Button-Click hin, mehrere Komponenten hinzugefügt werden. Diese Komponenten sind alle in einer Zeile angeordnet.
Also z.B.
JLabel JComboBox JLabel JComboBox
bei jedem Button-Click soll eine solche Zeile hinzugefügt werden
JLabel JComboBox JLabel JComboBox
JLabel JComboBox JLabel JComboBox
JLabel JComboBox JLabel JComboBox
...
Das bekomme ich mit dem GridBagLayout auch schon fast hin. Mein Problem ist jetzt "nur" noch, dass dieser Block von Komponenten am oberen Ende meines Panels erscheinen soll. Ich weiß, dass ich dazu weighty setzen muss. Allerdings muss weighty immer in der letzten Zeile gesetzt sein und in den anderen nicht. Die letzte Zeile ändert sich aber mit jedem Button-Click.
Habe schon versucht für die entsprechende Komponente in der letzten Zeile die Funktionen GridBagLayout::get- und setConstraints zu verwende, um weighty auf 0 zurück zu setzten, bevor ich die neue Zeile hinzufüge. Hat aber nicht geklappt.
Kann mir jemand sagen, wie das zu machen ist?
Danke schonmal,
markus
meinem Panel, welches sich auf die gesamte Framegröße ausdehnt, sollen auf einen Button-Click hin, mehrere Komponenten hinzugefügt werden. Diese Komponenten sind alle in einer Zeile angeordnet.
Also z.B.
JLabel JComboBox JLabel JComboBox
bei jedem Button-Click soll eine solche Zeile hinzugefügt werden
JLabel JComboBox JLabel JComboBox
JLabel JComboBox JLabel JComboBox
JLabel JComboBox JLabel JComboBox
...
Das bekomme ich mit dem GridBagLayout auch schon fast hin. Mein Problem ist jetzt "nur" noch, dass dieser Block von Komponenten am oberen Ende meines Panels erscheinen soll. Ich weiß, dass ich dazu weighty setzen muss. Allerdings muss weighty immer in der letzten Zeile gesetzt sein und in den anderen nicht. Die letzte Zeile ändert sich aber mit jedem Button-Click.
Habe schon versucht für die entsprechende Komponente in der letzten Zeile die Funktionen GridBagLayout::get- und setConstraints zu verwende, um weighty auf 0 zurück zu setzten, bevor ich die neue Zeile hinzufüge. Hat aber nicht geklappt.
Kann mir jemand sagen, wie das zu machen ist?
Danke schonmal,
markus