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:
- remove(Component ismi buraya );
- revalidate( );
- repaint( );
0 yorum:
Yorum Gönder