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

Applet Kullanımı

Applet Yazmak

Applet class'ı aslında sıradan bir AWT component'idir. Sadece bir web sayfası içinde çalışması için gerekli bazı özellikler eklenmiştir. Güvenlik nedeniyle de bazı işlemleri yapması sınırlandırılmıştır. Bir applet yazmak java.applet.Applet class'ını extend etmek demektir.

Ekrana bir yazı yazan Applet yapalım.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import java.applet.*;
  2 import java.awt.*;
  3 public class GreeterApplet extends Applet{
  4   public void init(){
  5     System.out.println("Initializing..");
  6   }
  7   public void destroy(){
  8     System.out.println("Destroying..");
  9   }
 10   public void start(){
 11     System.out.println("Starting..");
 12   }
 13   public void stop(){
 14     System.out.println("Stoping..");
 15   }
 16   public void paint(Graphics g){
 17     System.out.println("Panting..");
 18   }
 19         
 20 }

Bir Applet'i HTML içerisine yerleştirmek

Bir appleti HTML içerisine yerleştirmek için <applet> tag'ı kullanılır.

<!-- Greeter.html -->
<html>
<body>
	<applet code="GreeterApplet.class" width="100" height="200">
	</applet>
</body>	
</html>

Bu örnekteki GreeterApplet.class dosyasıyla Greeter.html dosyası aynı yerde olmalıdır. Tarayıcıda bu .html tıklanırsa önce client'a HTML gelir. Applet tag'iyle karşılaşınca tarayıcı appletin class'ını server'dan önce indirir, sonra yükler ve çalıştırır.

Component Yerleştirme

Applet de bir AWT bileşenidir. Container'ı extend etmiş bütün class'larda olduğu gibi içerisine herhangi bir Component konabilir. Bir düğmeye basılma miktarını sayan bir applet yazalım.

Göster Gizle Kopar Satır Gizle Satır Göster
  1 import java.applet.*;
  2 import java.awt.*;
  3 import java.awt.event.*;
  4 public class PressCounterApplet extends Applet implements ActionListener{
  5   private int count=0;
  6   private Button button=new Button("Press me!");
  7   
  8   public void init(){
  9     button.addActionListener(this);
 10     add(button);  
 11   }
 12   public void paint(Graphics g){
 13     String string=Integer.toString(count);
 14     g.drawString("Count : "+count,100,100);
 15   }  
 16   public void actionPerformed(ActionEvent e){
 17     count++;
 18     repaint();
 19   }
 20 }

Görüldüğü gibi applet çalışmaya başladığında yapılacakları

public void init()

şeklinde bir method içerisinde belirledik. Applet application olmadığından main() method'u yazmanın anlamı yoktur. Tarayıcı appleti yükleyince init() method'unu çağırır. Bu method bütün appletlerin super class'ı Applet class'ının içerisinde tanımlanmış olup, default olarak hiç bir işlem yapamamaktadır. Applet class'ını extend eden class'da bu method override edilir. Bu method'un adını başka türlü yazarsak, parametrelerinde veya dönüş tipinde herhangi bir değişiklik yaparsak yazdığımz method'u kimse çağırmayacağından işlevsiz olur.

Java Console'un Kullanılması

Bir application'da

System.out.println("Message");

yazıldığında çıktı "standart output" diye adlandırılılan ortama aktarılır. Standart output hata ayıklamakta, programın akışı hakkında bilgi vermekte ve exception'ların trace'lerini basmakta kullanılır. Applet uygulama olmadığı için böyle output'a normal şartlarda sahip olamazlar. Ancak Java Console denilen pencerede applet içinde standart output'a basılan text'i görmek mümkün olmaktadır. Java Console'un etkinleştirilmesi ve gösrerilmesi tarayıcıya ve Java versiyonuna göre değişir.

Code Base ve Document Base

Bir applet'in .class'ının bulunduğu directory code base'dir. Buna karşın appletin içine konulduğu HTML dosyasının bulunduğu directory document base'dir. Normal olarak ikisi aynı yerdedir. Ancak herhangi bir yerde bulunan HTML dosyası herhangi bir appleti içerisinde gösterebilir. Bu durumda code base ile document base ayrılmış demektir. Applet'in code base'i HTML dosyası içerisindeki <applet> tag'inin bir attribute'si olarak verilir:

<applet code="MyApplet.class" codebase="http://www.anotherhost.com/path">

Bir applet yüklendiği code base'i ve HTML'in bulunduğu document base'i

URL codebase=getCodeBase();
URL docbase=getDocumentBase();

biçiminde öğrenebilir. Bu method'lar belli bir konumdan image veya sound gibi dosyaları yüklerken faydalı olabilir. Çünkü yüklenecek dosya genellikle ya document base'e ya da code base'e konur.

Dosya Listesi

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