Java ile GUI (Grafiksel Kullanıcı Arayüzü) – Swing ile Masaüstü Uygulama Geliştirme

Java, sadece konsol tabanlı değil, aynı zamanda masaüstü uygulamalar geliştirmek için de güçlü araçlar sunar. Java’da grafiksel kullanıcı arayüzleri oluşturmak için en çok kullanılan kütüphane Swing‘dir. Bu yazıda Java Swing kullanarak GUI (Graphical User Interface) nasıl oluşturulur, temel bileşenler nelerdir, adım adım açıklıyoruz.


Java GUI Nedir?

GUI, kullanıcının yazılımla butonlar, metin kutuları, etiketler, menüler gibi görsel elemanlarla etkileşim kurmasını sağlar. Java’da GUI tasarımı için genellikle Swing ve daha gelişmiş olarak JavaFX kullanılır.


🧰 Java Swing Temelleri

Swing, javax.swing paketinde yer alır ve Java’nın platform bağımsız grafiksel arayüz bileşenlerini içerir.

Temel Swing Bileşenleri:

BileşenAçıklama
JFramePencere oluşturur.
JPanelAlt bileşenleri düzenler.
JButtonButon oluşturur.
JLabelYazı/etiket gösterir.
JTextFieldTek satırlı metin kutusu.
JTextAreaÇok satırlı metin kutusu.
JCheckBoxOnay kutusu.
JRadioButtonSeçenek butonları.
JComboBoxAçılır liste kutusu.

🛠️ İlk Basit GUI Uygulaması

import javax.swing.*;

public class BasitGUI {
    public static void main(String[] args) {
        JFrame pencere = new JFrame("Merhaba Swing");
        pencere.setSize(400, 200);
        pencere.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JLabel etiket = new JLabel("Hoş geldiniz!", SwingConstants.CENTER);
        pencere.add(etiket);

        pencere.setVisible(true);
    }
}

Açıklama:

  • JFrame pencereyi oluşturur.
  • JLabel ile ortalanmış bir yazı eklenmiştir.
  • setVisible(true) pencereyi gösterir.

🎛️ Etkileşimli GUI: Buton ve Metin Kutusu

import javax.swing.*;
import java.awt.event.*;

public class GirdiGUI {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Kullanıcı Girişi");
        frame.setSize(350, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);

        JLabel label = new JLabel("Adınız:");
        label.setBounds(20, 20, 80, 25);
        frame.add(label);

        JTextField textField = new JTextField();
        textField.setBounds(100, 20, 200, 25);
        frame.add(textField);

        JButton button = new JButton("Gönder");
        button.setBounds(100, 60, 100, 25);
        frame.add(button);

        JLabel sonuc = new JLabel("");
        sonuc.setBounds(100, 100, 200, 25);
        frame.add(sonuc);

        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                String ad = textField.getText();
                sonuc.setText("Merhaba, " + ad + "!");
            }
        });

        frame.setVisible(true);
    }
}


🧩 Layout (Yerleşim) Yöneticileri

GUI bileşenlerinin pencere içinde düzgün görünmesi için yerleşim yöneticileri kullanılır:

LayoutManagerAçıklama
FlowLayoutSola, sağa hizalama sağlar.
BorderLayoutKuzey, güney, doğu, batı, merkez düzeni.
GridLayoutIzgara sistemiyle düzenler.
null layoutKoordinat bazlı manuel konumlandırma. (kullanımı kolay ama önerilmez)

💡 En İyi Uygulamalar

  • GUI tasarımında layout manager kullanmak, pencerenin her boyutta düzgün görünmesini sağlar.
  • Swing bileşenleri event-driven yapıdadır, bu yüzden olay dinleyiciler önemlidir.
  • Gelişmiş projelerde MVC (Model-View-Controller) mimarisi ile GUI kodları düzenlenmelidir.
guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
0
YORUM YAPx