Einführung in BorderLayout in Java

BorderLayout in Java oder der Layout-Manager ist ein Objekt, das jedes Containerobjekt besitzt und dessen Layout, dh Größe und Position der Komponenten, steuert. In der Sprache der Laien werden diese Layout-Manager verwendet, um die Komponenten auf eine bestimmte oder spezifische Weise anzuordnen. 'LayoutManager' kann als Schnittstelle bezeichnet werden, die von allen Klassen implementiert wird. Es gibt einige AWT- und SWING-Klassen, die als Layout-Manager für die allgemeine Verwendung bereitgestellt wurden. Einige von ihnen sind unten aufgeführt:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. FlowLayout
  5. Gruppenlayout
  6. GridLayout usw

Bevor wir zu BorderLayout übergehen, wollen wir einige Punkte besprechen.

Fast alles in der Computerwelt ist hierarchisch organisiert, entweder zur besseren Speicherung oder zur Schaffung eines einfachen Abrufsystems. Layout-Manager, die zum Erstellen von GUIs mit verfügbaren AWT-Klassen verwendet werden, sind Teil eines solchen hierarchischen Systems. Es heißt Containment Hierarchy. Obwohl der Schwerpunkt dieses Artikels auf einem der verfügbaren Layout-Manager namens BorderLayout liegt, sollten wir vorher wissen, wo BorderLayout in dieser Hierarchie steht. Unsere Baumstruktur, die Frames, GUI-Komponenten, Container usw. durchläuft, beginnt mit:

  1. Erstens ein Container der obersten Ebene oder eine Containerklasse der obersten Ebene wie JFrame, JApplet oder JDialog, die als 'ROOT' dieser Containment-Hierarchie fungiert.
  2. Damit eine Komponente auf dem Bildschirm als GUI-Komponente angezeigt wird, muss sie in der Containment-Hierarchie enthalten sein.
  3. Drittens muss oder wird eine Komponente nur in einem Container enthalten sein.
  4. Viertens hat jeder Container der obersten Ebene einen Inhaltsbereich, in dem jede (direkt oder indirekt) sichtbare GUI enthalten ist.

Was ist BorderLayout?

Eine BorderLayout-Klasse ist eine der Layout-Manager-Klassen, die als Standardlayout für Fensterobjekte angesehen wird. Die Fensterobjekte wie JFrame, JWindow und JDialog verwenden diese Klasse, um als GUI-Komponenten angezeigt zu werden. BorderLayout wird zum Layouten eines Containers verwendet, dh zum Anordnen und Ändern der Größe seiner Komponenten. Das Rahmenlayout ordnet diese Komponenten in fünf verschiedene Regionen. Von fünf Regionen oder Gebieten werden vier als Norden, Süden, Osten und Westen bezeichnet, und die mittlere Region wird als Zentrum bezeichnet. Jede Region darf nur eine Komponente enthalten. Das Rahmenlayout bietet eine Sammlung von Konstanten, die zum Positionieren von Komponenten verwendet werden. Die hier diskutierten Regionen sind durch eine entsprechende Konstante mit den Namen NORTH, SOUTH, EAST, WEST und die Konstante für die mittlere Region als CENTER gekennzeichnet. Wir verwenden diese Konstanten beim Hinzufügen einer Komponente mithilfe eines Rahmenlayouts. Die Konstanten für jede in unserem Code verwendete Region sind nachfolgend aufgeführt:

  • public static final int NORTH: Die Nord-Layoutkonstante oben im Container.
  • public static final int SOUTH: Die Süd-Layoutkonstante am unteren Rand des Containers.
  • public static final int CENTER: Die Center-Layoutkonstante in der Mitte des Containers.
  • public static final int WEST: Die West-Layoutkonstante rechts vom Container.
  • public static final int EAST: Die Ost-Layoutkonstante links vom Container.

Zusätzlich zu den oben aufgeführten Konstanten bietet BorderLayout auch andere Positionierungskonstanten wie PAGE_START, PAGE_END usw.

BorderLayout-Konstruktoren

BorderLayout-Konstruktoren werden verwendet, um neue Rahmenlayouts mit Lücken oder ohne Lücken zwischen den Komponenten zu erstellen. Der Konstruktor für das Rahmenlayout verwendet Lücken- und Lückenparameter, um horizontale und vertikale Lücken zwischen den Komponenten anzugeben. Die Border-Layout-Konstruktoren werden nachfolgend erläutert:

Wir werden sie einzeln mit ihren Beispielen besprechen.

1. BorderLayout ()

Mit der BorderLayout-Klasse wird ein Rahmenlayout ohne Lücken zwischen den Komponenten erstellt. Es folgt ein Beispielcode mit dem Konstruktor BorderLayout (). Das folgende Programm erstellt Komponenten in einem JFrame, dessen Instanzklasse 'border' lautet. Sie können im Screenshot unten (nach dem Code) sehen, dass es fünf Regionen gibt.

Unser Code hat mit fünf JButton fünf Regionen erstellt, die dann mit einer add () -Methode zum Layout oder JFrame hinzugefügt werden. Die Größe und Sichtbarkeit werden für den JFrame separat festgelegt. Die setSize () -Methode wird verwendet, um die Größe für den Rahmen festzulegen, und die set visible () -Methode wird verwendet, um die Sichtbarkeit des Rahmens festzulegen.

Code

//Java Program illustrating the BorderLayout
import java.awt.*;
import javax.swing.*;
public class border
(
JFrame JF;
border()
(
JF=new JFrame(); //JFrame object
//Lying at top, will be the button named 'North'
JButton b1=new JButton("NORTH");
//Lying at bottom, will be the button named 'South'
JButton b2=new JButton("SOUTH");
//Lying at left, will be the button named 'East'
JButton b3=new JButton("EAST");
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
//In the center, will be the button named 'Center'
JButton b5=new JButton("CENTER");
//Adding our buttons
JF.add(b1, BorderLayout.NORTH);
JF.add(b2, BorderLayout.SOUTH);
JF.add(b3, BorderLayout.EAST);
JF.add(b4, BorderLayout.WEST);
JF.add(b5, BorderLayout.CENTER);
//Function to set size of the Frame
JF.setSize(300, 300);
//Function to set visible status of the frame
JF.setVisible(true);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
new border();
)
)

Im folgenden Screenshot sehen Sie, wie der Code im Texteditor aussieht. Ich habe Eclipse als Texteditor verwendet.

Wenn der Code ausgeführt wird, wird die folgende Ausgabe angezeigt.

Ausgabe:

2. BorderLayout (int hgap, int vgap)

BorderLayout (int hgap, int vgap) wird auch als BorderLayout (int, int) geschrieben, um ein Rahmenlayout mit den angegebenen horizontalen (hgap) und vertikalen (vgap) Lücken oder Zwischenräumen zu erstellen. Dies ist ein Beispielcode unter Verwendung von BorderLayout ( int, int) Konstruktor. Das folgende Programm erstellt Komponenten in einem JFrame, dessen Instanzklasse auf ähnliche Weise wie oben 'border' ist, jedoch vertikale und horizontale Lücken aufweist. Sie können im Screenshot unten sehen (nach dem Code).

Unser Code hat fünf Regionen mit Lücken zwischen ihnen mithilfe der Parameter vgap und hgap in BorderLayout () erstellt. Die Größe und Sichtbarkeit werden für den JFrame erneut separat festgelegt. Die setSize () -Methode wird verwendet, um die Größe für den Rahmen festzulegen, und die set visible () -Methode wird verwendet, um die Sichtbarkeit des Rahmens festzulegen.

Sie können den Code zum Generieren eines Frames mit BorderLayout mit den Parametern vgap und hgap sehen, wobei Lücken oder Leerzeichen zwischen den Regionen erzeugt werden.

Code

//Java Program illustrating the BorderLayout with SPACES between COMPONENTS
import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Color;
public class borderlayout_spaces extends Frame
(
public borderlayout_spaces(String title)
(
super(title);
setLayout(new BorderLayout(20, 30));
//setBackground(Color.RED);
//Lying at top, will be the button named 'North'
JButton b1=new JButton("North");
add(b1, BorderLayout.NORTH);
//Lying at left, will be the button named 'East'
JButton b2=new JButton("EAST");
add(b2, BorderLayout.EAST);
//In the center, will be the button named 'Center'
JButton b3=new JButton("CENTER");
add(b3, BorderLayout.CENTER);
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
add(b4, BorderLayout.WEST);
//Lying at bottom, will be the button named 'South'
JButton b5=new JButton("SOUTH");
add(b5, BorderLayout.SOUTH);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
borderlayout_spaces screen =
new borderlayout_spaces("Border Layout");
screen.setSize(300, 300); //Function to set size of the Frame
screen.setVisible(true); //Function to set visible status of
the frame
)
)

Im folgenden Screenshot sehen Sie, wie der Code im Texteditor aussieht.

In der Codezeile "setLayout (new BorderLayout (20, 30);" wird die Ausgabe wie in der folgenden Abbildung dargestellt. Hier ist 20 der horizontale Raum und 30 der vertikale Raum.

Wenn der Code ausgeführt wird, wird die folgende Ausgabe angezeigt.

Ausgabe:

Sie können auch andere Eigenschaften ausprobieren, z. B. die Hintergrundfarbe festlegen. Wenn Sie im obigen Code eine kommentierte Codezeile als "setBackground (Color.RED)" sehen und diesen Code ohne Kommentar versuchen, wird Ihr Rahmen wie folgt angezeigt:

Neben dem Rahmenlayout gibt es andere häufig verwendete Methoden, wie z.

  1. toString (): Gibt eine Zeichenfolge zurück, die den Status des Rahmenlayouts darstellt.
  2. getVgap (): Gibt den vertikalen Abstand zwischen den Komponenten zurück.
  3. getHgap (): Gibt den horizontalen Abstand zwischen den Komponenten zurück.
  4. setVgap (int vgap): Hiermit wird der vertikale Abstand zwischen den Komponenten eingestellt.
  5. setHgap (int hgap): Hiermit wird der horizontale Abstand zwischen den Komponenten usw. eingestellt.

In diesem Artikel wurden einige der leistungsstarken LayoutManager erläutert, mit denen Sie Ihre Windows-Frames und -GUIs gestalten können. Der Artikel befasste sich auch mit dem Schreiben von Code-Layouts mit zwei verschiedenen Konstruktoren, die als java.awt.BorderLayout-Klasse und java.awt.BorderLayout-Klasse (int, int) bezeichnet werden. Dies hätte eine Herausforderung darstellen können. Aber du solltest versuchen, es zu versuchen. Wenn nicht, können Sie den Layout-Manager java.awt.GroupLayout verwenden. Sie können neben Ihrem Layout-Manager auch ein Erstellungstool verwenden, z. B. NetBeans IDE, ein hervorragendes Tool zum Erstellen Ihrer GUI.

Empfohlene Artikel

Dies ist eine Anleitung zu BorderLayout in Java. Hier diskutieren wir eine Einführung in BorderLayout in Java, BorderLayout-Konstruktoren mit Codes und Ausgaben. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren.

  1. Layout in Java
  2. Rasterlayout in Java
  3. Variablen in Java
  4. Konstruktor in Java kopieren
  5. HTML-Layout