İleri Programlama Dersi 8. Ünite Özet
Java’da Kullanıcı Arayüzü Tabanlı Programlama
- Özet
- Sorularla Öğrenelim
JAVAFX Temelleri
Java programlama dilinde, kullanıcı arayüzü geliştirmek için sırasıyla:
- AWT
- Swing
- JavaFX
isimli kütüphaneler kullanılmıştır. Kullanım sırasına göre ilk ortaya çıkan AWT iken AWT daha sonra yerini Swing’e bırakmıştır ve JavaFX ise en son şekillendirilen arayüz olmuştur.
JavaFX iki farklı şekilde kullanılmıştır:
- Arayüz görünümü oluşturmak için tamamen Java program kodlarının kullanıldığı durum
- FXML dediğimiz başka bir dosya yapısının bu sürece dâhil edilmesiyle kullanıcı arayüzünün ayrı bir dosya içerisinde oluşturulması
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından Button, düğme bileşeni oluşturmak için kullanılır.
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından CheckBox, işaret kutusu bileşeni oluşturmak için kullanılır
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından ComboBox, açılır kutu bileşeni oluşturmak için kullanılır.
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından Label, etiket bileşeni oluşturmak için kullanılır.
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından ListView, liste bileşeni oluşturmak için kullanılır.
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından PasswordField, şifre alanı bileşeni oluşturmak için kullanılır
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından RadioButton, radyo düğmesi bileşeni oluşturmak için kullanılır.
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından ScrollBar, kaydırma çubuğu bileşeni oluşturmak için kullanılır
JavaFX’te kullanıcı arayüzü oluştururken kullanılan Java sınıflarından TextField, metin alanı oluşturmak için kullanılır.
JavaFX uygulaması olacak sınıfın Application sınıfından kalıtım yoluyla türemiş ve start metodunu eziyor olması gerekir. Bahsedilen start metodu Stage sınıfı türünde bir parametre almaktadır. Stage sınıfı, ekranda bir form oluşmasına olanak sağlayacaktır. Birden fazla form oluşturulması söz konusu ise Stage sınıfından istenilen sayıda kullanılması gerekecektir. Ancak bu ünitenin içeriğindeki tüm örneklerde tek bir Stage sınıfı kullanılmaktadır. Ayrıca, arayüz oluşturmak için Stage sınıfı ile ilişkilendirilmiş Scene türünde sınıfımız bulunacaktır. Scene türündeki nesneler aynı anda en fazla bir adet Stage türündeki nesne ile ilişkilendirilebilir. Scene sınıfının içerilerinde etiket, metin alanı vb. grafik kullanıcı arayüzü elemanları yer alabilmektedir.
setTitle metodu, stage nesnesinin başlığını belirlemek için kullanılır.
show metodu, stage nesnesinin, başka bir deyişle form penceresinin, görünür hale gelmesini sağlar.
main metodu, uygulamanın çalıştırılmasını sağlamak için kullanılır.
JavaFX kütüphanesi içerisinde farklı şekilde yerleşimlere olanak sağlayan HBox sınıfının işlevi, bileşenlere tek bir satırda yatay olarak yerleşim sağlamasıdır.
JavaFX kütüphanesi içerisinde farklı şekilde yerleşimlere olanak sağlayan VBox sınıfının işlevi, bileşenlere tek bir sütunda dikey olarak yerleşim sağlamasıdır.
JavaFX kütüphanesi içerisinde farklı şekilde yerleşimlere olanak sağlayan BorderPane sınıfının işlevi, bileşenlere üst, alt, sağ, sol, merkez şeklinde yerleşim sağlamasıdır.
JavaFX kütüphanesi içerisinde farklı şekilde yerleşimlere olanak sağlayan GridPane sınıfının işlevi, bileşenlere ızgara şeklinde yerleşim sağlamasıdır.
Kullanıcı Arayüz Tasarımı
setConstraints metodu, sırasıyla bileşen adı, sütun ve satır indekslerini parametre olarak almaktadır. Java programlama dilinde indeks deyimleri 0’dan başlamakta olduğundan “1,2” ile belirtilen indeks 2. sütun ve 3. satırı ifade etmektedir.
getChildren metodu, temel anlamda o ana kadar eklenmiş olan bileşenlerin listesini döndürmektedir.
getChildren metodunun sonrasında çağrılan addAll metodu bileşenlerin GridPane türündeki nesnenin içerisine eklenmesi için kullanılmaktadır.
VBox sınıfı kullanıldığında bileşenlerin tek bir sütunda dikey olarak yerleşir.
HBox sınıfı kullanıldığında bileşenlerin tek bir sütunda yatay olarak yerleşir.
setSelectionMode metodu, aldığı parametre SelectionMode.SINGLE olduğunda listenin tek elemanının, SelectionMode.MULTIPLE olduğunda ise listenin birden fazla elemanın seçilmesine izin verilmektedir.
setPromptText metodu ile ilgili alana tıklanıldığında kaybolan geçici metin eklenmektedir.
Olay Güdümlü Programlama
Olay, herhangi bir aktivitenin gerçekleşmesidir. Bu aktivitenin gerçekleşmesine sebep olan varlık da olayın kaynağı olarak adlandırılır. Olay gerçekleştikten sonra ne yapılması gerektiğinin tanımlanması da olay yönetimi olarak isimlendirilir.
setOnAction metodunun içeriğindeki kod olay yönetimini gerçekleştirmek amacını taşımaktadır.
Mesajların ayrı bir pencerede görüntülenmesi için Alert isimli sınıf kullanılmaktadır.