Gibt es eine Möglichkeit, über eine Liste von Komponenten zu iterieren und sie zu einer ParallelGroup in Swing GroupLayout hinzuzufügen?Wie fügt man iterativ Komponenten zu einer Swing GroupLayout ParallelGroup hinzu?
Es scheint schwierig, weil es keine Methode gibt, die ParallelGroup zu erhalten.
Hier ist der Code zum Generieren einer Liste von Komponenten (in diesem Fall JCheckBoxes).
List<JCheckBox> listCustomiseJCB = new ArrayList<>();
for (int w = 0; w < initialCMTableColumns.size(); w++) {
String heading = (String)initialCMTableColumns.get(w).getHeaderValue();
listCustomiseJCB.add(new JCheckBox(heading));
}
Die Liste funktioniert, aber wie kann ich über die Liste iterieren jede JCheckBox in ein Grouplayout der Parallelgruppe einfügen? Zum Beispiel wird der folgende Code nicht kompiliert.
GroupLayout gl = new GroupLayout(jpnlCustomise);
jpnlCustomise.setLayout(gl);
gl.setAutoCreateContainerGaps(true);
gl.setAutoCreateGaps(true);
GroupLayout.SequentialGroup hGroup = gl.createSequentialGroup();
hGroup
.addComponent(jbtnApply);
hGroup.addGroup(gl.createParallelGroup(GroupLayout.Alignment.CENTER)
// ERRORS BEGIN HERE
{ for (JCheckBox c: listCustomiseJCB) {
.addComponent(c);
}});
// ERRORS END HERE
hGroup
.addComponent(jbtnCancel);
gl.setHorizontalGroup(hGroup);
Alternativ kennt jemand eine Möglichkeit, hält eine Parallelgruppe zu bekommen, so dass ich iterativ Komponenten diese Gruppe in einem Standalone-for-Schleife hinzufügen könnte?
+1 für den Einsatz von Grouplayout, der besten, aber am wenigsten genutzte Layout-Manager IMHO. – Adam
Danke. Ich mag GroupLayout auch, es ist so effektiv! – Arvanem
Es gibt ein (weniger flexibles) Beispiel [hier] (http://stackoverflow.com/a/8504753/230513). – trashgod