logo

BorderLayout (LayoutYöneticileri)

Java Düzen Yöneticileri

LayoutManager'lar bileşenleri belirli bir şekilde düzenlemek için kullanılır. Java Düzen Yöneticileri GUI formlarındaki bileşenlerin konumunu ve boyutunu kontrol etmemizi kolaylaştırır. LayoutManager, tüm düzen yöneticileri sınıfları tarafından uygulanan bir arayüzdür. Düzen yöneticilerini temsil eden aşağıdaki sınıflar vardır:

  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 vb.

Java Sınır Düzeni

BorderLayout, bileşenleri beş bölgeye göre düzenlemek için kullanılır: kuzey, güney, doğu, batı ve merkez. Her bölge (alan) yalnızca bir bileşen içerebilir. Bir çerçevenin veya pencerenin varsayılan düzenidir. BorderLayout her bölge için beş sabit sağlar:

    public static final int KUZEY public static final int GÜNEY public static final int EAST public static final int WEST public static final int CENTER

BorderLayout sınıfının yapıcıları:

    Sınır düzeni():bir kenar düzeni oluşturur ancak bileşenler arasında boşluk yoktur.BorderLayout(int hgap, int vgap):bileşenler arasında verilen yatay ve dikey boşluklarla kenar düzeni oluşturur.

BorderLayout sınıfı örneği: BorderLayout() yapıcısını kullanma

Dosya adı: 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(); } } 

Çıktı:

BorderLayout sınıfıbu örneği indir

BorderLayout sınıfı örneği: BorderLayout(int hgap, int vgap) yapıcısını kullanma

Aşağıdaki örnek, parametreleştirilmiş BorderLayout(int hgap, int boşluk) yapıcısını kullanarak düğmeler arasına yatay ve dikey boşluklar ekler.

Dosya adı: 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(); } } 

Çıktı:

BorderLayout sınıfı

Java BorderLayout: Bölge Belirtmeden

JFrame sınıfının add() metodu, bölgeyi belirtmediğimiz durumlarda dahi çalışabilmektedir. Böyle bir durumda çerçevede yalnızca en son eklenen bileşen gösterilir ve daha önce eklenen tüm bileşenler atılır. En son bileşen tüm alanı kapsıyor. Aşağıdaki örnek de aynısını göstermektedir.

Dosya adı: 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(); } } 

Çıktı:

BorderLayout sınıfı