logo

BorderLayout (LayoutManagers)

Java LayoutManagers

LayoutManagers sa používajú na usporiadanie komponentov konkrétnym spôsobom. The Java LayoutManagers nám uľahčuje kontrolu umiestnenia a veľkosti komponentov vo formulároch GUI. LayoutManager je rozhranie, ktoré implementujú všetky triedy správcov rozloženia. Existujú nasledujúce triedy, ktoré predstavujú správcov rozloženia:

  1. java.awt.BorderLayout
  2. java.awt.FlowLayout
  3. java.awt.GridLayout
  4. java.awt.CardLayout
  5. java.awt.GridBagLayout
  6. javax.swing.BoxLayout
  7. javax.swing.GroupLayout
  8. javax.swing.ScrollPaneLayout
  9. javax.swing.SpringLayout atď.

Java BorderLayout

BorderLayout sa používa na usporiadanie komponentov v piatich oblastiach: sever, juh, východ, západ a stred. Každá oblasť (oblasť) môže obsahovať iba jednu zložku. Je to predvolené rozloženie rámu alebo okna. BorderLayout poskytuje päť konštánt pre každú oblasť:

veľkosť môjho monitora
    public static final int SEVER public static final int JUH public static final int VÝCHOD public static final int WEST verejná statická konečná int CENTRUM

Konštruktéri triedy BorderLayout:

    BorderLayout():vytvorí rozloženie okrajov, ale bez medzier medzi komponentmi.BorderLayout(int hgap, int vgap):vytvorí ohraničenie s danými horizontálnymi a vertikálnymi medzerami medzi komponentmi.

Príklad triedy BorderLayout: Použitie konštruktora BorderLayout().

Názov súboru: Hranica.java

 import java.awt.*; import javax.swing.*; public class Border { JFrame f; Border() { f = new JFrame(); // creating buttons JButton b1 = new JButton('NORTH');; // the button will be labeled as NORTH JButton b2 = new JButton('SOUTH');; // the button will be labeled as SOUTH JButton b3 = new JButton('EAST');; // the button will be labeled as EAST JButton b4 = new JButton('WEST');; // the button will be labeled as WEST JButton b5 = new JButton('CENTER');; // the button will be labeled as CENTER f.add(b1, BorderLayout.NORTH); // b1 will be placed in the North Direction f.add(b2, BorderLayout.SOUTH); // b2 will be placed in the South Direction f.add(b3, BorderLayout.EAST); // b2 will be placed in the East Direction f.add(b4, BorderLayout.WEST); // b2 will be placed in the West Direction f.add(b5, BorderLayout.CENTER); // b2 will be placed in the Center f.setSize(300, 300); f.setVisible(true); } public static void main(String[] args) { new Border(); } } 

Výkon:

priemer vs priemer
Trieda BorderLayoutstiahnite si tento príklad

Príklad triedy BorderLayout: Použitie konštruktora BorderLayout(int hgap, int vgap)

Nasledujúci príklad vkladá horizontálne a vertikálne medzery medzi tlačidlá pomocou parametrizovaného konštruktora BorderLayout(int hgap, int gap)

Názov súboru: BorderLayoutExample.java

 // import statement import java.awt.*; import javax.swing.*; public class BorderLayoutExample { JFrame jframe; // constructor BorderLayoutExample() { // creating a Frame jframe = new JFrame(); // create buttons JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // creating an object of the BorderLayout class using // the parameterized constructor where the horizontal gap is 20 // and vertical gap is 15. The gap will be evident when buttons are placed // in the frame jframe.setLayout(new BorderLayout(20, 15)); jframe.add(btn1, BorderLayout.NORTH); jframe.add(btn2, BorderLayout.SOUTH); jframe.add(btn3, BorderLayout.EAST); jframe.add(btn4, BorderLayout.WEST); jframe.add(btn5, BorderLayout.CENTER); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutExample(); } } 

Výkon:

Trieda BorderLayout

Java BorderLayout: Bez určenia regiónu

Metóda add() triedy JFrame môže fungovať aj vtedy, keď neuvedieme oblasť. V takom prípade sa v rámčeku zobrazí iba posledný pridaný komponent a všetky predtým pridané komponenty sa vyradia. Najnovší komponent pokrýva celú oblasť. Nasledujúci príklad ukazuje to isté.

topológie

Názov súboru: BorderLayoutWithoutRegionExample.java

 // import statements import java.awt.*; import javax.swing.*; public class BorderLayoutWithoutRegionExample { JFrame jframe; // constructor BorderLayoutWithoutRegionExample() { jframe = new JFrame(); JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // horizontal gap is 7, and the vertical gap is 7 // Since region is not specified, the gaps are of no use jframe.setLayout(new BorderLayout(7, 7)); // each button covers the whole area // however, the btn5 is the latest button // that is added to the frame; therefore, btn5 // is shown jframe.add(btn1); jframe.add(btn2); jframe.add(btn3); jframe.add(btn4); jframe.add(btn5); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutWithoutRegionExample(); } } 

Výkon:

Trieda BorderLayout