ana sayfa : araştırma : java uygulamaları : java appletleri [ 6 / 12 ]

GERİ

6 JAVA APPLETLERİ

 

Java programları iki ana grupta toplanabilirler

 

  • Appletler
  • Uygulamalar (applications)

 

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.

 

  • Appletler, kullanıcının dosyalarına yazamaz veya onları okuyamazlar. Kullanıcı tarafından listede belirtilen dosyalar istisna olarak kabul edilirler. Normalde ise kullanıcı bir şey belirtmediği sürece istisnasız bütün dosyalar erişim dışındadır. Bazı web gezginleri daha da ileri gidip ağı kullanırken dosya ile çalışmaya izin vermezler.

 

  • Appletler kendilerini saklayan sunucular dışındaki sunucular ile haberleşemezler.
  • Appletler, istemci sistem de hiç  bir program çalıştıramazlar.
  • Appletler, istemci sistem de paylaşımlı olsa dahi hiçbir program yükleyemezler.

 

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) {

.....

}