Hallo,
ich schreibe gerade zum ersten mal eine Oberfläche mit dem GridBagLayout. Nach der Lektüre des Sun Tutorials dachte ich gewappnet zu sein, aber ich bekomme nicht hin, dass das GridBagLayout den ganzen Platz nutzt, statt dessen patscht es alle Komponenten zusammen. Und das obwohl ich weightx/y genutzt habe...
Hier mal mein Code:
(im JFrame)
(im als centerPanel hinzugefügte JPanel)
Wenn ichs raus hab, dann schreib ich im zweiten Codeabschnitt nochmal alles mit GridBagLayout.
Das Problem ist, dass zwar das beim JFrame das centerPanel so viel Platz bekommt wie es soll (fast das ganze Fenster bis auf den Streifen unten, in dem die InformationBar liegt), der Platz vom als centerPanel hinzugefügten JPanel aber nicht genutzt wird, sondern nur oben in der Mitte die ganzen Komponenten zusammen gepatscht liegen....
Danke schonmal
Felix
EDIT: Bildschirmfoto vom JFrame
ich schreibe gerade zum ersten mal eine Oberfläche mit dem GridBagLayout. Nach der Lektüre des Sun Tutorials dachte ich gewappnet zu sein, aber ich bekomme nicht hin, dass das GridBagLayout den ganzen Platz nutzt, statt dessen patscht es alle Komponenten zusammen. Und das obwohl ich weightx/y genutzt habe...
Hier mal mein Code:
(im JFrame)
Java:
this.getContentPane().setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0; gbc.gridy = 0;
gbc.fill = GridBagConstraints.BOTH;
gbc.insets = new Insets(0, 0, 5, 0);
gbc.weightx = 1.0; gbc.weighty = 1.0;
this.getContentPane().add(centerPanel, gbc);
gbc = new GridBagConstraints();
gbc.gridx = 0; gbc.gridy = 1;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1.0; gbc.weighty = 0.0;
this.getContentPane().add(informationbar, gbc);
(im als centerPanel hinzugefügte JPanel)
Java:
JPanel centerpanel = new JPanel();
centerpanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.insets = new Insets(0, 0, 0, 15);
gbc.anchor = GridBagConstraints.LINE_END;
gbc.weightx = 0.0;
gbc.weighty = 1.0;
centerpanel.add(new JLabel(imageicon), gbc);
gbc = new GridBagConstraints();
gbc.gridx = 1;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.CENTER;
gbc.weightx = 1.0;
gbc.weighty = 1.0;
gbc.fill = GridBagConstraints.HORIZONTAL;
centerpanel.add(information, gbc);
this.setLayout(new BorderLayout());
this.add(centerpanel, BorderLayout.CENTER);
this.add(buttonpanel, BorderLayout.SOUTH);
Wenn ichs raus hab, dann schreib ich im zweiten Codeabschnitt nochmal alles mit GridBagLayout.
Das Problem ist, dass zwar das beim JFrame das centerPanel so viel Platz bekommt wie es soll (fast das ganze Fenster bis auf den Streifen unten, in dem die InformationBar liegt), der Platz vom als centerPanel hinzugefügten JPanel aber nicht genutzt wird, sondern nur oben in der Mitte die ganzen Komponenten zusammen gepatscht liegen....
Danke schonmal
Felix
EDIT: Bildschirmfoto vom JFrame
Anhänge
Zuletzt bearbeitet: