İçindekilerGirişİndex
YukarıİlkÖnceki YokSonrakiSon
Geriİleri
Yazdır

AWT'ye Giriş

AWT Hakkında

AWT (Abstract Windowing Toolkit - Soyut Pencereleme Takımı) Java'nın grafikli kullanıcı arayüz ortamıdır. Başka bir deyişle pencereler, düğmeler, radyo butonlar ve menüler gibi görsel bileşenler içeren kütüphane AWT'dir. Öncelikle AWT'nin başarılması çok güç bir iş başardığını belirtmek gerekir. Çünkü Java, her işletim sisteminde çalışmak gibi bir iddiayla ortaya çıkan bir dil ama görsel bileşenler her işletim sisteminde çok farklı. Farklı görünmeleri önemli değil, bazı bileşenler bir işletim sisteminde bulunurken diğerinde olmayabiliyor. Bu yüzde AWT, en büyük ortak çarpanı buluyor. Yani bütün işletim sitemlerinde olan bileşenleri kullanıyor. Düğme hepsinde var ama tablo veya toolbar yok. Dahası her işletim sistemind eolan bileşenler de birbirlerinden farklı özellikler içeriyor. Java bunlardan sadece ortak olanları alıyor. O yüzden AWT ile yapılan arayüzler çok zengin ve çok güzel değil.

AWT'nin gerçekleştirilmesi için izlenen yol çok farklı. Her bileşen class'ı, aslında işletim sistemindeki bir bileşenin peer'i (eş'i ). Programcı bu class'lardan birinin bir method'unu çağırınca Java bunu alt tarafta bulunan gerçek bileşene iletiyor.O bileşende bir olay gerçekleşince de bu üst tarafa iletiliyor. Elbette bu işlem programcıya şeffaf. Yani programcı bunu bilmiyor.

AWT ve Swing

Java'da daha zengin bir arayüz sağlayan Swing kütüphanesi var. O da her işletim sisteminde aynı şekilde çalışmasına rağmen zengin bileşenler içeriyor. Ancak Swing, bunu işletim sisteminin bileşenlerini kullanmadan, her şeyi baştan kendisi yaparak başarabiliyor. Yani Swing'in düğme bileşeni, işletim sistemindeki düğme bileşeni değil. Ona benzetilen, ama baştan yaratılan bir bileşen. Swing, kendi bileşenlerini kendi yapıyor, sadece her işletim sistemine uygun bir şekilde gürünmelerini sağlıyor. Hatta istenirse bir işletim sisteminde başka bir işletim sisteminin gürünümü sağlanabiliyor. Yada hiç bir işletim sisteminde olmayan bir görünüm ortaya çıkabiliyor.

Swing, AWT'den farklı bir arayüz sağlıyor ama yine de kendisi AWT üzerine kurulu. Yani Swing, AWT'nin temel bileşenlerini kullanıyor. Zaten işletim sisteminin arayüzünün üzerine kurulan AWT. Swing, AWT'deki temel özellikleri kullanarak kendi bileşenini kendi yapmış oluyor. O yüzden AWT'de öğrenilen konulanrın %90'ı aynen Swing'de de geçerli. AWT'yi basit arayüzü nedeniyle tercih etmeyenler de Swing kullanabilmek için AWT'yi bilmek zorunda.

AWT'nin Çalışma Mantığı

AWT'nin çalışma mantığı diğer arayüz sistemlerinden biraz farklı. Nedenlerin bir tanesi AWT'nin başka işletim sistemlerinin üzerinde çalışmak zorunda olan bir kütüphane olması elbette. Ancak başa bir neden de, Java'nın Internet dili olarak, her türlü makinede çalışmak gibi bir ilkesi olması. Örneğin çok büyük ekranlı çok yüksek çözünürlüklü makinelerde de küçük ekran ve düşük çözünürlüklü makinelerde de çalışmalı. Bir browser içerisinde de çalışmalı bağımsız bir application olarak da çalışmalı. Bu gibi nedenlerden dolayı farklı bir arayüz sistemlerinde çalışanlar için biraz garip gelebilecek bir yapıya sahip. Örneğin, 'şu düğmeyi şu X ve şu Y noktasına koy' demiyorsunuz AWT'de. Onun yerine şunu ortaya şunu sola şunu yukarıya koy diyebiliyorsunuz. Belki bir anlamda sınırlayıcı olabilen bu özellik, pencerenin büyümesi veya küçülmesi durumunda da bileşenlerin görünmesini sağladığı için çok avantajlı olabiliyor.

Bir başka özelliği de arayüzün sadece kod yazarak kolaylıkla oluşturulabilmesi. Basit bir pencerenin içerisine bir tane düğme ve bir tekst alanı koymak için sadece bir kaç satır kod yeterli. Hiç bir görsel editör kullanmaya gerek yok. Elbette isteyen kullanabilir ama editör kullanmadan da çok iyi arayüzler üretilebilir.

Temel Class'lar

AWT'de en temel nesneleri Component, Container ve Window olarak verilebilir. Component tek başına işlev gören en küçük bileşendir. Button, TextField, List gibi bileşenler birer component'tir. Container, içerisinde başka componentler bulunduran bir component'tir. Window, içerisinde çeştili componentler veya container'lar bulunan, ekranda dikdörtgen şeklinde görülebilen bir alan anlamına gelir. Frame (title bar'ı minimize/maximize/close düğmeleri bulunan pencere) ve Dialog birer window'dur.

İçindekilerGirişİndex
YukarıİlkÖnceki YokSonrakiSon
Geriİleri
Yazdır