Hallo,
ich brauch mal wieder eure Hilfe.
Ich füge einem JPanel mehrere JTrees hinzu, das panel hat ein BoxLayout wobei die Jtrees untereinander hinzugefügt werden.
Das blöde daran ist, die Jtrees brauchen/verwenden zu viel platz obwohl sie klein sind, unter jeden Jtree wird noch extra space hinzugefügt.
Wenn ich alle Jtrees über die Wurzel zuklappe, sollten alle Wurzeln genau unter einander erscheinen, jedoch sind auch dann riesen Freiräume zwischen den Wurzeln...
Daraufhin habe ich mal das GridBagLayout versucht, dort werden die Jtrees "behandelt" so wie ich es haben will, sprich die Jtrees nehmen nur soviel Platz weg wie groß sie aktuell sind, wenn ich ein Jtree über einem anderen expandiere rutscht das untere weiter nach unten, wenn ich alle Wurzeln zuklappe, dann sind alle Wurzeln genau untereinander...soweit so gut.
Das Problem ist leider, das die Jtrees zentriert in dem Panel dargestellt werden, wenn ich das Fenster vergrößere bleiben die Elemente immer mittig,
ich möchte aber dass die Elemente oben Links anfangen also in (0,0) in dem Panel und jeweils so links gebunden untereinander eingefügt werden.
Lieder gelingt mir dies nicht, habe schon alles möglich versucht, mit .anchor = GridBagConstraints.LINE_START; .fill = GridBagConstraints.BOTH; es geht nicht...
Ich hoffe, dass mir jemand weiterhelfen kann...
Vielen Dank vorab.
ich brauch mal wieder eure Hilfe.
Ich füge einem JPanel mehrere JTrees hinzu, das panel hat ein BoxLayout wobei die Jtrees untereinander hinzugefügt werden.
Das blöde daran ist, die Jtrees brauchen/verwenden zu viel platz obwohl sie klein sind, unter jeden Jtree wird noch extra space hinzugefügt.
Wenn ich alle Jtrees über die Wurzel zuklappe, sollten alle Wurzeln genau unter einander erscheinen, jedoch sind auch dann riesen Freiräume zwischen den Wurzeln...
Daraufhin habe ich mal das GridBagLayout versucht, dort werden die Jtrees "behandelt" so wie ich es haben will, sprich die Jtrees nehmen nur soviel Platz weg wie groß sie aktuell sind, wenn ich ein Jtree über einem anderen expandiere rutscht das untere weiter nach unten, wenn ich alle Wurzeln zuklappe, dann sind alle Wurzeln genau untereinander...soweit so gut.
Das Problem ist leider, das die Jtrees zentriert in dem Panel dargestellt werden, wenn ich das Fenster vergrößere bleiben die Elemente immer mittig,
ich möchte aber dass die Elemente oben Links anfangen also in (0,0) in dem Panel und jeweils so links gebunden untereinander eingefügt werden.
Lieder gelingt mir dies nicht, habe schon alles möglich versucht, mit .anchor = GridBagConstraints.LINE_START; .fill = GridBagConstraints.BOTH; es geht nicht...
Java:
static void addComponent( Container cont,
GridBagLayout gbl,
Component c,
int x, int y,
int width, int height,
double weightx, double weighty )
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = x; gbc.gridy = y;
gbc.gridwidth = width; gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;
gbl.setConstraints( c, gbc );
cont.add( c );
}
....
GridBagLayout gbl = new GridBagLayout();
myPanel.setLayout(gbl);
for(int i=0;i<myBundles.size();i++){
JTree tmp = createTree(i);
if(tmp!=null){
addComponent( myPanel, gbl,tmp,0,i,1,1,0,0);
}
}
Ich hoffe, dass mir jemand weiterhelfen kann...
Vielen Dank vorab.