GridBagLayout Java

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
 
Hi,

1. CodeTags verwenden wäre cool (+ Einrückungen und so)
2. Was heißt denn "funktioniert nicht". Niemand kann hier damit etwas anfangen. Musst schon etwas zeigen und genau beschreiben was Phase ist.
3. Auf welche Geräteklassen willst du denn, wenn du hier Swing verwendest...?
4. Hast du schon mal selbst gesucht? Es sollte mehr als genug Informationen, Beispiele etc. im Netz geben, das Zeug das du da verwendest existiert schon lange genug. Ich frage mich wie man gerade hier auf ComputerBase zum Fragen kommt.
 

Ähnliche Themen

Zurück
Oben