Guten Tag Experten und Neugierige,
folgendes Ansinnen habe ich: Mittels Layoutmanager (GroupLayout) sollen Panels (JPanel)
in Zeilen und Spalten mit beliebiger Anzahl angelegt werden.
Prinzipiell funktioniert es, aber nur mit festgelegter Anzahl von Zeilen und Spalten.
Folgendes schien ein Ansatz zu sein, aber es gibt unerwünschte Effekte: Die Panels haben
nichtgewollte Abstände. Dies liegt, so glaube ich, an dem wiederholten "addGroup".
Um beliebige Spalten- und Zeilenanzahl einstellen zu können, will ich Schleifen benutzen.
In etwa wie folgt:
In der angedachten Schleife wird "addGroup" jedes Mal wiederholt.
Mir ist es noch nicht gelungen eine Konstruktion zu finden, die zu oft wiederholtes "addGroup"
vermeidet.
Ist mein Verdacht richtig, daß es an "addGroup" liegt?
Hat Jemand eine Idee, wie ich das Problem (beliebige Anzahl) lösen kann?
(Ich habe den Kode knapp gehalten, weil ich denke, daß es für das Verständnis meines Problems
schon reichen könnte.)
Gespannt auf eine Antwort hofft
Gerald
folgendes Ansinnen habe ich: Mittels Layoutmanager (GroupLayout) sollen Panels (JPanel)
in Zeilen und Spalten mit beliebiger Anzahl angelegt werden.
Java:
//...
row = new SequentialGroup[rows];
row[0] = layout.createSequentialGroup();
row[0].addGroup(layout.createParallelGroup()
.addComponent(pan.get(0).getPanel()
.addComponent(pan.get(1).getPanel() ));
//u.s.w.
Prinzipiell funktioniert es, aber nur mit festgelegter Anzahl von Zeilen und Spalten.
Folgendes schien ein Ansatz zu sein, aber es gibt unerwünschte Effekte: Die Panels haben
nichtgewollte Abstände. Dies liegt, so glaube ich, an dem wiederholten "addGroup".
Java:
ParallelGroup pr1 = layout.createParallelGroup();
ParallelGroup pr2 = layout.createParallelGroup();
row[0].addGroup(pr1.addComponent(pan.get(0).getPanel()));
row[0].addGroup(pr1.addComponent(pan.get(1).getPanel()));
row[0].addGroup(pr2.addComponent(pan.get(2).getPanel()));
row[0].addGroup(pr2.addComponent(pan.get(3).getPanel()));
//u.s.w.
ParallelGroup pc = layout.createParallelGroup();
SequentialGroup sc1 = layout.createSequentialGroup();
SequentialGroup sc2 = layout.createSequentialGroup();
col[0].addGroup(pc.addGroup(sc1.addComponent(pan.get(0).getPanel())));
col[0].addGroup(pc.addGroup(sc1.addComponent(pan.get(1).getPanel())));
col[0].addGroup(pc.addGroup(sc2.addComponent(pan.get(2).getPanel())));
col[0].addGroup(pc.addGroup(sc2.addComponent(pan.get(3).getPanel())));
//u.s.w.
Um beliebige Spalten- und Zeilenanzahl einstellen zu können, will ich Schleifen benutzen.
In etwa wie folgt:
Java:
int pc[] = new int[10];
int sc[] = new int[10];
for (int h = 0; h < lenH; h++)
for (int i = 0; i < lenI; i++)
for (int j = 0; j < lenJ; j++)
col[0].addGroup(pc[h].addGroup(sc[i].addComponent(pan.get(j).getPanel())));
In der angedachten Schleife wird "addGroup" jedes Mal wiederholt.
Mir ist es noch nicht gelungen eine Konstruktion zu finden, die zu oft wiederholtes "addGroup"
vermeidet.
Ist mein Verdacht richtig, daß es an "addGroup" liegt?
Hat Jemand eine Idee, wie ich das Problem (beliebige Anzahl) lösen kann?
(Ich habe den Kode knapp gehalten, weil ich denke, daß es für das Verständnis meines Problems
schon reichen könnte.)
Gespannt auf eine Antwort hofft
Gerald