nesne yönelimli programlama

advertisement
NESNE YÖNELİMLİ PROGRAMLAMA – HAFTA # 10
Yrd.Doç.Dr.Hacer Karacan
İçerik
• Grafik Kullanıcı Arayüzü Uygulamaları
▫ AWT, Swing
▫ Arayüz Yerleşim Düzeni
▫ Temel GKA Bileşenleri
• Olay Yönetimi
▫
▫
▫
▫
Olay Dinleyiciler
Olay Yönetimi Süreci
Adapter Sınıfı
Bileşenler ve Olay Yöneticileri
Grafik Kullanıcı Arayüzü Uygulamaları
• Makinelerle kullanıcı arasında etkileşimi sağlayan birimlere kullanıcı
arayüzü denilmektedir.
• İlk başlarda sadece klavye ile başlayan bilgisayar kullanıcı arayüzleri,
ekran fare ve sonrasında grafik bileşenlerin kullanımıyla kullanıcıya
son derece kolay kullanım imkanları sunmaktadır.
• Sun java ile geliştirilen yazılımlar için iki grafik kullanıcı arayüzü
kütüphanesi sunmaktadır:
▫ AWT (Abstract Window Toolkit)
▫ Swing
AWT (Abstract Window Toolkit)
• Java programlama dilinin, platformdan bağımsız, görsel kullanıcı
arayüzü üretimini sağlayan araç kütüphanesidir.
• En büyük dezavantajı, kullanıldığı platformda, grafik tabanlı
bileşenlere doğrudan aracı katmanlar bulunmadan ulaşmasıdır.
▫ Her platformda kullanılan farklı grafik bileşenlerinin ortak özellikleri
kullanılmış, platformdan platforma değişebilen farklılıklar gözardı edilmiş.
▫ “bir kere yaz, her yerde çalştır” sloganına uymaz.
 Örn. UNIX sisteminde çalışan bir program, MAC platformunda çalıştırıldığında
farklı sonuçlar doğurabilir.
AWT (Abstract Window Toolkit)
SWING
• Java 2 platformu ile birlikte AWT yetersiz görülmüş ve çok daha geniş
ve gelişmiş özelliklere sahip Swing kütüphanesi sisteme eklenmiştir.
• Başlarda işletim sisteminin kullandığı donanım grafik hızlandırma
araçlarını kullanmadığından yavaşlığı ile eleştirilere hedef olmuştur.
▫ Java 1.4 ile donanım hızlandırmayı kullanmaya başlamıştır.
• AWT halen Swing’in bir alt katmanında temel iki boyutlu grafik
işlemlerinde kullanılmaya devam etmektedir.
SWING
Arayüz Yerleşim Düzeni
• Bir grafik kullanıcı arayüz uygulaması yapmadan önce bileşenler
arasındaki şu ilişkiler dikkate alınmalıdır:
▫ Bileşenler hangi kapsayıcı bileşenlerin içerisine yerleşebilir
▫ Kapsayıcı bileşenlerin seviye ve türleri
▫ Yerleşim düzenleyiciler ve bunların türleri
Temel GKA Bileşenleri
Üst Düzey Kapsayıcı Bileşenler
Orta Düzey Kapsayıcı Bileşenler
Orta Düzey Kapsayıcı Bileşenler
Atomik Bileşenler
Yerleşim Bileşenleri
Border Layout
Border Layout
Flow Layout
Card Layout
Grid Layout
Olay Yönetimi
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Dinleyiciler
Olay Yönetimi Süreci
Olay Yönetimi Süreci
Olay Yönetimi Süreci
Adapter Sınıfı
• Olay adaptörleri, dinleyicilerin tüm metodlarını içlerinde
barındıran sınıflardır.
• Var olan bir arayüzü, istemcinin önceden kullandığı arayüze
uyarlar.
Adapter Sınıfı
• Adapter sınıfları, arabirim metodlarının sadece küçük bir kümesine ihtiyaç
duyduğunuzda kullandığınız ve yazmanız gereken kod miktarını azaltan
sınıflardır.
• Her adapter sınıfı ilgili arabirimi (veya arabirimleri) tam olarak gerçekleştirir.
Böylece, ilişkili metodların küçük bir kümesine ihtiyaç duyarsanız, sadece
kullanmak istediğiniz metodu doldurarak kullanabilirsiniz.
MouseListener mouseListener = new MouseAdapter() {
public void mousePressed(MouseEvent mouseEvent) {
System.out.println("Basildi: " + mouseEvent);
}
public void mouseReleased(MouseEvent mouseEvent) {
System.out.println("Birakildi: " + mouseEvent);
}
};
• Bu kod MouseListener yaratacaktır. Ancak, tüm metodları gerçekleştirmek
yerine, MouseAdapter yardımıyla sadece ihtiyaç duyduğumuz metodlarını
gerçekleştirmemiz mümkün olacaktır.
Bileşenler ve Olay Yöneticileri
• Olay yönetimleri yazılım geliştirme ortamlarınca (IDE)
otomatik olarak arka planda tanımlanmaktadır.
• Olay yönetiminin elle yapılması tercih edilmez ama kod
hakimiyeti açısından programcı işlemin nasıl yapıldığını
bilmelidir.
• Olay yönetiminin ilk adımında olayları yönetebilecek bir
bileşene ihtiyaç duyulur.
▫ Bileşen  Kullanıcıyla etkileşime geçebilen görsel nesne
Bileşenler ve Olay Yöneticileri
Bileşenler ve Olay Yöneticileri
Bileşenler ve Olay Yöneticileri
Özet
• Program çalışırken kullanıcı tarafından gerçekleştirilen tüm
hareketlere olay(event) denilir.
• Kullanıcının fareyi hareket ettirmesi, tuşlara basması, bir
butona basması, pencerenin kapatılması vb.
• Olay yönetimi, görsel programlamanın olmazsa olmaz
öğesidir.
• Java’da bir olay gerçekleştirilirken 4 rol bulunmaktadır:
▫
▫
▫
▫
Olay Kaynağı
Olay Nesnesi
Olay Dinleyicileri
Olay İşleyicileri
Download