Paylaşım , Takip İçin
GUI (Graphic User Interface) Nedir?
- GUI’nin Türkçe karşılığı Grafiksel Kullanıcı Arayüzü olarak ifade edilir.
- GUI sayesinde Java’da görsel programlar ve Form nesnelerini kullanabiliriz.
- Profesyonel uygulamalarda Siyah Ekran(Console) pek fazla tercih edilmemektedir. Bu nedenle GUI veya web tabanlı olarak Java programları geliştirmek bir zorunluluk haline gelmektedir.
- Eclipse üzerinde GUI geliştirmek çin birden fazla plug-in bulunmaktadır.
- Biz bu bölümde Swing Plug-in’lerinden bahsedeceğiz.
Swing Kurulumu
- Eclipse üzerinden Help menüsü-> Install New Software sekmesini açınız.
- Karşınıza çıkan pencereden Work with «All available Sites» seçeneğini seçiniz ve Alt tarafta General Purpose tools içerisinden Swing, SWT ve WindowBuilder kütüphanelerini seçiniz.
- Next basıp kurulumun tamamlanmasını bekleyiniz.
GUI Projesi Oluşturma
- Java’da GUI projeleri iki yöntemle oluşturulabilir.
- Birinci yöntem, Eclipse IDE üzerinden oluşturmak,
- İkinci yöntem, Java Form bileşenlerini miras alarak bir form nesnesi oluşturmaktır.
Swing Kütüphanesi
- Swing Java’da GUI uygulamaları geliştirmek için kullanılan görsel bileşenlerden bir tanesidir.
- AWT kütüphanesi Swing’den önce bu iş için kullanılmaktaydı. Java 2.0 ile Swing bileşenleri ve Window Builder bileşenleri ortaya çıktı.
- Swing bileşenleri AWT bileşenleri üzerine kurulmuştur bu yüzden AWT paketini import etmeniz gerekmektedir.
- Ayrıca, Swing birçok AWT metodunu kullanmaktadır.
Swing Bileşenleri
- JFrame
- Container
- JLabel
- JButton
- JTextField
- JComboBox
- JRadioButton
- JCheckBox
- JToggleButton
- JTable
- JList
- JScrollPane
- JTabbedPane
JFrame Bileşeni
- JFrame nesnesi, üzerinde GUI bileşenlerini tutar ve temel pencere metotları ile pencere olaylarının gerçekleşmesini sağlar.
- Swing bileşenlerinin tamamı bu Jframe nesnesi içerisinde konumlandırılır.
- İçerisinde Frame şekillendirmek için birçok metot içerir.
- Bu metotların bazıları Tasarım(Design) Penceresi üzerindeki menülerden değiştirilebilir.
JFrame Nesnesi
public class JFrameForm extends JFrame {
private JPanel contentPane;
//form penceresi bu metot ile yapılandırılıyor.
public JFrameForm() {
super("Pencere Bileşenimiz");
this.setSize(300,500);
//setBounds(100, 100, 450, 300);
this.setAlwaysOnTop(true);
this.setResizable(false);
this.setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
//Form uygulamasının başladığı nokta
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {//frame nesnesi yaratılıyor
JFrameForm frame = new JFrameForm();
/frame.setVisible(true);
System.out.println(frame.getTitle());
} catch (Exception e) {
e.printStackTrace();
}
}
});//invokeLater Metodu sonu
}
}
Bazı Jframe Metotları
- setSize(width,height): Verilen en boy değerlerine göre Frame’in boyutunu belirler.
- setBounds(r.x,r.y,width,height): Verilen başlangıç pixel koordinatlarına göre Frame’in boyutunu belirler.
- setAlwaysOnTop(true): Frame çalıştığında her zaman sol üst köşede konumlanır.
- setResizable(false): Frame çalışma zamanında yeniden boyutlandırılamaz.
- setVisible(true): Frame nesnesinin görüntülenmesini sağlar.
- setDefaultCloseOperation(EXIT_ON_CLOSE): Kapat(x) tuşuna basıldığında programın sonlanmasını sağlar.
- getTitle(): Frame başlığının değerini okumamızı sağlar.
Container Nesneleri
- Container nesneleri, bilişenleri üzerlerinde tutmaya yararlar.
- Containerlar JFrame nesneleri üzerinde farklı bileşenlerin tutulması sağlarlar.
- En yaygın kullanılan container bileşeni JPanel’dir.
public class JFrameForm extends JFrame {
private JPanel contentPane;
public JFrameForm() {
super(“Pencere Bileşenimiz”);
this.setSize(300,500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
Paylaşım , Takip İçin