ana sayfa : araştırma : java uygulamaları : java appletleri [ 6 / 12 ] |
|
GERİ | |
6
JAVA APPLETLERİ
Java programları iki ana
grupta toplanabilirler
Appletler WWW’den yüklenen
ve kullanıcının sisteminde çalıştırılan programlardır. Appletlerin
çalıştırılabilmesi için web gezgininin Java desteğine sahip olması
gerekir. Java uygulamaları ise,
Java dilinde yazılmış daha geniş programlardır. Bu programların çalışabilmesi
için web gezginine ihtiyaç yoktur. Java ile bir programlama dilinde yapılabilecek
her şey yapılabilir. Hotjava, Javada yazılmıştır.bnasit bir
Java programı bile yazılış şekline ve kapasitesine bağlı olarak
uygulama ve applet hatta her ikisi birden olabilir. (Grup Java,2000) Applet’ler bir web
gezginine ihtiyaç duyarlarken, Java uygulamaları herhangi bir web
gezginine ihtiyaç duymazlar. Applet’ler bir web sayfası
içinde sürekli değişken (dinamik) ve kullanıcı ile diyalog kuran
programlardır. Bu programlar Netscape, İnternet Explorer gibi JAVA’yı
destekleyen ağ tarama programları tarafından ekranda belirirler. Lokal çalışmalarımız
için, bu programların ekrana yansımaları Applet Viewer tarafından yapılır.
Appletler yardımı ile HTML sayfalarının performansı büyük ölçüde
artar.(Grup Java,2000) Java’nın tanınmasının
en önemli sebebi Java’yı destekleme özelliklerine sahip web
gezginleridir. Bu web gezginleri aynı zamanda appletleri de çalıştırabildiklerinden
dinamik, interaktif Web sayfalarının oluşturulmasında Java’nın popülaritesini
artırmaktadırlar. 6.1
Appletler ve Uygulamalar Arasındaki Farklar
Java uygulamaları, sadece Java yorumlayıcısının
kullanımıyla çalıştırmak için yeterli olan programlardır. Java appletleri ise, web gezgini vasıtasıyla çalıştırılabilir.
Applet için gerekli referans Web sayfasında özel HTML komutu ile sağlanır.
Kullanıcı Java’yı destekleyen bir web gezgini kullanıyorsa appletide
web sayfası ile birlikte yükler. Web gezgini web sunucusundan appleti yükler
ve lokal sistem üzerinden çalıştırır. Java appletleri, Java web gezgini içinde çalıştırıldığından
web gezgininin imkanlarından yararlanabilir. Var olan pencereler, grafik
ara yüzler ve bunları çevreleyen kullanıcı ara yüzü web gezgini tarafından
rahatlıkla kullanılabilir. Java uygulamaları bu yapıları oluşturabilirler.
Fakat, çalışmaları için bu tür yapılar gerekli değildir. Appletlerin herhangi bir yerden yüklenebilmeleri ve
çalıştırılmalarının kullanıcı makinesinde olması nedeniyle güvenlik
açısından bazı kısaltmalar kaçınılmazdır. Bunlar olmazsa appletler
içinde kolayca virüsler veya truva atları (kod değiştirip virüs haline
geçen programlar) gizlenebilir. Bütün bu tehlikelerin önüne geçmek için şu önlemler
alınmıştır.
6.2
Java ve Javascript Arasındaki Farklar Nelerdir?
Her ne kadar adları birbirinin nerdeyse aynısı olsa da Java ile
JavaScript aynı şeyler değildir. Java bir programlama dilidir, JavaScript
ise bir scripttir(Adından anlaşıldığı gibi). Farkları ise; Java ile
gerçek programlar yazarsınız ancak program yazmakla uğraşmadan güzel
şeyler yaratmak istenildiğinden ve ağır çalıştığından dolayı Java
çok yaygınlaşmamıştır. JavaScript, ayrı bir programlama dilinden çok
HTML'nin bir uzantısıdır denebilir. Tabii ki bu 'resmi' bir tanımlama değil,
ama Java ve JavaScript arasındaki farkı anlatmak için iyi bir tanımlamadır.
6.3
Applet Oluşturma
Applet oluşturmak için öncelikle applet alt sınıfı
oluşturulur. Bu ise Java.applet paketinde bulunur. Böylelikle applete web
gezgini ortamında çalışmanın yanında awt içinde bulunan kullanıcı
ara yüzlerinin kullanımını da sağlanır. Applete istenildiği kadar
yardımcı kullanılabilmesine rağmen main applet appletin çalıştırılmadını
başlatır. Bu applet şu yapıya sahiptir. Public
class sınıfım extends Java.applet.Applet { ... } Public komutuna dikkat
edilmelidir. Applet alt sınıfının bu şekilde bildirilmesi Java için
gereklidir. Bu gereklilik sadece main applet için gereklidir. Yardımcılar
ise public veya privat olabilirler.(Tanyeri,1997) Java Web sayfası içindeki applete rastlandığında
ilgili yardımcı sınıflarla beraber appleti kullanıcı sisteme yükler.
Main() metodunun aksine applet yüklendiğinde Java ilgili sınıfa ve onun
çağırdığı diğer sınıflara ait örnekleri oluşturur. Aynı sınıfı
kullanan değişik appletler değişik örnekler kullanırlar. Böylelikle
aynı web gezgini altında bile davranış gösterebilirler. 6.4
Önemli Applet Aktiviteleri
Basit
bir Java uygulaması için kullanılan sınıfın main;() metodunu içermesi
gerekir. Main() kullanılarak programın gerekli davranışı göstermesi sağlanabilir.
Appletler’de ise durum benzer olmakla beraber daha karışıktır. Applet
içindeki her davranış ilgili bir metodla bağlantılıdır. Davranışı
gerektiren durum ortaya çıktığında web gezgini ilgili metodu çağırır. Bu
metodlar default olarak hiçbir operasyon yapmamaya ayarlanmışlardır. İstenen
davranışı sağlamak için ilgili metodun üstüne yazma programcı tarafından
yapılmalıdır. Genel
olarak kullanılan beş önemli metod şunlardır. ·
İlk
değer atama ·
Başlama ·
Durma ·
Çıkma ·
Boyama 6.4.1
İlk değer atama
İlk
değer atama applet ilk kez yüklenirken gerekir. Appletin gerek duyabileceği
nesne oluşturmalarda bu esnada yapılır. Başlangıç koşulları,
resimlerin yüklenmesi ve değişkenlere ilk değer atama hep bu esnada yapılır.
Appletin istenen davranışı göstermesi için init() metodunun üzerine
yazma yapılır.(Grup Java,2000) Public
void init() { .... } 6.4.2
Başlama
Applete ilk değer ataması yapıldıktan veya
durdurulduktan sonra çalıştırılmak istendiğinde bu adımatılır. Başlama
adımı appletin aktif olduğu sürece defalarca atılabilir. İlk değer
atama ise sadece bir kez olur. Appletin davranışı göstermesi için start
metodunun üstüne yazma yapılır. Public
void start () { .... } Start () metodu
içinde appletle ilgili kontroller ve mesaj rutinleri bulunabilir. 6.4.3
Durma
Durma, başlamanın adeta ikiz kardeşidir. Kullanıcı,
appletin bulunduğu sayfayı terk ederse durma oluşur. Normal olarak kullanıcı
appletin bulunduğu sayfayı terk etse dahi applet aktif olarak bekler. İstenen
davranış stop metodunun üstüne yazma yapılır. Public
void stop () { .... } 6.4.4
Çıkma
Çıkma, appletim kendisini web gezgini çıkışının
hemen ardından hafızadan temizlemesidir. Genelde bu işlem standart bir
procedür olduğundan detsroy() metodunun üstüne yazma özel durumlar
haricinde gerekmez. Destroy() ile finalize () arasındaki en önemli fark
destroy(= sadece appletlere uygulanırken finalize() daha genel amçlıdır. Public
void destroy() { .... } 6.4.5
Boyama
Boyama appletin ekrana herhangi bir şey bastırmasıdır.
Appleti aktif olduğu müddetçe sayısız kez olabilecek bir işlemdir. Özellikle
animasyon içeren appletlerde yüzlerce kez tekrarlanabilen işlemdir. Paint() metodunun üstüne yazılarak appletin
istenildiği şekilde görünmesi sağlanır. Diğer metodların aksine
paint() argüman içerir. Argüman Graphics sınıfına ait bir örnektir.
Bu nesne web gezgiğni tarafından oluşturulup applete aktarılır.
Programcının yapması gereken tek şey Graphics sınıfının applet
koduna aktarılmasını sağlamaktır. Kullanılan komut ise; İmport Java.awt.Graphics Şeklindedir. Paint
için kullanılan komut ise şu şekildedir: Public
void paint (Graphics 9) { .....
|