JAVA’DA BoxLayout KULLANIMI

BoxLayout GUI bileşenlerini bir kapsayıcı içinde soldan-sağa yada yukarıdan-aşağıya düzenlenmesini sağlar.Box sınıfı,BoxLayout kullanan bir kapsayıcı tanımlar ve yatay yada dikey BoxLayout ile bir Box oluşturmak için static metotlar sağlar.


Box Layout’un kurucu methodu : BoxLayout(Container target, int axis)

Eksen parametreleri;

static int X_AXIS : Bileşenleri yatay olarak soldan-sağa doğru düzenler.

static int Y_AXIS : Bileşenleri dikey olarak yukarıdan-aşağıya doğru düzenler.

static int LINE_AXIS : Bileşenleri kapsayıcının ComponentOrientation özelliğini temel alarak bir satırda düzenlenen kelimelerin yolunda düzenler.

static int PAGE_AXIS : Bileşenleri kapsayıcının ComponentOrientation özelliğini temel alarak sayfa üzerinde düzenlenen metin satırlarının yolunda düzenler.


Bir örnekle açıklayacak olursak şöyle;

[cc lang=”java”]

package boxlayoutkullanımı;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

class BoxLayoutFrame extends JFrame{

private final int SIZE=3;

public BoxLayoutFrame(){

super(“BoxLayout Kullanımı”);

JTabbedPane pane = new JTabbedPane();

//BoxLayout ile Box kapsayıcıları oluşturma
Box yatay1=Box.createHorizontalBox();
Box düsey1=Box.createVerticalBox();

for(int i=1;i<=SIZE;i++){ yatay1.add(Box.createHorizontalStrut(20)); yatay1.add(new JButton("Yazarbey Buton "+i)); düsey1.add(Box.createVerticalStrut(20)); düsey1.add(new JButton("Yazarbey Buton "+i)); } //JPanel kapsayıcısı oluşturma JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); for(int i=1;i<=SIZE;i++){ panel.add(new JButton("Yazarbey Buton "+i)); } pane.addTab("Yatay-1", null, yatay1, "yatay1"); pane.addTab("Düsey-1", null, düsey1, "düsey1"); pane.addTab("Panel", null, panel, "panel"); add(pane); } } public class BoxLayoutKullanımı { public static void main(String[] args) { BoxLayoutFrame yzrFrame = new BoxLayoutFrame(); yzrFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); yzrFrame.setSize(500, 450); yzrFrame.setVisible(true); } } [/cc] Çıktı;

Evet arkadaşlar ilk olarak JFrame ile genişletilmiş BoxLayoutFrame adında bir sınıf oluşturduk.Box sınıfından yatay ve düşey olmak üzere iki tane nesne oluşturduk.Bu nesnelere bir for döngüsü içinde SIZE kadar buton ekledik.

createHorizontalStrut(int width) ve createVerticalStrut(int height) metotları butonlar arasındaki boşluğu belirtmek için kullanılır.

Üçüncü kapsayıcımızı ise JPanel sınıfından oluşturduk.Düzen biçimini y-ekseni olarak belirtik.Aynı şekilde JPanel’a da for döngüsü içinde SIZE kadar buton ekledik.

Son olarak bu kapsayıcıları sekme olarak görmek için;JTabbedPane nesnesine ekledik…

 

İlk yorum yapan olun

Bir yanıt bırakın