5 Mayıs 2013 Pazar

Java Gui--9(JPanel)



     
    JPanel , penceremizi daha aktif olarak kullanabilmemizi sağlar .Ekleyeceğimiz ögeleri JPanel' e ekleyerek daha düzenli bir görüntü elde edebiliriz .Örneğin her bilgisayarda bulunan hesap makinelerini düşünebiliriz .Burada iki panel pencereye ortada ve üstte olmak üzere yerleştirilmiştir .Üst panelde JTextField ortadaki panelde ise numaralar ve operatörler bulunmaktadır.


         Biz de buna benzer basit bir hesap makinesi penceresi oluşturabiliriz.

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class JPanelDemo extends JFrame{
    JTextField text = new JTextField(15);
    JPanel ust = new JPanel( );
    JPanel alt = new JPanel( );
    JButton[ ] buttons = new JButton[15];
    String[ ] say =
    {"1","2","3","4","5","6","7","8","9","0","-","+","/","*","="};
    public JPanelDemo( ){
        super("JPanel");
        setSize(200, 200);
        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(ust, BorderLayout.NORTH);
        add(alt,BorderLayout.CENTER);
        ust.setLayout(new FlowLayout( ));
        alt.setLayout(new FlowLayout( ));
        ust.add(text);
        for(int i = 0;i < buttons.length;i++){
            buttons[i] = new JButton(say[i]);
            alt.add(buttons[i]);
        }
    }
    public static void main(String[ ] args) {
        JPanelDemo demo = new JpanelDemo( );
    }
}
  

Ekran Görüntüsü




Örnek 2

     Bu örnek te 64 kareden oluşan satranç tahtası gibi bir görüntü elde edeceğiz.Buırda JPanellerden her birinin renginin siyah ve beyaz olmasını sağladık.Böylece ekran görüntüsü aşağıdaki gibi oldu:



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:





     NOT// JPanel'e eklediğiniz componentlerin bir butona basıldığında veya daha farklı bir işlem yaptığınızda tekrar kaldırmak isterseniz sırası ile aşağıdaki fonksiyonları kullanmalısınız:

  1. remove(Component ismi buraya );
  2. revalidate( );
  3. repaint( );
 1. nin yerine "removeAll( )" fonksiyonuda kullanılabilir.



0 yorum:

Yorum Gönder