2 Mayıs 2013 Perşembe

Java Gui--8(BorderLayout&FlowLayout&GridLayout)




BorderLayout

         Ekleyeceğimiz componontleri kuzey , güney , doğu , bati ve merkez (north, south, east, west, and center ) seklinde penceremize yerleştirmemizi sağlar.

Örnek


import java.awt.BorderLayout;

import javax.swing.JButton;

import javax.swing.JFrame;



public class LayoutDemo extends JFrame{

   

    JButton north = new JButton("North");

    JButton south = new JButton("South");

    JButton east = new JButton("East");

    JButton west = new JButton("West");

    JButton center = new JButton("Center");

    

    public LayoutDemo( ){

        super("BorderLayout");

        setSize(200, 200);

        setVisible(true);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLocationRelativeTo(null);

        add(north, BorderLayout.NORTH);

        add(south,BorderLayout.SOUTH);

        add(east,BorderLayout.EAST);

        add(west,BorderLayout.WEST);

        add(center,BorderLayout.CENTER);

    }

   

    public static void main(String[] args) {

        LayoutDemo demo = new LayoutDemo();

    }

}

Ekran Görüntüsü

 





FlowLayout


         Ekleyeceğimiz componentleri ekrana belirli bir hiza ile ekler ve yine pencere boyutuna göre o satırdaki tasan componentleri alt satıra sıralar .Left , right ve Center olmak üzere seçilen taraftan sıralamaya baslar. Eğer “setLayout(new FlowLayout( ))” şeklinde kullanılırsa ortadan başlayarak sıralar.

 Örnek


import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class LayoutDemo extends JFrame{

    JButton buton1 = new JButton("Buton1");
    JButton buton2 = new JButton("Buton2");
    JButton buton3 = new JButton("Buton3");
    JButton buton4 = new JButton("Buton4");

    public LayoutDemo( ){
        super("FlowLayout");
        setSize(200, 200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setLayout(new FlowLayout( ));
        add(buton1);
        add(buton2);
        add(buton3);
        add(buton4);
    }
   
    public static void main(String[ ] args) {
        LayoutDemo demo = new LayoutDemo();
    }

}

 



Ekran Görüntüsü

 



GridLayout


          Ekleyeceğimiz componentleri ekrana bizim istediğimiz şekilde sıralar .Örneğin 3 satir ve her satırda da 5 sütun bulunsun , bunun için

setLayout(new GridLayout(3, 5));

yapmalıyız .Burada eklenen her öge sıra ile eklenir yani ilk satırdaki 5 bölme dolmadan alt satıra gecemeyiz.

setLayout(new GridLayout(3, 3, 5, 5));

         Yukarıdaki kullanım şeklinde ise 3 satir , 3 sütun , ve her bir öge arası yatayda , dikeyde 5 piksellik bir boşluk vermiş olduk.

Örnek


import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class LayoutDemo extends JFrame{

    JButton buton1 = new JButton("Buton1");
    JButton buton2 = new JButton("Buton2");
    JButton buton3 = new JButton("Buton3");
    JButton buton4 = new JButton("Buton4");
    JButton buton5 = new JButton("Buton5");
    public LayoutDemo( ){
        super("GridLayout");
        setSize(200, 200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setLayout(new GridLayout(3, 2, 5, 5));
        add(buton1);
        add(buton2);
        add(buton3);
        add(buton4);
        add(buton5);
    }

    public static void main(String[ ] args) {
        LayoutDemo demo = new LayoutDemo( );
    }

}

Ekran Görüntüsü





GridLayout Örnek 2

         Bu örnek te 64 kareden oluşan satranç tahtası gibi bir görüntü elde edeceğiz.Ekran görüntüsü aşağıdaki gibi olacaktır:






import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import javax.swing.JFrame;

import javax.swing.JPanel;



public class Deneme extends JFrame{

    private int max = 64;

    private Jpanel[ ] panels = new JPanel[max];

    private Color renk1 = Color.BLACK;

    private Color renk2 = Color.WHITE;

    private Color temp;

   

    public Deneme( ){

        super("Deneme");

        setLayout(new GridLayout(8, 8));

        for(int i = 0;i < max;i++){

            panels[i] = new Jpanel( );

            if((i % 8) == 0){

                temp = renk1;

                renk1 = renk2;

                renk2 = temp;

            }

            if(i % 2 == 0){

                panels[i].setBackground(renk1);

            }else{

                panels[i].setBackground(renk2);

            }

            add(panels[i]);

        }

        setVisible(true);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLocationRelativeTo(null);

        setSize(300, 300);

    }

   

    public static void main(String[ ] args) {

        Deneme deneme = new Deneme( );

    }

}

         Bu uygulamada 8 ‘e 8 “gridLayout” oluşturduk ve her alt satıra geçerken renklerin yerini değiştirdik.Bunu renk değiştirme işini gri ile işaretlenmiş yerde yaptık.Buradaki 8 değerini değiştirerek farklı şekiller elde edebiliriz.Ben  7 ve 9 olarak değiştirdim , ekran görüntüleri aşağıdakşi gibi oldu:



2 yorum: