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