newbie2021
Newbie
- Registriert
- Okt. 2021
- Beiträge
- 1
Hey,
ich versuche mich aktuell mit dem GridBagLayout. Ich habe davor noch nichts damit gemacht. Mein Ziel: erstmal drei Panels untereinander im Verhältnis 1:3:1. Die beiden kleinern sollen eine gelben und das größere einen grauen Hintergrund haben. Später sollen in die Bereiche verschiedene Funktioanilitäten über Buttons ermöglicht werden.
Das ist mein aktueller Code, allerdings funktioniert es nicht. Ich dachte ich stelle das Verhältnis über die gridheight ein. Eine feste Pixelgröße soll es wenn möglich nicht geben, weil ich mit dem späteren Programm auf verschiedenen Geräte arbeiten möchte und sich das Layout dann nicht responsiv mit anpassen kann.
public class sframe extends JFrame implements ActionListener{
JPanel oben, mitte, unten;
public sframe() {
super ("GridBagLayout");
GridBagLayout gbl = new GridBagLayout();
setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.weightx = 90;
gbc.weighty = 100;
gbc.insets = new Insets (1,1,1,1);
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = 1; //ein Element breit
gbc.gridheight = 1;
oben = new JPanel();
oben.setBackground(Color.YELLOW);
gbl.setConstraints(oben, gbc);
add(oben);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridwidth = 1;
gbc.gridheight = 3;
mitte = new JPanel();
mitte.setBackground(Color.GRAY);
gbl.setConstraints(mitte, gbc);
add(mitte);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 1;
gbc.gridheight = 1;
unten = new JPanel();
unten.setBackground(Color.YELLOW);
gbl.setConstraints(unten, gbc);
add(unten);
}
public static void main(String[] args)
{
sframe gbl = new sframe();
gbl.setVisible(true);
}
Beste Grüße
ich versuche mich aktuell mit dem GridBagLayout. Ich habe davor noch nichts damit gemacht. Mein Ziel: erstmal drei Panels untereinander im Verhältnis 1:3:1. Die beiden kleinern sollen eine gelben und das größere einen grauen Hintergrund haben. Später sollen in die Bereiche verschiedene Funktioanilitäten über Buttons ermöglicht werden.
Das ist mein aktueller Code, allerdings funktioniert es nicht. Ich dachte ich stelle das Verhältnis über die gridheight ein. Eine feste Pixelgröße soll es wenn möglich nicht geben, weil ich mit dem späteren Programm auf verschiedenen Geräte arbeiten möchte und sich das Layout dann nicht responsiv mit anpassen kann.
public class sframe extends JFrame implements ActionListener{
JPanel oben, mitte, unten;
public sframe() {
super ("GridBagLayout");
GridBagLayout gbl = new GridBagLayout();
setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.weightx = 90;
gbc.weighty = 100;
gbc.insets = new Insets (1,1,1,1);
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = 1; //ein Element breit
gbc.gridheight = 1;
oben = new JPanel();
oben.setBackground(Color.YELLOW);
gbl.setConstraints(oben, gbc);
add(oben);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridwidth = 1;
gbc.gridheight = 3;
mitte = new JPanel();
mitte.setBackground(Color.GRAY);
gbl.setConstraints(mitte, gbc);
add(mitte);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 1;
gbc.gridheight = 1;
unten = new JPanel();
unten.setBackground(Color.YELLOW);
gbl.setConstraints(unten, gbc);
add(unten);
}
public static void main(String[] args)
{
sframe gbl = new sframe();
gbl.setVisible(true);
}
Beste Grüße