Introduction à BoxLayout en Java

BoxLayout est un gestionnaire de mise en page standard fourni avec la plate-forme Java. Il aide à disposer les composants de manière horizontale ou verticale à l'intérieur du conteneur. En cela, la disposition des composants sera telle quelle même si nous redimensionnons le cadre. La disposition verticale reste verticale même si le cadre se redimensionne. En d'autres termes, les composants à l'intérieur du conteneur ne s'enrouleront pas. Contrairement aux autres gestionnaires de disposition, le constructeur BoxLayout transmet les conteneurs requis au constructeur du gestionnaire de disposition. Les constructeurs, les méthodes et les exemples de classe BoxLayout seront abordés dans les sections suivantes.

Constructeurs de BoxLayout en Java

Pour implémenter la classe BoxLayout en Java, le constructeur suivant sera utilisé:

  • public BoxLayout (Conteneur c, axe int)

Les deux arguments passés sont conteneur et axe ce qui aide à créer le conteneur avec l'axe mentionné. Les deux directions valides sont:

  1. De gauche à droite - BoxLayout.X_AXIS
  2. De haut en bas - BoxLayout.Y_AXIS

Si nous transmettons le constructeur en tant que BoxLayout.Y_AXIS, une disposition comme la figure suivante (une colonne) apparaîtra.

Si nous transmettons le constructeur en tant que BoxLayout.X_AXIS, une disposition comme la figure suivante (une ligne) apparaîtra.

Méthodes de la classe BoxLayout en Java

Voici les différentes méthodes de classe boxlayout en java:

1. addLayoutComponent (composant comp, objet obj)

Le but de cette méthode est d'ajouter le composant mentionné au conteneur à l'aide de l'objet de contrainte spécifié.

Modificateur et type: néant

2. getLayoutAlignmentX (Conteneur cont.)

Cette méthode renvoie l'alignement du conteneur de gauche à droite. c'est-à-dire l'axe X. La valeur peut être donnée entre 0 et 1, où 0 est l'alignement de l'origine, 1 est l'alignement le plus éloigné de l'origine et 0, 5 est l'alignement centré.

Modificateur et type: Flottant

3. getLayoutAlignmentY (Conteneur cont.)

Cette méthode renvoie l'alignement du conteneur de haut en bas. c'est-à-dire l'axe Y. La valeur peut être donnée entre 0 et 1, où 0 est l'alignement de l'origine, 1 est l'alignement le plus éloigné de l'origine et 0, 5 est l'alignement centré.

Modificateur et type: Flottant

4. maximumLayoutSize (Conteneur cont.)

Cette méthode renvoie la valeur maximale de taille que le conteneur cible peut utiliser pour disposer les conteneurs qui y sont ajoutés.

Modificateur et type: Flottant

5. minimumLayoutSize (Conteneur cont.)

Cette méthode renvoie la valeur minimale de taille que le conteneur cible peut utiliser pour disposer les conteneurs qui y sont ajoutés.

Modificateur et type: Flottant

6. removeLayoutComponent (Composant comp)

Cette méthode supprime le composant mentionné de la disposition du conteneur.

7. layoutContainer (Conteneur cont.)

Cette méthode établit la disposition du conteneur lorsqu'il est appelé par le Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Cette méthode supprime les informations mises en cache de la mise en page. En d'autres termes, cela invalide la mise en page.

Exemples de classe BoxLayout en Java

Maintenant, voyons quelques exemples de classe BoxLayout avec certaines des méthodes expliquées dans la section ci-dessus.

Exemple 1: programme Java pour créer un BoxLayout avec X-Axis

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

Exemple de sortie:

Ici, la classe créée sera étendue à partir de la classe Frame importée de java.awt. Ensuite, une mise en page avec le contenu, la largeur et la hauteur mentionnés sera créée à l'aide du constructeur créé.

Exemple 2: programme Java pour créer un BoxLayout avec l'axe 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
)
)

Exemple de sortie:

Le programme ci-dessus est similaire à l'exemple 1, sauf qu'il crée des boutons sur l'axe Y.

Exemple 3: programme Java qui crée des boutons sur les axes X et 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();
)
)

Exemple de sortie:

Contrairement aux exemples 1 et 2, ce programme étend la classe JFrame afin d'implémenter BoxLayout. Plusieurs autres méthodes telles que pack (), createVerticalBox sont utilisées pour effectuer les mêmes tâches que celles présentes dans les exemples 1 et 2.

Conclusion

BoxLayout est un gestionnaire de disposition qui aide à organiser les composants d'un conteneur dans le format spécifié. c'est-à-dire l'axe X et l'axe Y. Pour l'implémenter, le constructeur de la classe qui contient des méthodes qui exécutent différentes fonctionnalités sera utilisé.

Articles recommandés

Cela a été un guide pour BoxLayout en Java. Nous discutons ici des constructeurs, des méthodes et des exemples de mise en page en Java avec des codes. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Disposition en Java
  2. Disposition de la grille en Java
  3. Tri de tas en Java
  4. Destructeur en Java
  5. Tri de tas en Python
  6. Disposition HTML