Introduzione a BoxLayout in Java

BoxLayout è un gestore di layout standard fornito con la piattaforma Java. Aiuta a disporre i componenti in modo orizzontale o verticale all'interno del contenitore. In questo, la disposizione dei componenti sarà tale anche se ridimensioniamo il telaio. La disposizione verticale rimane verticale anche se si verifica il ridimensionamento del telaio. In altre parole, i componenti all'interno del contenitore non si avvolgeranno. A differenza di altri gestori di layout, il costruttore BoxLayout passa i contenitori richiesti al costruttore di layout manager. Costruttori, metodi ed esempi della classe BoxLayout saranno discussi nelle sezioni seguenti.

Costruttori di BoxLayout in Java

Per implementare la classe BoxLayout in Java, verrà utilizzato il seguente costruttore:

  • public BoxLayout (Contenitore c, asse int)

I due argomenti passati sono container e axis che aiutano a creare il container con l'asse indicato. Le due direzioni valide sono:

  1. Da sinistra a destra: BoxLayout.X_AXIS
  2. Dall'alto verso il basso - BoxLayout.Y_AXIS

Se stiamo passando il costruttore come BoxLayout.Y_AXIS, apparirà un layout come la seguente figura (una colonna).

Se stiamo passando il costruttore come BoxLayout.X_AXIS, apparirà un layout come la seguente figura (una riga).

Metodi della classe BoxLayout in Java

Di seguito sono riportati i vari metodi della classe boxlayout in Java:

1. addLayoutComponent (Component comp, Object obj)

Lo scopo di questo metodo è quello di aggiungere il componente menzionato al contenitore usando l'oggetto vincolo specificato.

Modificatore e tipo: vuoto

2. getLayoutAlignmentX (contenitore contnr)

Questo metodo restituisce l'allineamento del contenitore nella direzione da sinistra a destra. cioè asse X. Il valore può essere dato tra 0 e 1, dove 0 è l'allineamento dell'origine, 1 è l'allineamento più lontano dall'origine e 0, 5 è l'allineamento centrato.

Modificatore e tipo: float

3. getLayoutAlignmentY (contenitore contnr)

Questo metodo restituisce l'allineamento del contenitore nella direzione dall'alto verso il basso. cioè asse Y. Il valore può essere dato tra 0 e 1, dove 0 è l'allineamento dell'origine, 1 è l'allineamento più lontano dall'origine e 0, 5 è l'allineamento centrato.

Modificatore e tipo: float

4. maximumLayoutSize (contenitore contnr)

Questo metodo restituisce il valore massimo della dimensione che il contenitore di destinazione può utilizzare per il layout dei contenitori che vengono aggiunti in esso.

Modificatore e tipo: float

5. minimumLayoutSize (contenitore contnr)

Questo metodo restituisce il valore minimo della dimensione che il contenitore di destinazione può utilizzare per il layout dei contenitori che vengono aggiunti in esso.

Modificatore e tipo: float

6. removeLayoutComponent (Component comp)

Questo metodo rimuove il componente menzionato dal layout del contenitore.

7. layoutContainer (contenitore contnr)

Questo metodo stabilisce il layout del contenitore quando viene chiamato da Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Questo metodo ignora le informazioni memorizzate nella cache del layout. In altre parole, invalida il layout.

Esempi di classe BoxLayout in Java

Ora, vediamo alcuni esempi della classe BoxLayout con alcuni dei metodi spiegati nella sezione precedente.

Esempio 1: programma Java per creare un BoxLayout con l'asse X.

//Java program to demonstrate BoxLayout with X Axis
import java.awt.*;
import javax.swing.*;
//A subclass BoxLayoutProgram that extends Frame Class
public class BoxLayoutProgram extends Frame (
Button buttons(); //Button reference variable
//Constructor of BoxLayoutProgram
public BoxLayoutProgram ()
(
buttons = new Button (5);
for (int i = 0;i<5;i++)
(
buttons(i) = new Button ("Box" + (i + 1));
add (buttons(i)); //adds button
)
setLayout (new BoxLayout (this, BoxLayout.X_AXIS)); //sets the layout by mentioning the axis
setSize(400, 400); //sets the width and height of the frame
setVisible(true); //sets the GUI visible to user
)
public static void main(String args())(
BoxLayoutProgram b=new BoxLayoutProgram(); //object of the class
)
)

Uscita campione:

Qui, la classe creata verrà estesa dalla classe Frame che viene importata da java.awt. Quindi verrà creato un layout con il contenuto, la larghezza e l'altezza menzionati con l'aiuto del costruttore creato.

Esempio 2: programma Java per creare un BoxLayout con asse Y.

//Java program to demonstrate BoxLayout with Y Axis
import java.awt.*;
import javax.swing.*;
//A subclass BoxLayoutProgram that extends Frame Class
public class BoxLayoutProgram extends Frame (
Button buttons(); //Button reference variable
//Constructor of BoxLayoutProgram
public BoxLayoutProgram ()
(
buttons = new Button (5);
for (int i = 0;i<5;i++)
(
buttons(i) = new Button ("Box" + (i + 1));
add (buttons(i)); //adds button
)
setLayout (new BoxLayout (this, BoxLayout.Y_AXIS)); //sets the layout by mentioning the axis
setSize(400, 400); //sets the width and height of the frame
setVisible(true); //sets the GUI visible to user
)
public static void main(String args())(
BoxLayoutProgram b=new BoxLayoutProgram(); //object of the class
)
)

Uscita campione:

Il programma sopra è simile all'esempio 1, tranne per il fatto che si stanno creando pulsanti nell'asse Y.

Esempio 3: programma Java che crea pulsanti sia sull'asse X che sull'asse Y.

//Java program that creates buttons in both X axis and Y axis
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//Class that extends JFrame Class
public class BoxLayoutXY extends JFrame
(
//Constructor
public BoxLayoutXY()
(
//helps in adding the object to the container
Container cp = getContentPane();
//sets the layout of container as FlowLayout where the components are placed in a line
cp.setLayout(new FlowLayout());
//create an object of the box class
Box hbox = Box. createHorizontalBox ();
//create an object of the box class
Box vbox = Box. createVerticalBox ();
//add horizontal and vertical components to the container
hbox.add(new JButton("Horizontal Button 1"));
hbox.add(new JButton("Horizontal Button 2"));
hbox.add(new JButton("Horizontal Button 3"));
vbox.add(new JButton("Vertical Button 1"));
vbox.add(new JButton("Vertical Button 2"));
vbox.add(new JButton("Vertical Button 3"));
cp.add(hbox);
cp.add(vbox);
//method similar to setsize that places the content in preferred size
pack();
//GUI visible to user
setVisible(true);
)
public static void main(String args())
(
//calls the constructor of the class
new BoxLayoutXY();
)
)

Uscita campione:

A differenza degli esempi 1 e 2, questo programma estende la classe JFrame per implementare BoxLayout. Diversi altri metodi come pack (), createVerticalBox vengono utilizzati per eseguire le stesse attività presenti negli esempi 1 e 2.

Conclusione

BoxLayout è un gestore di layout che aiuta a disporre i componenti di un contenitore nel formato specificato. vale a dire asse X e asse Y. Per implementarlo, verrà utilizzato il costruttore della classe che contiene metodi che eseguono funzionalità diverse.

Articoli consigliati

Questa è stata una guida a BoxLayout in Java. Qui discutiamo i costruttori, i metodi e gli esempi di boxlayout in Java con i codici. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Layout in Java
  2. Grid Layout in Java
  3. Ordinamento dell'heap in Java
  4. Distruttore in Java
  5. Ordinamento dell'heap in Python
  6. Layout HTML

Categoria: