Yazan : Şadi Evren ŞEKER

Bu yazının amacı, JAVA programlama ortamında kullanılan applet teknolojisine hızlı bir başlangıç yapmak ve basit bir appletin nasıl kodlanıp çalıştığını göstermektir.

Öncelikle applet nedir bundan bahsedelim. Applet teknolojisi aslında JAVA’nın günümüzdeki tahtına ulaşmasında en önemli role sahip olan teknolojilerindendir. Sene 1995-1996 yıllarında henüz en güçlü internet taryıcısı Netscape Navigator iken ve bilgisayarlar internette yeni dolaşmaya başlamışken görsel olarak içerik hazırlama problemi bulunuyordu. Örneğin hareketli animasyonlar yapmak veya kullanıcı ile etkileşimli uygulamalar yazmak mümkün değildi.

İşte tam bu noktada HTML kodu içerisine kolaylıkla gömülebilen ve insanların bir programlama dilinde döngüler (for,while gibi) ve koşullar (if) yazabildiği bir ortam JAVA tarafından sunuldu.

Bu durum flash animasyonları yazılana kadar da devam etti. Günümüzde ise HTML 5.0’ın gelmesi ile flash animasyonlarının ve java appletlerinin yıllardır sunduğu çoğu özellik doğrudan HTML dilinde kodlanabilir hale geldi. İşte bu JAVA kodlarını web sayfaları üzerinden yayınlayıp tarayıcılarımızın da bu kodları çalışıtrmasını sağlayan teknolojiye applet ismi veriliyor.

Basitçe sunucu tarafında, daha önceden derlenerek oluşturulmuş byte code (yani class uzantılı dosyalar) duruken, appletimizi görmek isteyen kişi kendi bilgisayarına, sayfadaki diğer resimleri indirir gibi indiriyor (download) ardından da kendi bilgisayarında kurulu olan JRE sayesinde appleti çalıştırarak sayfa içerisinde görüntülüyor.

Elbette appletler üzerinden güvenlik ihlali olmasına karşılık bir takım kısıtlamalar bulunuyor, örneğin indiren kişinin bilgisayarındaki dosyalara erişmesi veya internet kaynaklarını kullanması gibi kısıtlar bulunuyor. Bunlar, çok daha sonraları çıkan güvenilir appletler (trusted applets) teknolojisi ile probleme bağlı olarak çözülmüştür ancak appletin doğası itibariyle böyle kısıtları bulunur.

Şimdi basit bir applet kodlayarak kodunu anlatalım ve nasıl çalışıtrıldığını gösterelim.

import javax.swing.JApplet;
import java.awt.Graphics;

public class ilkApplet extends JApplet{
	public void paint(Graphics g){
		super.paint(g);
		g.drawString("Merhaba BilgisayarKavramlari.com",10,10);
	}
}

Yukarıdaki kodda, basitçe bir class yazılmış ve ismi ilkApplet olarak verilmiştir. Sınıfın özelliği JApplet sınıfından kalıtım alıyor olmasıdr (inheritance) dolayısıyla bu yeni sınıfımız, JApplet sınıfının taşıdığı bütün özellikleri taşıyacak ve kısacası bir Applet olacaktır.

Swing kütüphanesi altında sunulan JApplet’e benzer şekilde AWT (Active window toolkit) kütüphanesi altında da Applet isimli bir sınıf bulunmaktadır (java.awt.Applet şeklinde) alternatif olarak bu sınıf da kullanılabilir. Swing ve awt arasındaki fark bu yazının konusu dışındadır ancak kısaca AWT bileşenlerinin ağır (heavyweighted) swing bileşenlerinin ise hafif (lightweighted) olduğunu söylemekle yetinelim.

Kodda, ayrıca bir paint fonksiyonu kodlanmıştır ki bu Appletlerin görsel öğelerinin yazıldığı özel bir fonksiyondur. Aslında burada yapılan, tam olarak JApplet sınıfında zaten bulunan paint fonksiyonunun üzerine bindirme (overriding) işlemidir.

super.paint(g) satırı, kalıtım alıdğımız JApplet sınıfının grafik bileşenine atıf ile çağırma (call by reference) sayesinde, şu anda kullandığımız değişkeni göndermekte, daha temiz bir Türkçe ile bundan sonra g değişkeni üzerinde yapacağımız bütün işlemlerin, aslında Appleting grafik bileşenine yapıldığını ifade etmektedir.

Ardından g.drawString fonksiyonu ile ekrana bir yazı yazdırılmaktadır. Bu fonksiyon 3 parametre alır. Bunlar yazılacak yazı, ve yazının yazılacağı x ve y koordinatlarıdır. Yani yazımız appletin 10,10 koordinatlarına basılacaktır. Appletlerin 0,0 koordinatı sol üst köşedir.

Yukarıdaki kodumuzu yazdıktan sonra appleti çalıştırmak için bir de HTML kodu yazmamız gerekiyor. Aşağıda basit bir html kodu verilmiştir:

<html>
<applet code="ilkApplet.class" width=200 height=200>
</applet>
</html>

Görüldüğü üzere, kodun yapısı basit tutulmuş ve html etiketleri (tags) arasında <applet> etiketi kullanılmıştır. Yine bahsetmekte yarar var, applet tagi html 5.0 ile kaldırılmış bunun yerine object etiketi getirilmiştir ancak günümüzde kullanılan tarayıcılar eski kodları desteklediği için bu haliyle çalışacaktır. Applet etiketinin parametreleri sırasıyla .class uzantılı byte kod ve appletin web sayfasında kaplayacağı genişlik ve yüksekliktir.

Sıra geldi appleti çalıştırmaya:

Görüldüğü üzere, önce kodumuzu derledik ardından JDK kurulumu ile gelen appletviewer programı ile html dosyamızı çalıştırdık. Alternatif olarak bu html dosyasını bir tarayıcıda açmak da mümkündür.

 

Yorumlar

  1. Şadi Evren ŞEKER Article Author

    HTML kodunu, herhangi bir editor ile (örneğin notepad) yazdıktan sonra sonu .html ile biten bir dosyaya kaydetmeniz yeterlidir. Bu kaydettiğiniz dosya oluşturduğunuz .class dosyası ile aynı dizinde olmalıdır. Ardınan bu .html uzantılı dosyaya çift tıkladığınızda internet gezgininiz tarafınıdan açılacaktır.

    Başarılar

  2. astOzge

    merhaba hocam javayla ılgılı anlatımlarınızı çok begendım. Ben java dersı alıyorum ve çift yıldız animasyonu yapmak istiyorum nasıl yapmam konusunda fikir verebilir misiniz ?

  3. Aykut Barış ÇELİK

    Hocam Java bana ilk başta yerince karmaşık geliyordu. Şimdi diğer konularına da bakınca hepten karıştı. Çünkü bizde okulda Java görüyoruz ama finallerde java konusunda ne yapacağımı bilmiyorum. Javayı sevdiren, okuyunca bunaltmayacak bir kaynak biliyor musunuz?

  4. Can Özgen

    Hocam appletviewer ile çalıştırıyorum fakat tarayıcılarımdan html ile açtığım zaman bomboş bir sayfayla karşılaşıyorum applet tagleri arasındaki alan html’de hiç gözükmüyor. Kafayı yemek üzereyim sorun ne olabilir?

Şadi Evren ŞEKER için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir