swing
Layoutverwaltung
Suche…
Rahmenlayout
import static java.awt.BorderLayout.*;
import javax.swing.*;
import java.awt.BorderLayout;
JPanel root = new JPanel(new BorderLayout());
root.add(new JButton("East"), EAST);
root.add(new JButton("West"), WEST);
root.add(new JButton("North"), NORTH);
root.add(new JButton("South"), SOUTH);
root.add(new JButton("Center"), CENTER);
JFrame frame = new JFrame();
frame.setContentPane(root);
frame.pack();
frame.setVisible(true);
Das Randlayout ist einer der einfachsten Layoutmanager. JPanel
einen Layout-Manager zu verwenden, können Sie den Manager eines JPanel
.
Border Layout-Slots folgen den folgenden Regeln:
- Norden und Süden: bevorzugte Höhe
- Osten und Westen: bevorzugte Breite
- Mitte: maximal verbleibender Speicherplatz
In BorderLayout
Slots auch leer sein. Der Layout-Manager wird Leerstellen automatisch ausgleichen und bei Bedarf die Größe ändern.
So sieht dieses Beispiel aus:
Flusslayout
import javax.swing.*;
import java.awt.FlowLayout;
public class FlowExample {
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(new JButton("One"));
panel.add(new JButton("Two"));
panel.add(new JButton("Three"));
panel.add(new JButton("Four"));
panel.add(new JButton("Five"));
JFrame frame = new JFrame();
frame.setContentPane(Panel);
frame.pack();
frame.setVisible(true);
}
});
}
}
Das Flow-Layout ist der einfachste Layout-Manager, den Swing zu bieten hat. Das Flow-Layout versucht, alles in einer Zeile zu platzieren. Wenn das Layout die Breite überläuft, wird die Zeile umbrochen. Die Reihenfolge wird durch die Reihenfolge angegeben, in der Sie Ihrem Panel Komponenten hinzufügen.
Screenshots:
Gitterstruktur
Mit dem GridLayout
können Sie Komponenten in Form eines Gitters anordnen.
Sie passieren die Anzahl der Zeilen und Spalten Sie das Raster auf denen haben wollen GridLayout
‚s Konstruktor, zum Beispiel new GridLayout(3, 2)
ein erstellen GridLayout
mit drei Zeilen und 2 Spalten.
Beim Hinzufügen von Komponenten zu einem Container mit dem GridLayout
werden die Komponenten Zeile für Zeile von links nach rechts hinzugefügt:
import javax.swing.*;
import java.awt.GridLayout;
public class Example {
public static void main(String[] args){
SwingUtilities.invokeLater(Example::createAndShowJFrame);
}
private static void createAndShowJFrame(){
JFrame jFrame = new JFrame("Grid Layout Example");
// Create layout and add buttons to show restraints
JPanel jPanel = new JPanel(new GridLayout(2, 2));
jPanel.add(new JButton("x=0, y=0"));
jPanel.add(new JButton("x=1, y=0"));
jPanel.add(new JButton("x=0, y=1"));
jPanel.add(new JButton("x=1, y-1"));
jFrame.setContentPane(jPanel);
jFrame.pack();
jFrame.setLocationRelativeTo(null);
jFrame.setVisible(true);
}
}
Dadurch wird ein JFrame
erstellt und JFrame
, der wie JFrame
aussieht:
Eine ausführlichere Beschreibung ist verfügbar: GridLayout