logo

BorderLayout (LayoutManagers)

Java LayoutManagers

LayoutManagereita käytetään komponenttien järjestämiseen tietyllä tavalla. The Java LayoutManagers auttaa meitä hallitsemaan komponenttien sijaintia ja kokoa GUI-lomakkeissa. LayoutManager on käyttöliittymä, jonka toteuttavat kaikki ulkoasun hallintaohjelmaluokat. Seuraavat luokat edustavat ulkoasun johtajia:

unix-yläkomento
  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 jne.

Java BorderLayout

BorderLayoutilla komponentit järjestetään viidelle alueelle: pohjoiseen, etelään, itään, länteen ja keskustaan. Jokainen alue (alue) voi sisältää vain yhden komponentin. Se on kehyksen tai ikkunan oletusasettelu. BorderLayout tarjoaa viisi vakiota kullekin alueelle:

    julkinen staattinen lopullinen in POHJOIS julkinen static final in SOUTH julkinen staattinen lopullinen int EAST julkinen static final int WEST julkinen staattinen lopullinen int CENTER

BorderLayout-luokan rakentajat:

    BorderLayout():luo reunusasettelun, mutta ilman rakoja komponenttien väliin.BorderLayout (int hgap, int vgap):luo reunusasettelun, jossa on annetut vaaka- ja pystyraot komponenttien väliin.

Esimerkki BorderLayout-luokasta: BorderLayout()-konstruktorin käyttö

Tiedoston nimi: Border.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(); } } 

Lähtö:

BorderLayout-luokkalataa tämä esimerkki

Esimerkki BorderLayout-luokasta: BorderLayout(int hgap, int vgap) -konstruktorin käyttö

Seuraava esimerkki lisää vaaka- ja pystysuuntaiset raot painikkeiden väliin parametroidulla rakentajalla BorderLayout(int hgap, int gap)

Tiedoston nimi: 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(); } } 

Lähtö:

BorderLayout-luokka

Java BorderLayout: Ilman aluetta

JFrame-luokan add()-metodi voi toimia, vaikka emme määrittele aluetta. Tällöin kehyksessä näkyy vain viimeisin lisätty komponentti ja kaikki aiemmin lisätyt komponentit hylätään. Uusin komponentti kattaa koko alueen. Seuraava esimerkki osoittaa saman.

Tiedoston nimi: 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(); } } 

Lähtö:

BorderLayout-luokka