Hallo,
ich habe folgendes Problem.
Ich habe eine Gui mittels Borderlayout in 3 Bereiche unterteilt.
Das Problem ist mit dem linken Bereich.. Dieser soll einen JTree,ein JTable und ein Button beinhalten.
Ich dachte mir, dass man dies mittels dem Gridbaglayout lösen kann. Dies geht auch, jedoch ist die Darstellung nicht so, wie ich es mir wünsche..
Also habe ich für den linken Panel eine neue Klasse gemacht, das für die Verwaltung des Gridbaglayouts dient.
Der JTree ist in dieser Klasse...:
Bei der Klasse für den JTable wurde ähnlich verfahren.
So sieht es momentan aus:
Ich würde aber gerne den kompletten linken Bereich verkleinern, auf die Größe des JTables. Wenn ich im Border Layout dies über preferredSize mache, zerstört es den Inhalt, aber nur..
Also folgende Fragen:
Wie kriege ich es hin, dass der linke Bereich des Borderlayouts der Größe des JTables angepasst wird?
Wie kriege ich es hin, dass der JTree den kompletten Inhalts des JPanels einnimmt und nicht mittig? ist.
Vielen Dank für das Beantworten meiner Fragen!!! Und vielen Dank an jeden, der sich für mein Problem Zeit nimmt!!!
Gruß
ich habe folgendes Problem.
Ich habe eine Gui mittels Borderlayout in 3 Bereiche unterteilt.
Java:
this.setLayout(new BorderLayout());
this.add(panelLeft, BorderLayout.WEST);
this.add(panelMiddle, BorderLayout.CENTER);
this.add(panelSouth, BorderLayout.SOUTH);
Das Problem ist mit dem linken Bereich.. Dieser soll einen JTree,ein JTable und ein Button beinhalten.
Ich dachte mir, dass man dies mittels dem Gridbaglayout lösen kann. Dies geht auch, jedoch ist die Darstellung nicht so, wie ich es mir wünsche..
Also habe ich für den linken Panel eine neue Klasse gemacht, das für die Verwaltung des Gridbaglayouts dient.
Java:
public class LeftPanel extends JPanel {
...
setLayout(new GridBagLayout());
GridBagConstraints cTree = new GridBagConstraints();
GridBagConstraints cTable = new GridBagConstraints();
cTree.gridx = 1;
cTree.gridy = 1;
cTree.anchor = GridBagConstraints.FIRST_LINE_START;
add((Baum), cTree);
cTable.gridx = 1;
cTable.gridy = 2;
cTable.weightx = 1;
add((Parameter), cTable);
}
Der JTree ist in dieser Klasse...:
Java:
public class Baum extends JPanel {
public Baum(){
// Der Wurzelknoten wird hergestellt
TreeNode root = createTree();
// Der Wurzelknoten wird dem neuen JTree im Konstruktor übergeben
JTree tree = new JTree( root );
// Wurzel ist unsichtbar
tree.setRootVisible(false);
// Scrollbalken wird erstellt und der Baum drin eingebettet
this.add( new JScrollPane( tree ));
this.setMinimumSize( new Dimension (300,400) );
}
...
Bei der Klasse für den JTable wurde ähnlich verfahren.
So sieht es momentan aus:
Ich würde aber gerne den kompletten linken Bereich verkleinern, auf die Größe des JTables. Wenn ich im Border Layout dies über preferredSize mache, zerstört es den Inhalt, aber nur..
Also folgende Fragen:
Wie kriege ich es hin, dass der linke Bereich des Borderlayouts der Größe des JTables angepasst wird?
Wie kriege ich es hin, dass der JTree den kompletten Inhalts des JPanels einnimmt und nicht mittig? ist.
Vielen Dank für das Beantworten meiner Fragen!!! Und vielen Dank an jeden, der sich für mein Problem Zeit nimmt!!!
Gruß
Anhänge
Zuletzt bearbeitet: