AWT,Swing, GUI

advertisement
Dr. Galip AYDIN
http://web.firat.edu.tr/bilmuh/bmu112/
Ders Notları
Kaynaklar
 Araçlar
 Duyurular



Java ile Görsel Programlama
 AWT ve Swing uygulamaları


Java Appletler
Nesne Tabanlı Programlama
 Nesnelerin yeniden kullanımı, Kompozisyon
 Kalıtım ve Polimorfizm
 Soyut Sınıflar ve Arayüzler

Veri Yapıları
 Diziler, Yığın, Kuyruk, Liste, Ağaç yapıları
Java ile veritabanı uygulamalarına giriş
(JDBC - Java Database Connectivity)
 Java ile Internet programlamaya giriş

 Web Servers,
 (JSP - Java Server Pages)

JDK (Java Development Kit)
 http://java.sun.com/javase/downloads/index.jsp


JRE (Java Runtime Environment)
NetBeans 6.9 IDE
 http://www.netbeans.org

Geniş Kapsamlı bir Dönem Projesi
 Proje Konuları
 Takımlar (? kişi)
 Ara raporlar
 Proje notları

Oyunlar
 Super Mario, Tank vs., Trivia, Genel Kültür, Var
mısın Yok musun?

Dosya yöneticisi
 Dosya arama, karşılaştırma, duplicate dosyaları
bulma, batch dosya işlemleri vs.


Web tabanlı otomasyon, kayıt sistemi...
Java FX ?
Dr. Galip AYDIN



AWT ve Swing
AWT, (Abstract Window Toolkit) ilk java ile birlikte gelistirilen temel grafik
arayuz olusturma kutuphanesine verilen isimdir. Ancak Java 2 platformu
ile birlikte AWT'nin yetersiz gorulmus ve cok daha genis ve gelismis
ozelliklere sahip Swing kutuhanesi sisteme eklenmistir. Ozellikle cok
platform destekleyen yazilimlarda kullanici arayuzu gelistirme araci
olarak swing halen onemini korumaktadir.
Swing, onceleri isletim sisteminin kullandigi donanim grafik hizlandirma
araclarini kullanmadigindan yavasligi ile elestirilere hedef olmustu.
Ozellikle Java 1.4 ile Swing, hem genel olarak sanal makinenin hizlanmasi
ve kismen donanim hizlandirmayi kullanmasi ile bu kotu sohretinden
siyrilmaya basladi. Java 1.5 ile donanim, ozellikle OpenGL kullanimi ve
yeni arayuz gosterim sekli ile java'nin masaustu uygulama gelistirmede
populerlesmesi bekleniyor. AWT halen swingin bir alt katmaninda, temel
2 boyutlu grafik islemlerinde kullanilmaya devam ediyor.
SWT: The Standard Widget Toolkit
Swing'e bir alternatif olarak IBM tarafindan gelistirilen bir
gosterim sistemidir. Swing'den en buyuk farki calistigi isletim
sisteminin grafik kutuphanesi ve komutlarini kullanmasidir. Bu
nedenle SWT uygulamalari Swing'e gore cogu yerde daha hizli ve
isletim sistemindeki diger uygulamalari andiran bir sekilde
calismasini saglar.
• Swingin Java 1.5 ile performans acigini kapatacagi iddia edilse de
SWT'nin de artik java camiasinda kabul gormus bir sistem oldugu
asikardir. SWT'nin dezavantaji ise java'nin bir parcasi olmamasidir.
yani SWT uygulamalari SWT kutuphanesi ile birlikte
dagitilmaktadir.
• En bilinen SWT uygulamasi unlu java yazilim gelistirme araci
Eclipse'tir. Bununla birlikte son yillarda Swing ile profesyonel
derecede arayuza sahip masaustu yazilimlari da ortaya cikmistir.
•
•
•
Applet, uzaktaki sistem uzerinden indirilip internet
tarayici uzerinde calistirilabilien java uygulamalarina
verilen isimdir. Java'nin son kullanicilar tarafindan
taninmasi applet sayesinde olmustur dersek yanlis
olmaz. Applet'ler sisteme zarar veremeyecek bir
sekilde tasarlanmistir ve bugun ozellikle oyun
sitelerinde halen yaygin olarak kullanilmaktadir.
Icerisinde applet olan bir sayfayi acmaya calistiginizda
tarayiciniz otomatik olarak java sanal makinesini
calistirip ekranin applet'e ayrilan bolumunde
uygulamanin calismasini saglar.

Oluştur:
▪
▪
▪
▪

Listener
Frame/JFrame
Panel/JPanel
Components
Listeners
Ekle:
▪ Listeners into components
▪ Components into panel
▪ Panel into frame
JLabel
JButton
JPanel
JFrame
1.
2.
3.
4.
Oluştur
▪ Nesneyi başlat:
JButton b = new JButton();
Özelliklerini belirle
▪ Metodlar:
b.setText(“Press me”);
Ekle
▪ panel.add(b);
Dinle
▪ Events: Listeners
import javax.swing.*;
class Hello {
public static void main(String[] args){
JFrame f = new JFrame(“Merhaba SWING”);
JPanel p = new JPanel();
JButton b = new JButton(“TIKLA”);
p.add(b);
// butonu panele ekle
f.getContentPane().add(p); // paneli frame’e ekle
f.show();
}
}
▪ Swing dizaynında kullanılan temel bileşenler
▪ Üst seviye Taşıyıcı (Top-level Container)
▪
▪
▪
Örnek: JFrame
Diğer bütün swing bileşenlerini taşır
Diğer seçenekler: JDialog ve JApplet
▪ Orta seviye Taşıyıcı (Intermediate Container)
▪
▪
▪
▪
Örnek: JPanel
GUI bileşenlerinin yerlerini kontrol etmek için kullanılır
Aracı olarak hareket eder
Diğer seçenekler: JScrollPane, JTabbedPane, …
▪ Atomik Bileşenler
▪
▪
▪
Örnek: JButton
Tek başına işlev sahibi GUI bileşenleri
Diğer seçenekler: JTextField, JTable,
Üst seviye taşıyıcılar: JFrame, JDialog, JApplet
Content pane: JApplet, JDialog, ve Jframe nesneleri için temel taşıyıcı
Temel kontroller: JButton,
JComboBox, List, Menu, Slider,
JTextField, JLabel, progress bar,
tool tip
Genel amaçlı taşıyıcılar:
Panel, scroll pane, split pane,
tabbed pane, tool bar
İç yapısı
JFrame
JPanel
JFrame
JButton
taşıyıcılar
JPanel
JLabel
GUI
JButton
JLabel
Download