Java'da Swing nedir?
Java'da Swing , GUI bileşenlerini içeren bir Grafik Kullanıcı Arabirimi (GUI) araç setidir. Swing, Java uygulamaları için sofistike GUI bileşenleri yapmak için zengin bir widget ve paket seti sağlar. Swing, GUI sağlayan Java programları için bir API olan Java Foundation Classes'ın (JFC) bir parçasıdır.
Java Swing kitaplığı, daha eski, platforma bağlı bir GUI araç takımı olan Java Abstract Widget Toolkit ( AWT ) üzerine inşa edilmiştir . Kütüphaneden düğme, metin kutusu vb. Java GUI programlama bileşenlerini kullanabilir ve bileşenleri sıfırdan oluşturmanız gerekmez.
Bu Java Swing eğitiminde şunları öğreneceksiniz:
- Java'da Swing nedir?
- Konteyner Sınıfı nedir?
- Java'da GUI nedir?
- Java GUI Örneği
- Java Düzen Yöneticisi
- Java Sınır Düzeni
- Java Akış Düzeni
- Java GridBagLayout
Java Swing sınıfı Hiyerarşi Diyagramı
Java Swing'deki tüm bileşenler, konteyner sınıflarına eklenebilecek JComponent'tir.
Konteyner Sınıfı nedir?
Konteyner sınıfları, üzerinde başka bileşenlere sahip olabilen sınıflardır. Yani bir Java GUI oluşturmak için en az bir konteyner nesnesine ihtiyacımız var. 3 tür Java Swing kabı vardır.
- Panel : Saf bir kaptır ve kendi başına bir pencere değildir. Bir Panelin tek amacı, bileşenleri bir pencerede düzenlemektir.
- Çerçeve : Başlığı ve ikonlarıyla tam olarak çalışan bir penceredir.
- Diyalog : Bir mesajın görüntülenmesi gerektiğinde açılan bir açılır pencere gibi düşünülebilir. Frame gibi tam olarak çalışan bir pencere değildir.
Java'da GUI nedir?
Java'daki GUI (Grafik Kullanıcı Arayüzü), Java uygulamaları için kullanımı kolay bir görsel deneyim oluşturucudur. Esas olarak, kullanıcının bir uygulamayla etkileşime girebileceği düğmeler, etiketler, pencereler vb. Gibi grafik bileşenlerden oluşur. GUI, Java uygulamaları için kolay arayüzler oluşturmada önemli bir rol oynar.
Java GUI Örneği
Şimdi bu Swing Java Eğitimi'nde, GUI'yi Java Swing örnekleriyle anlayalım.
Örnek : Bu Java GUI eğitiminde Java GUI programlamayı öğrenmek için Adım 1) Aşağıdaki kodu bir düzenleyiciye kopyalayın
import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button = new JButton("Press");frame.getContentPane().add(button); // Adds Button to content pane of frameframe.setVisible(true);}}
Adım 2) Kodu Kaydedin, Derleyin ve Çalıştırın.Adım 3) Şimdi çerçevemize bir Düğme ekleyelim. Aşağıdaki kodu verilen Java GUI Örneğinden bir düzenleyiciye kopyalayın
import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Press");frame.getContentPane().add(button1);frame.setVisible(true);}}
Adım 4) Kodu yürütün. Büyük bir düğme alacaksın
Adım 5) İki düğme eklemeye ne dersiniz? Aşağıdaki kodu bir düzenleyiciye kopyalayın.
import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Button 1");JButton button2 = new JButton("Button 2");frame.getContentPane().add(button1);frame.getContentPane().add(button2);frame.setVisible(true);}}
Adım 6) Programı Kaydedin, Derleyin ve Çalıştırın.Adım 7) Beklenmeyen çıktı =? Düğmeler üst üste biniyor.
Java Düzen Yöneticisi
Düzen yöneticisi, bir konteyner içindeki GUI java bileşenlerini düzenlemek (veya düzenlemek) için kullanılır.
Java Sınır Düzeni
ABorderLayout
, bileşenleri beş alana kadar yerleştirir: üst, alt, sol, sağ ve orta. Her java JFrame için varsayılan düzen yöneticisidir
Java Akış Düzeni
FlowLayout
her biri için varsayılan düzen yöneticisidir JPanel
. Bileşenleri tek bir sıra halinde birbiri ardına yerleştirir.
Java GridBagLayout
Tüm düzenlerden daha karmaşıktır. Bileşenleri bir hücre ızgarası içine yerleştirerek hizalar ve bileşenlerin birden fazla hücreye yayılmasına izin verir.
Adım 8) Aşağıdaki gibi bir sohbet çerçevesi oluşturmaya ne dersiniz?
Aşağıdaki programa bakmadan önce kendinizi kodlamayı deneyin.
//Usually you will require both swing and awt packages// even if you are working with just swings.import javax.swing.*;import java.awt.*;class gui {public static void main(String args[]) {//Creating the FrameJFrame frame = new JFrame("Chat Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);//Creating the MenuBar and adding componentsJMenuBar mb = new JMenuBar();JMenu m1 = new JMenu("FILE");JMenu m2 = new JMenu("Help");mb.add(m1);mb.add(m2);JMenuItem m11 = new JMenuItem("Open");JMenuItem m22 = new JMenuItem("Save as");m1.add(m11);m1.add(m22);//Creating the panel at bottom and adding componentsJPanel panel = new JPanel(); // the panel is not visible in outputJLabel label = new JLabel("Enter Text");JTextField tf = new JTextField(10); // accepts upto 10 charactersJButton send = new JButton("Send");JButton reset = new JButton("Reset");panel.add(label); // Components Added using Flow Layoutpanel.add(tf);panel.add(send);panel.add(reset);// Text Area at the CenterJTextArea ta = new JTextArea();//Adding Components to the frame.frame.getContentPane().add(BorderLayout.SOUTH, panel);frame.getContentPane().add(BorderLayout.NORTH, mb);frame.getContentPane().add(BorderLayout.CENTER, ta);frame.setVisible(true);}}