Úvod do BoxLayout v Jave

BoxLayout je štandardný manažér rozloženia, ktorý sa dodáva spolu s platformou Java. Pomáha pri horizontálnom alebo vertikálnom usporiadaní komponentov vo vnútri nádoby. V tomto prípade bude usporiadanie komponentov ako také, aj keď veľkosť rámu upravíme. Vertikálne usporiadanie zostane vertikálne, aj keď nastane zmena veľkosti rámu. Inými slovami, komponenty vo vnútri obalu sa nezabalia. Na rozdiel od iných manažérov rozloženia, konštruktor BoxLayout odovzdáva požadované kontajnery konštruktorovi manažéra rozloženia. Konštruktory, metódy a príklady triedy BoxLayout budú diskutované v nasledujúcich častiach.

Konštruktori BoxLayout v Jave

Na implementáciu triedy BoxLayout v Java sa použije nasledujúci konštruktor:

  • verejné BoxLayout (kontajner c, int os)

Dva predložené argumenty sú kontajner a os, ktoré pomáhajú pri vytváraní kontajnera s uvedenou osou. Existujú dva platné smery:

  1. Zľava doprava - BoxLayout.X_AXIS
  2. Zhora nadol - BoxLayout.Y_AXIS

Ak odovzdávame konštruktora ako BoxLayout.Y_AXIS, zobrazí sa rozloženie podobné nasledujúcemu obrázku (jeden stĺpec).

Ak odovzdávame konštruktora ako BoxLayout.X_AXIS, zobrazí sa rozloženie podobné nasledujúcemu obrázku (jeden riadok).

Metódy triedy BoxLayout v Jave

Nižšie sú uvedené rôzne metódy triedy boxlayout v jave:

1. addLayoutComponent (Component comp, Object obj)

Účelom tejto metódy je pridať uvedený komponent do kontajnera pomocou špecifikovaného objektu obmedzenia.

Modifikátor a typ: odpadá

2. getLayoutAlignmentX (Kontajner kontnr)

Táto metóda vracia zarovnanie kontajnera zľava doprava. tj os X. Hodnota môže byť uvedená medzi 0 a 1, kde 0 je zarovnanie pôvodu, 1 je najvzdialenejšie zarovnanie od začiatku a 0, 5 je zarovnanie na stred.

Modifikátor a typ: Float

3. getLayoutAlignmentY (Kontajner kontnr)

Táto metóda vracia zarovnanie kontajnera v smere zhora nadol. tj os Y. Hodnota môže byť uvedená medzi 0 a 1, kde 0 je zarovnanie pôvodu, 1 je najvzdialenejšie zarovnanie od začiatku a 0, 5 je zarovnanie na stred.

Modifikátor a typ: Float

4. maximumLayoutSize (Contest contnr)

Táto metóda vracia maximálnu hodnotu veľkosti, ktorú môže cieľový kontajner použiť na rozloženie kontajnerov, ktoré sú do neho pridané.

Modifikátor a typ: Float

5. minimumLayoutSize (Contest contnr)

Táto metóda vracia minimálnu hodnotu veľkosti, ktorú môže cieľový kontajner použiť na rozloženie kontajnerov, ktoré sú do neho pridané.

Modifikátor a typ: Float

6. removeLayoutComponent (Component comp)

Táto metóda odstráni uvedený komponent z rozloženia kontajnera.

7. layoutContainer (Kontajner kontnr)

Táto metóda stanovuje rozloženie kontajnera, keď sa nazýva Toolkit abstraktného okna (AWT) .

8. invalidateLayout (Containercontnr)

Táto metóda vyradí informácie o rozložení v pamäti. Inými slovami, zneplatňuje rozloženie.

Príklady triedy BoxLayout v Jave

Pozrime sa teraz na niektoré príklady triedy BoxLayout s niektorými metódami vysvetlenými v predchádzajúcej časti.

Príklad 1: Java program na vytvorenie BoxLayout s 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
)
)

Vzorový výstup:

Vytvorená trieda sa tu rozšíri z triedy Frame, ktorá sa importuje z java.awt. Potom sa pomocou vytvoreného konštruktora vytvorí rozloženie s uvedeným obsahom, šírkou a výškou.

Príklad 2: Program Java na vytvorenie BoxLayout s osou 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
)
)

Vzorový výstup:

Vyššie uvedený program je podobný príkladu 1 s tým rozdielom, že sa tým vytvárajú tlačidlá na osi Y.

Príklad 3: Program Java, ktorý vytvára tlačidlá na osi X aj 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();
)
)

Vzorový výstup:

Na rozdiel od príkladov 1 a 2 tento program rozširuje triedu JFrame, aby implementoval BoxLayout. Používa sa niekoľko ďalších metód, napríklad pack (), createVerticalBox, ktoré vykonávajú rovnaké úlohy, aké sú uvedené v príkladoch 1 a 2.

záver

BoxLayout je manažér rozloženia, ktorý pomáha pri usporiadaní komponentov kontajnera v určenom formáte. tj os X a os Y. Aby sa to implementovalo, použije sa konštruktor triedy, ktorý obsahuje metódy, ktoré vykonávajú rôzne funkcie.

Odporúčané články

Toto bol sprievodca BoxLayout v Jave. Tu diskutujeme Konštruktory, metódy a príklady boxlayoutu v Jave s kódmi. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Rozloženie v Jave
  2. Mriežka v Java
  3. Usporiadanie haldy v Jave
  4. Destruktor v Jave
  5. Halda Zoradiť v Pythone
  6. Rozloženie HTML

Kategórie: