LayoutManager Komponenten einfügen (FlowLayout, BoxLayout)

Purgator

Aktives Mitglied
Aloha,
ich würde gerne in einem FlowLayout/BoxLayout eine Komponente einfügen, also nicht unbedingt am ende sondern an einer bestimmten Position.
Da ich dazu nichts gefunden habe, denke ich das es nicht möglich ist - sehe ich das richtig, dass ich eine solche Methode selber schreiben muss?
Weil im Moment würde ich mir praktisch alle elemente des Panels merken (z.B. in einer ArrayList speichern), diese dann mittels removeAll() entfernen und dann die erste Hälfte der Komponenten hinzufügen. Danach kommt das neue Element und dann der Rest.
Das ist zwar nicht viel Code, aber erscheint mir viel Rechenarbeit für eigentlich eine einzelne add-Methode.
Gibt es eine einfachere Funktion, oder muss ich das machen wie oben beschrieben?
 
Es gibt von Container die Methode
Code:
add(Component comp, int index)
, die würde ich einfach mal ausprobieren:
Java:
JPanel panel = new JPanel(new FlowLayout());
panel.add( ... );
// ....

panel.add(new JLabel("*drängel*"), 2);
Entweder es geht oder es geht nicht 🙂 Ich weiß es ohne Ausprobieren auch nicht.
 
Danke, ich glaubs nicht, das funktioniert (mit beiden Layouts).
Hatte die Layout-Apis angeschaut ich Depp...
Vielen Dank nochmal, das macht den Code dann gleich viel schöner.
 

Zurück
Oben