Højdejustering af "indlejrede" JPanel's
Jeg forsøger at lave en applikation, hvor jeg bruger flere JPanel's indlejret i hinanden vha. GridLayout.Nedenstående illustrerer på simpel vis tankegangen:
...
jPanel1.setLayout(new java.awt.GridLayout(2, 1));
jPanel1.add(jPanel2);
jPanel1.add(jPanel3);
jPanel2.setLayout(new java.awt.GridLayout(1, 2));
jPanel2.add(jPanel4);
jPanel2.add(jPanel5);
jPanel5.setLayout(new java.awt.GridLayout(2, 1));
jPanel5.add(jPanel6);
jPanel5.add(jPanel7);
...
Opbygningen sker altså på flg. vis:
*******************
* *
* *
* *
* 1 *
* *
* *
* *
*******************
*******************
* *
* 2 *
* *
*******************
* *
* 3 *
* *
*******************
*******************
* * *
* 4 * 5 *
* * *
*******************
* *
* 3 *
* *
*******************
*******************
* * 6 *
* 4 **********
* * 7 *
*******************
* *
* 3 *
* *
*******************
Problemstillingen er nu flg.:
Jeg ønsker som udgangspunkt at alle JPanel's skal have samme højde (lad os kalde denne højde for 1), med mindre det pågældende JPanel "gaber" over flere andre JPanel's.
I eksemplet er det altså meningen, at JPanel3 skal have reduceret højden, idet JPanel3 ikke gaber over andre JPanel's, mens JPanel4 skal have højde 2, da denne gaber over 2 andre JPanel's. Hvis ikke jeg specificerer noget i min kode, bliver resultatet som vist.
Jeg har eksperimenteret lidt med JPanel3.setMaximumSize og JPanel3.setMinimumSize men uden held (ingen effekt overhovedet?).
Men, men..jeg er selvsagt heller ikke begejstret for at skulle kode for meget for at løse problemet, da min GridLayout gerne skulle kunne håndtere situationen.
Er der en nem måde at håndtere dette på?
Det skal yderligere bemærkes, at JPanel1 er "indlejret" i en JFrame.
