Java Swing

Mysterious Developer
2 min readNov 14, 2022

--

Java.Swing paketi Java Foundation Classes (JFC) kütüphanesi içindedir. 134 sınıfı olan, 25 arayüz kılgılayan büyük bir pakettir. Java.AWT (Java Abstract Window Toolkit) paketinin üzerine kuruludur ve uygulamalarda onun işlevini üstlenmiştir. Java ile Grafiksel Arayüzler (GUI) hazırlamak için gerekli bütün araçlara sahiptir. Son zamanlarda, programcıların büyük oranda tercih ettikleri bir pakettir. Bir görsel arayüz hazırlarken, en alta bir çerçeve (JFrame) konulur. Bu çerçeve içine genellikle bir panel konulur. Panel üzerine düğme, text alanı, liste, menü gibi görsel araçlar yerleştirilir.

Frame:

Boyutları değişebilen, hareket edebilen, üzerinde bir ad şeridi ve kapatma düğmesi olan Swing aracıdır. Window sınıfından türetilmiştir. Genellikle, panelleri içerir. Öntanımlı konuşlanması BorderLayout’dur.

Panel:

Bir çerçeve (Frame) ya da başka bir panel içinde yer alan ve üzerine Swing araçları konulan düzlemsel bölge. Görünür sınırı yoktur, ama istenirse zemin rengi ile panel bölgesi belirli kılınabilir. Container sınıfından türetilmiştir. Öntanımlı konuşlanma yöntemi FlowLayout’dur.

Frame ile Panel arasındaki farklar:

Frame kendi başına vardır ve daima en altta yer alır. Duvardaki boş resim çerçevesi gibidir. Çerçeve içerisine kat kat nesneler konulabilir. Üst katman alttakileri görünmez kılabilir.

Panel ise kendi başına var olamaz, başka bir kap içinde olmak zorundadır. O kap bir Frame ya da başka bir panel olabilir. Panel’in içi, Frame gibi boş değildir. Çerçeve içine yerleştirilen ve üzerine resim konulan karton zeminlere benzetilebilir. Üst üste konulabilirler. Üste konulan panel, alttakileri görünmez kılar.

Tabii, Frame ve panel sınıflarının her ikisininde üst sınıfları Container ve Component olduğu için, kalıtsal benzerlikleri vardır.

JFrame Örneği

  • Button Örneği:

Aşağıdaki program JFrame üzerine önce bir Container yerleştiriyor. Sonra onun üzerine üç düğme koyuyor. Düğmeler FlowLayout yöneticisi tarafından konuşlandırılıyor.

package frame;
import java.awt.*;
import javax.swing.*;
public class JFrameDemo {
public static void main(String[] args) {
//WindowUtilities.setNativeLookAndFeel();
JFrame f = new JFrame("Deneme");
f.setSize(400, 150);
Container content = f.getContentPane();
content.setLayout(new FlowLayout());
content.add(new JButton("Button 1"));
content.add(new JButton("Button 2"));
content.add(new JButton("Button 3"));
//f.addWindowListener(new ExitListener());
f.setVisible(true);
}
}

çıktı:

Button1 Button2 Button3

Bir konumuzun daha sonuna gelmiş bulunarak java programlama temellerini burada sonlandırmış oluyoruz. Bu yazılarımızda öğrendiklerimizle java programlama öğrenilmiş olunmuyor tabiki fakat burada gördüklerimiz detayına girmeden, genel bir anlatım biçimidir diyebiliriz, umarım bu yazdıklarım işinize yaramış ve sizlere yeni şeyler öğretmiştir. Asla umutsuzluğa kapılmayın nasıl öğrenicem stresine girmeyin eğer araştırır ve gerçekten bir şeylerin peşine düşerseniz aşamayacağınız hiç bir engel kalmaz yeter ki içinizden gelerek keşfetmek, öğrenmek için bir çabanız olsun…

İyi çalışmalar dilerim, sevgiyle kalın 💐 :)

--

--

Mysterious Developer
Mysterious Developer

Written by Mysterious Developer

Enthusiastic Developer on Tech Stack

No responses yet