Java GridBagLayout Abstand zum Rand bzw alle Elemente verschieben?
Ich habe 3 Knöpfe
Die untereinander sind
Jetzt möchte ich alle Knöpfe aber noch ein paar Pixel nach unten verschieben siehe bild
Ich dachte ich kann das erreichen in dem ich einen Abstand meiner Komponenten zum Oberen Rand festlege
Mein Google hat nichts ergeben, wer kann helfen
2tens Wie mache ich das das bild den ganzen Knopf ausfüllt
setLayout(new GridBagLayout());
gbc.insets = new Insets(10, 0, 10, 0);
gbc.gridy = 0;
add(button_start, gbc);
gbc.gridy = 1;
add(button_settings, gbc);
gbc.gridy = 2;
add(button_exit, gbc);
Danke sehr :)
1 Antwort
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
1)
Über die Insets kannst du das schon machen. Gib nur der ersten Zeile einen größeren Abstand nach oben und für die weiteren Zeilen verwendest du wieder den Inset wie zuvor.
gbc.insets = new Insets(100, 0, 10, 0);
gbc.gridy = 0;
gbc.insets = new Insets(10, 0, 10, 0);
// ...
2)
Du kannst Rahmen und Farben via Setter-Methoden setzen. Dies würde bspw. einen roten Button produzieren, bei dem auch der Rahmen nicht gezeichnet wird, der gezeigt wird, wenn der Button im Fokus liegt:
button.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
button.setBackground(Color.RED);
button.setFocusPainted(false);
![](https://images.gutefrage.net/media/user/Huhngut/1568027905111_nmmslarge__0_0_199_199_26ebd64023f617de16e3891dae8c68ce.jpg?v=1568027905000)
Dann habe ich ja doch richtig gelesen
Als ich es getestet habe habe ich wohl eine zu kleine zahl genommen
Danke