logo

BorderLayout (LayoutManagers)

Java LayoutManager

Die LayoutManager werden verwendet, um Komponenten auf eine bestimmte Weise anzuordnen. Der Java LayoutManager erleichtert uns die Steuerung der Positionierung und Größe der Komponenten in GUI-Formularen. LayoutManager ist eine Schnittstelle, die von allen Klassen von Layoutmanagern implementiert wird. Es gibt die folgenden Klassen, die die Layout-Manager repräsentieren:

  1. java.awt.BorderLayout
  2. java.awt.FlowLayout
  3. java.awt.GridLayout
  4. java.awt.CardLayout
  5. java.awt.GridBagLayout
  6. javax.swing.BoxLayout
  7. javax.swing.GroupLayout
  8. javax.swing.ScrollPaneLayout
  9. javax.swing.SpringLayout usw.

Java BorderLayout

Das BorderLayout wird verwendet, um die Komponenten in fünf Regionen anzuordnen: Norden, Süden, Osten, Westen und Mitte. Jede Region (Bereich) darf nur eine Komponente enthalten. Es ist das Standardlayout eines Rahmens oder Fensters. Das BorderLayout stellt fünf Konstanten für jede Region bereit:

wie man ein Skript ausführt
    public static final int NORTH öffentliches statisches Finale int SÜD öffentliches statisches Finale int EAST öffentliches statisches Finale int WEST öffentliches statisches final int CENTER

Konstruktoren der BorderLayout-Klasse:

    BorderLayout():Erstellt ein Randlayout, jedoch ohne Lücken zwischen den Komponenten.BorderLayout(int hgap, int vgap):erstellt ein Randlayout mit den vorgegebenen horizontalen und vertikalen Abständen zwischen den Komponenten.

Beispiel der BorderLayout-Klasse: Verwendung des BorderLayout()-Konstruktors

Dateiname: Border.java

 import java.awt.*; import javax.swing.*; public class Border { JFrame f; Border() { f = new JFrame(); // creating buttons JButton b1 = new JButton('NORTH');; // the button will be labeled as NORTH JButton b2 = new JButton('SOUTH');; // the button will be labeled as SOUTH JButton b3 = new JButton('EAST');; // the button will be labeled as EAST JButton b4 = new JButton('WEST');; // the button will be labeled as WEST JButton b5 = new JButton('CENTER');; // the button will be labeled as CENTER f.add(b1, BorderLayout.NORTH); // b1 will be placed in the North Direction f.add(b2, BorderLayout.SOUTH); // b2 will be placed in the South Direction f.add(b3, BorderLayout.EAST); // b2 will be placed in the East Direction f.add(b4, BorderLayout.WEST); // b2 will be placed in the West Direction f.add(b5, BorderLayout.CENTER); // b2 will be placed in the Center f.setSize(300, 300); f.setVisible(true); } public static void main(String[] args) { new Border(); } } 

Ausgabe:

BorderLayout-KlasseLaden Sie dieses Beispiel herunter

Beispiel der BorderLayout-Klasse: Verwendung des BorderLayout(int hgap, int vgap)-Konstruktors

Das folgende Beispiel fügt mithilfe des parametrisierten Konstruktors BorderLayout(int hgap, int gap) horizontale und vertikale Lücken zwischen Schaltflächen ein.

Dateiname: BorderLayoutExample.java

 // import statement import java.awt.*; import javax.swing.*; public class BorderLayoutExample { JFrame jframe; // constructor BorderLayoutExample() { // creating a Frame jframe = new JFrame(); // create buttons JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // creating an object of the BorderLayout class using // the parameterized constructor where the horizontal gap is 20 // and vertical gap is 15. The gap will be evident when buttons are placed // in the frame jframe.setLayout(new BorderLayout(20, 15)); jframe.add(btn1, BorderLayout.NORTH); jframe.add(btn2, BorderLayout.SOUTH); jframe.add(btn3, BorderLayout.EAST); jframe.add(btn4, BorderLayout.WEST); jframe.add(btn5, BorderLayout.CENTER); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutExample(); } } 

Ausgabe:

BorderLayout-Klasse

Java BorderLayout: Ohne Angabe der Region

Die add()-Methode der JFrame-Klasse kann auch dann funktionieren, wenn wir die Region nicht angeben. In einem solchen Fall wird nur die zuletzt hinzugefügte Komponente im Rahmen angezeigt und alle zuvor hinzugefügten Komponenten werden verworfen. Die neueste Komponente deckt den gesamten Bereich ab. Das folgende Beispiel zeigt dasselbe.

String-Verkettung Java

Dateiname: BorderLayoutWithoutRegionExample.java

 // import statements import java.awt.*; import javax.swing.*; public class BorderLayoutWithoutRegionExample { JFrame jframe; // constructor BorderLayoutWithoutRegionExample() { jframe = new JFrame(); JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // horizontal gap is 7, and the vertical gap is 7 // Since region is not specified, the gaps are of no use jframe.setLayout(new BorderLayout(7, 7)); // each button covers the whole area // however, the btn5 is the latest button // that is added to the frame; therefore, btn5 // is shown jframe.add(btn1); jframe.add(btn2); jframe.add(btn3); jframe.add(btn4); jframe.add(btn5); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutWithoutRegionExample(); } } 

Ausgabe:

BorderLayout-Klasse