Applet Nedir?

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Applet Nedir?
Applet'ler bir web sayfası içinde sürekli değişken (dinamik) ve kullanıcı ile diyalog kuran programlardır. Bu programlar Netscape, Internet Explorer gibi JAVA'yı destekleyen ağ tarama programlama tarafından ekranda belirirler. Appletler yardımı ile HTML sayfalarının randımanı büyük öiçüde artar. Yapacağınız çalışmalar için JAVA diroctory'si altında bir alan açmanızda yarar var. Bu alana dilediğiniz ismi verin ve tüm hazırladığınız dosyaları bu alanın içine yerleştirin. Şimdiye dek sürekli olarak JAVA programlarının, yani applet'lerin HTML içinde bulunmaları gerektiğine değindim. Herhangi bir applet'i içine yerleştirebilmek için önce bir HTML sayfası yaratmanız gerekir. Her hangi bir editor kullanarak aşağıda görülen örnek HTML sayfasını yazın. (Editor olarak Windows'un NotePad veya Wordpad programlarından yararlanabilirsiniz. Diğer editorler dosya sonu kodu alan 1Ah'yı yaratılan HTML sayfasının sonuna yerleştirebilirler ve bu kodda web sayfanızın üzerinde görülebilir!)


<html>
<title>merhaba.html</title>
<body>

<h1>Eyup Atacan Sunar...</h1>
<applet code=merhaba.class width=150 height=150>
</applet>
<hr>
Bu HTML sayfası merhaba.class apletini kullanıyor
<hr>
<body>
</html>


Yazdığınız HTML sayfasını görebilmek için kullandığınız ağ tarayıcısı programını çalıştırın. Ağ tarayıcısı programı ile dosya aç (File Open) seçeneğinden hazırladığınız programı ağ tarama programında açın.
HTML sayfasının içindeki <h1>Eyup Atacan Sunar...</h1> satırı incelerseniz <h1> ve </h1> tanımlamaları arasındaki sabit yazının web sayfası üzerinde belirdiğini farkedeceksiniz.
Dikkat ettiyseniz

<applet code=merhaba.class width=150 height=150>
</applet>


satırlarındaki komutlar aşağıdaki şekilde görülmüyor.

merhaba.gif



<applet code=applet ismi ve boyutu>
</applet>


satırları arasında ağ tarayıcı program JAVA programını bekliyorlar. Biz de henüz bu programı yazmadığımızdan ağ tarayıcısı bu satırları önemsemeden geçiyor. Eğer kullanılan Web Browser (ağ tarayıcı program) Java'yı desteklemiyorsa da aynı sonuç alınacaktır.

<applet code=merhaba.class width=150 height=150>
</applet>


satırları arasına yerleştirilecek java programının kullanacağı alan boyutları 150 pixel * 150 pixel olarak tanımlanmış durumdadır. Bu alanın içine istediğimiz yazı, resim veya nesneyi yerleştirebiliriz. Her ağ tarayıcı programın (Web Browser) JAVA applet'lerini desteklemediklerinden bahsetmiştik. JAVA programları geliştirme safhasında deneme yapabilmek için AppletViewer programlarından yararlanabilirsiniz. Henüz merhaba.class JAVA programını yazmadan aşağıdaki gibi appletviewer programını calıştıracak olursak aşağıdaki şekilde görülen hata mesajı görülür.

C:Java>Appletviewer merhaba.html

aviewer.gif


Resimdede görüldüğü gibi appletviewer programı çalıştıracak merhaba.class apletini bulamamış ve resimde görülen hata mesajını vermiştir.

İlk Appletimiz


Bir çok programlama dilinde olduğu gibi java programlarıda normal bir editor ile yazılır. programların kaynak kodlarının dosya adı uzantıları .JAVA' dır. Yazılan kaynak kodları JAVA derleyicisi (compiler) ile derlendikten sonra uzantısı .CLASS olan yeni bir dosya elde edilir. yazacağımız ilk applete merhaba.java adını vereceğiz, bu applet derlendikten sonra da merhaba.class dosyası yaratılmış olacaktır. Programları yazarken uzun dosya adlarını desteklediği için Windows 95 sisteminin NotePad editorünü kullanmanızı tavsiye ederim. Şimdi aşağıdaki örneği notepad editörü ile yazın


//Program adı : merhaba.java
//Yazan : Eyüp Atacan
//Tarih :01/07/1997

import java.awt.*;
import java.applet.*;

public class merhaba extends Applet
{
public **** paint(Graphics temp)

{

temp.drawString("Ilk java applet örnegi",10,60);

}
}


Yazdığınız bu ilk applet'in adı merhaba.java olmalıdır, ayrıca dikkat etmeniz gereken bir diğer nokta da JAVA dilinin küçük büyük harf ayırımı yapmasıdır. Bu nedenle yukarıdaki örneğe kesinlikle uyun ve küçük/büyük harf ayırımına dikkat edin.

Applet'lerinizi yazdıktan sonra çalışma alanınızda iki dosya bulunacaktır.Bunlar:
merhaba.html ve merhaba.java dosyalarıdır.

Daha sonra java uzantılı bu dosyanın (merhaba.java) derlenmesi gerekir. Derleme işlemi için:
Javac merhaba.java komutu yazılmalıdır. Bu işlemden sonra çalışma alanınıza birde merhaba.class dosyası eklenecektir.
Şimdi yaptığımız appletin sonocunu görebilmek için AppletViewer Programını çalıştırın. Programı çalıştırmak için MS-DOS Komut İsteminde Apletviewer merhaba.html yazmanız yeterlidir.



Bu komuttan sonra sistem Windows'a geri dönüp appletviewer programını çalıştıracak ve yukarıda gri renkte görülen bölümü gösterecektir.Appletviewer yalnızca yazdığınız appleti ekrana getirecektir, tüm HTML sayfasını değil. Eğer JAVA destekleyen bir web browser programı kullanıyorsanız gerek HTML sayfasını, gerekse yazdığınız applet'i aynı anda görebilirsiniz.

Şimdi yazdığımız java apletini inceleyelim:
Bir Java applet'inin içerisine istediğiniz bölümlemelere açıklamalar yerleştirebiliriz.Bu açıklamalar, her programlama dilinde yazılan kaynak kodlarında olduğu gibi, daha sonra yazdığımız kodu incelerken bize yardımcı olacaktır. Açıklamalar kod içine birbirini takip eden iki taksim (//) sağında bulunurlar.
// Program adı:merhaba.java
veya
//İlk applet örneği merhaba.java'nın sonu
satırlarında bu açıklamalara örnrk görüyorsunuz.

JAVA, GWBASIC gibi satıra bağımlı bir programlama dili değildir. Bir komut birden fazla satıra yazılabilir. Örneğin:
Kelimeadedi=25;
ile
Kelimeadedi
=
25;


komut satırları Java için aynı anlamı taşır. Bu nedenden program kaynak kodunu en rahat nasıl anlayabileceksek o şekilde yazabiliriz. Komut satırı içindeki boşluklar Java derleyicisi tarafındanönemsenmezler.
Java programlama kurallarına göre her komut satırının sonuna bir noktalı virgül (;) yazılması zorunludur!
Programımız içine yerleştirdiğimiz

import java.awt.*;
import java.applet.*;
satırları Java sisteminin gerekli modüllerini çağırma olanağını sağlıyor.
merhaba.java programı içinde merhaba.class bölümünün tanımı için

public class merhaba extends Applet

satırını kullanıyoruz. Bu satırdan sonra ise merhaba.class bölümünü sınırlayan parantezlerden { ilkini kullanmak zorundayız. Diğer programlama dillerinde olduğu gibi parantez adedi kurallarına uymak zorundayız. Kaç adet açıcı parantez bulunuyorsa aynı sayıda kapatıcı parantez bulunması zorunludur. Aşağıda class tanımının genel yapısını inceleyebilirsiniz:


public class merhaba extends Applet
{ //class başlangıç parantezi
{ //class içi 1.parantez kullanımı başlangıcı
{ //class içi 2.parantez kullanımı başlangıcı

} //class içi 2.parantez kullanımı sonu
} // class içi 1.parantez kullanımı sonu
} //class sonu parantezi


public sözcüğü, hazırladığımız applet'in diğer class tanımları içerisinden çağırılabilmesini sağlıyor. public class merhaba sözcüklerinden sonra yazılan extends Applet kelimelerinin anlamını açıklayabilmek için Object Oriented Programming terimini incelememiz gerekir. Eğer bir programlama dili Object Oriented özelliğine sahipse (örneğin Visual Basic,Delphi gibi) daha önceden ve başkaları tarafından yazılmış olan nesneleri kullanabilir, hatta bu nesneler üzerinde değişiklik yapabiliriz. İşte Sun Microsystems firması Java sistemi içine çeşitli nesneleri bizim için bir class olarak yerleştirmiştir.

extends Applet kelimeleri ile yaptığımız tanımda yeni bir applet üretirken, ürettiğimiz applet'in, Sun Microsystems tarafından geliştirilmiş olan Applet.class'in bir uzantısı olduğunu, ve daha önceden yazılmış olan tüm program nesneleri ve kodlarından faydalanmak istediğimizi belirtiyoruz.

Yazdığımız merhaba.class içerisinde bir alt program kullandık. Bu rutin Paint(Gaphics graf) adını taşıyor. Bu alt programın public **** paint(Graphics graf) satırından sonraki parantezler içinde applet'imiz içine ne yerleştirmek istediğimizi belirtiyoruz. Biz bu örnekte sadece düz yazı kullandık. Bu alt program geri dönüşünde herhangi bir değeri, çağrıldığı program modülüne iletmediği için **** sözcüğünü kullanıyoruz. Eğer bir hesaplama alt programı yazmış olsaydık ve hesabın sonucunu çağıran programa iletmek isteseydik, aşağıdaki örneğe benzer bir yazım hazırlayacaktık:


public int hesapla(int sayı1,int sayı2)
{
.......................
.......................
.......................
return sayı1+sayı2;
}


Bu örnekte **** sözcüğü kullanılmıyor, çünkü hesapla()alt programı kendisini çağıran modüle integer cinsinden bir sonuc iletiyor. Yuıkarıdaki örnekte bulunan sayı1ve sayı2 geğişkenleri integer türündendir. Bu değişkenin içerisine her türlü grafiksel değeri yerleştirme olanağımız vardır.

graf.drawString("İlk Java applet örneği",10,60);
satırında graf değişkenine drawString alt programının ilk parametresini oluşturuyor. Diğer iki parametre ilede (10 ve 60) düz yazının applet içindeki pozisyonu ayarlanıyor. İkinci parametre olan 10, düz yazının sol kenardan olan uzaklığını, üçüncü parametre ise düz yazının applet'in üst köşeden olan uzaklığını pixel olarak belirliyor.

Aşağıdaki şekilde parametre kullanımını görüyorsunuz.

vparam.gif

Eyüp Atacan
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.