Introduzione a BorderLayout in Java

BorderLayout in Java o il gestore del layout è un oggetto che ogni oggetto contenitore ha, che controlla il suo layout, cioè la dimensione e la posizione dei componenti. In linguaggio profano, questi gestori di layout vengono utilizzati per disporre i componenti in un modo particolare o specifico. 'LayoutManager' può essere definito come un'interfaccia implementata da tutte le sue classi. Ci sono alcune classi AWT e SWING che sono state fornite come gestori di layout per uso generale. Alcuni di questi sono elencati di seguito:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. FlowLayout
  5. GroupLayout
  6. GridLayout, ecc

Prima di passare a BorderLayout supponiamo di discutere alcuni punti.

Quasi tutto nel mondo dei computer è organizzato gerarchicamente per una migliore memorizzazione o per creare un sistema di recupero semplice. I gestori layout utilizzati per la creazione di GUI utilizzando le classi AWT disponibili fanno parte di uno di questi sistemi gerarchici. Si chiama Gerarchia del contenimento. Sebbene il focus di questo articolo sarà su uno dei LayoutManager disponibili noto come BorderLayout, prima di questo dovremmo sapere dove si trova BorderLayout in questa Gerarchia. La nostra struttura ad albero che attraversa frame, componenti della GUI, container, ecc. Inizia con:

  1. Innanzitutto, un contenitore di livello superiore o una classe di contenitore di livello superiore come JFrame, JApplet o JDialog, che funge da "ROOT" di questa gerarchia di contenimento.
  2. In secondo luogo, affinché un componente appaia sullo schermo come componente GUI, deve essere incluso nella gerarchia di contenimento.
  3. Terzo, un componente deve essere o sarà contenuto in un solo contenitore.
  4. In quarto luogo, ogni contenitore di livello superiore avrà un riquadro del contenuto, parlando in modo approssimativo, ogni GUI visibile (direttamente o indirettamente) è contenuta in questo riquadro del contenuto.

Che cos'è BorderLayout?

Una classe BorderLayout è una delle classi del gestore del layout considerata il layout predefinito per gli oggetti finestra. Gli oggetti finestra come JFrame, JWindow, JDialog utilizzano questa classe per essere visualizzati come componenti della GUI. BorderLayout viene utilizzato per il layout di un contenitore, ovvero per organizzare e ridimensionare i suoi componenti. La disposizione dei bordi organizza questi componenti in cinque diverse regioni. Su cinque, quattro regioni o aree sono denominate nord, sud, est e ovest e la regione centrale viene definita centro. Ogni regione può contenere solo un componente. Il layout del bordo fornisce una raccolta di costanti utilizzate per posizionare i componenti. Le regioni discusse qui identificate da una costante corrispondente denominata NORD, SUD, EST, OVEST e la costante per la regione centrale come CENTRO. Usiamo queste costanti mentre aggiungiamo un componente usando un layout di bordo. Le costanti per ciascuna regione utilizzata nel nostro codice sono elencate di seguito:

  • public static final int NORTH: la costante di layout nord nella parte superiore del contenitore.
  • public static final int SOUTH: la costante di layout sud nella parte inferiore del contenitore.
  • public static final int CENTER: la costante di layout Center al centro del contenitore.
  • public static final int WEST: la costante di layout ovest alla destra del contenitore.
  • public static final int EAST: la costante di layout est a sinistra del contenitore.

Oltre alle costanti sopra elencate, BorderLayout fornisce anche altre costanti di posizionamento come PAGE_START, PAGE_END, ecc.

Costruttori BorderLayout

I costruttori BorderLayout vengono utilizzati per creare nuovi layout di bordo con spazi vuoti o senza spazi vuoti tra i componenti. Il costruttore del layout del bordo utilizza i parametri gap e gap per specificare spazi orizzontali e spazi verticali tra i componenti. I costruttori di layout del bordo sono discussi di seguito:

Ne discuteremo uno per uno insieme ai loro esempi.

1. BorderLayout ()

La classe BorderLayout viene utilizzata per creare un layout del bordo ma senza spazi tra i componenti. Di seguito è riportato un codice di esempio che utilizza il costruttore BorderLayout (). Il seguente programma crea componenti in un JFrame la cui classe di istanza è 'border'. Puoi vedere nello screenshot qui sotto (dopo il codice), ci sono cinque regioni.

Il nostro codice ha creato cinque regioni utilizzando cinque JButton e quindi queste vengono aggiunte al layout o JFrame utilizzando un metodo add (). Le dimensioni e la visibilità sono determinate separatamente per JFrame. Il metodo setSize () viene utilizzato per impostare le dimensioni della cornice e il metodo set di visibilità () viene utilizzato per impostare la visibilità della cornice.

Codice

//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();
)
)

Nell'immagine seguente, puoi vedere come appare il codice nell'editor di testo. Ho usato Eclipse come editor di testo.

Quando il codice viene eseguito, viene visualizzato il seguente output.

Produzione:

2. BorderLayout (int hgap, int vgap)

BorderLayout (int hgap, int vgap) è anche scritto come BorderLayout (int, int) viene utilizzato per creare un layout del bordo con gli spazi o gli spazi orizzontali (hgap) e verticali (vgap) indicati tra i seguenti è un codice di esempio che utilizza BorderLayout ( int, int) costruttore. Il seguente programma crea componenti in un JFrame la cui classe di istanza è 'border' in un modo simile a quello sopra ma con spazi verticali e orizzontali. Puoi vedere nello screenshot qui sotto (dopo il codice).

Il nostro codice ha creato cinque aree con spazi vuoti tra loro utilizzando i parametri vgap e hgap in BorderLayout (). Le dimensioni e la visibilità vengono nuovamente determinate separatamente per JFrame. Il metodo setSize () viene utilizzato per impostare le dimensioni della cornice e il metodo set di visibilità () viene utilizzato per impostare la visibilità della cornice.

Puoi vedere il codice per generare un frame usando BorderLayout con i parametri vgap e hgap, la creazione di spazi o spazi tra le aree è mostrata di seguito:

Codice

//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
)
)

Nell'immagine seguente, puoi vedere come appare il codice nell'editor di testo.

La riga di codice, "setLayout (new BorderLayout (20, 30));" definisce l'output come l'immagine mostrata di seguito. Qui 20 è lo spazio orizzontale e 30 rappresenta lo spazio verticale.

Quando il codice viene eseguito, viene visualizzato il seguente output.

Produzione:

Inoltre, puoi provare altre proprietà, ad esempio impostare il colore di sfondo. Nel codice sopra, se vedi una riga di codice commentata come "setBackground (Color.RED);" se provi questo codice con questa riga senza commenti, la cornice apparirà come di seguito:

Esistono altri metodi comunemente usati accanto al layout del bordo, come:

  1. toString (): restituisce una stringa che è una rappresentazione dello stato del layout del bordo.
  2. getVgap (): restituisce lo spazio verticale tra il componente.
  3. getHgap (): restituisce lo spazio orizzontale tra il componente.
  4. setVgap (int vgap): utilizzato per impostare lo spazio verticale tra i componenti.
  5. setHgap (int hgap): utilizzato per impostare lo spazio orizzontale tra i componenti, ecc.

In questo articolo sono stati discussi alcuni dei potenti LayoutManager utilizzati per disporre i frame e le GUI di Windows. L'articolo riguardava anche la scrittura manuale di layout di codice utilizzando due diversi costruttori noti come java.awt.BorderLayout class e java.awt.BorderLayout (int, int) class a mano, il che avrebbe potuto essere impegnativo. Ma dovresti provare a lasciar perdere. In caso contrario, puoi provare a utilizzare il layout manager java.awt.GroupLayout. Puoi anche usare uno strumento di costruzione insieme al tuo gestore di layout, ad esempio NetBeans IDE, che è un ottimo strumento per creare la tua GUI.

Articoli consigliati

Questa è una guida a BorderLayout in Java. Qui discutiamo un'introduzione a BorderLayout in Java, costruttori BorderLayout con codici e output. Puoi anche consultare i nostri altri articoli correlati per saperne di più-

  1. Layout in Java
  2. Grid Layout in Java
  3. Variabili in Java
  4. Costruttore di copie in Java
  5. Layout HTML

Categoria: