Hallo,
habe gerade erst angefangen mit Java Swing zu arbeiten.
Habe ein Frame mit GridBagLayout, in dem zwei Panel sind. Das erste (oben) soll 4/5 des Fensters einnehmen, das zweite (unten, weiß) dementsprechend 1/5.
Das klappt auch soweit ganz gut.
Dem unteren Panel, welches FlowLayout hat, möchte ich nun Buttons hinzufügen, was auch klappt, aber leider wird dann immer die Größe des Panels nach oben vergrößert, und das möchte ich so nicht.
Leider finde ich auch keine Lösung für dieses Problem und hoffe, hier kann mir jemand helfen. Würde mich sehr freuen und bedanke mich schonmal im voraus.
Hier mal der Code meiner Klasse:
public class EinfachesGUI extends JFrame {
//Deklarationen
GridBagConstraints gbc = new GridBagConstraints();
public GUI() {
getContentPane().setLayout(new GridBagLayout());
setSize(this.getToolkit().getScreenSize().width,this.getToolkit().getScreenSize().height);
gbc.anchor = gbc.WEST;
JPanel anzeige = new JPanel();
addGB(anzeige, 0, 0, GridBagConstraints.REMAINDER, 1, GridBagConstraints.BOTH, 1.0, 0.8);
JPanel p = new JPanel();
p.setBackground(Color.white);
p.setLayout(new FlowLayout(1, 10, 10));
addGB(p, GridBagConstraints.RELATIVE, 0, GridBagConstraints.REMAINDER, GridBagConstraints.REMAINDER, GridBagConstraints.BOTH, 1.0, 0.2);
JButton b = new JButton("Test");
p.add(b);
}
void addGB(Component c, int row, int col, int width, int height, int fill, double weightx, double weighty) {
gbc.gridx = col;
gbc.gridy = row;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.fill = fill;
gbc.weightx = weightx;
gbc.weighty = weighty;
getContentPane().add(c, gbc);
}
public static void main (String args[]){
GUI oberflaeche = new GUI();
oberflaeche.setVisible(true);
oberflaeche.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
habe gerade erst angefangen mit Java Swing zu arbeiten.
Habe ein Frame mit GridBagLayout, in dem zwei Panel sind. Das erste (oben) soll 4/5 des Fensters einnehmen, das zweite (unten, weiß) dementsprechend 1/5.
Das klappt auch soweit ganz gut.
Dem unteren Panel, welches FlowLayout hat, möchte ich nun Buttons hinzufügen, was auch klappt, aber leider wird dann immer die Größe des Panels nach oben vergrößert, und das möchte ich so nicht.
Leider finde ich auch keine Lösung für dieses Problem und hoffe, hier kann mir jemand helfen. Würde mich sehr freuen und bedanke mich schonmal im voraus.
Hier mal der Code meiner Klasse:
public class EinfachesGUI extends JFrame {
//Deklarationen
GridBagConstraints gbc = new GridBagConstraints();
public GUI() {
getContentPane().setLayout(new GridBagLayout());
setSize(this.getToolkit().getScreenSize().width,this.getToolkit().getScreenSize().height);
gbc.anchor = gbc.WEST;
JPanel anzeige = new JPanel();
addGB(anzeige, 0, 0, GridBagConstraints.REMAINDER, 1, GridBagConstraints.BOTH, 1.0, 0.8);
JPanel p = new JPanel();
p.setBackground(Color.white);
p.setLayout(new FlowLayout(1, 10, 10));
addGB(p, GridBagConstraints.RELATIVE, 0, GridBagConstraints.REMAINDER, GridBagConstraints.REMAINDER, GridBagConstraints.BOTH, 1.0, 0.2);
JButton b = new JButton("Test");
p.add(b);
}
void addGB(Component c, int row, int col, int width, int height, int fill, double weightx, double weighty) {
gbc.gridx = col;
gbc.gridy = row;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.fill = fill;
gbc.weightx = weightx;
gbc.weighty = weighty;
getContentPane().add(c, gbc);
}
public static void main (String args[]){
GUI oberflaeche = new GUI();
oberflaeche.setVisible(true);
oberflaeche.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}