Sayfacıbaşının Seyİr Defterİ

Bir sayfacıbaşının gözünden, görsel-işitsel-düşünsel ve de geyiksel meselelerin gayri ciddi mütaalâlarını ihtiva eder.

08 Mayıs 2007

Cavamın taşına bak, apletimin yaşına bak

Bir önceki gönderimde Cava'da aplet oluşturmanın temellerinden bahis açmış idim. Şimdi o yazının devamı niteliğinde bir şeylerden bahsederek apletimizi dolduracağız. O yazının aksine, ben gereksiz olan start() fonksiyonunu artık kullanmak istemiyorum ve temel kodumuz şu hale geliyor:
import java.awt.*;
import java.applet.*;
public class apletim extends Applet{
public void init(){

}
public void paint(Graphics gr){

}
}

Sevgili apletimizde, göreceğiniz gibi bir main metodu oluşturmadık. Çünkü işin raconu böyle. Farkettiyseniz aslında biz apleti direk çalıştırmıyoruz, onu dışardan bir html belgesi ile çağırıyoruz.

Apletimizin rengini vererek işe başlayabiliriz:
this.setBackground();
Elbette setBackground() fonksiyonumuza bir renk değeri göndermemiz lazım. Hadi açık gri olsun: Color.LIGHT_GRAY

Apletimizin içinde çizim yapabileceğimiz bir kaç fonksiyondan bahsedelim. Çizgi fonksiyonu: drawLine()
drawLine() kardeşimizin yapısına baktığımızda içine dört parametre aldığını görürüz. Bunlar sırayla (int x1,int y1,int x2,int y2) şeklindedir. Parametrelerin hepsi de tamsayı. x1,y1 ikilisi çizgimizin başlangıç noktasının değerleri; x2,y2 ise bitiş.

Örnek olarak: (20,20,20,140) dersek, x'leri 20 olan iki noktadan bahsetmiş olduğumuz için, dikey ve 120 noktacıklık (140-20) bir çizgimiz olacaktır. Graphics sınıfından oluşturduğumuz onjemizin adı da "gr" olduğundan;
gr.drawLine(20,20,20,140);

Benzer şekilde drawOval() fonksiyonuyla da ovaller çizebiliriz. Bu fonksiyonun yapısında da dört parametre var. Şu şekilde:
(int x, int y, int width, int height)
Burda x ve y biraz ilginç gelebilir ama ovalin sınır değerlerinden bahsediyoruz. x değeri ovalin en solunun, apletin en soluna olan uzaklığı, y ise ovalin en üst değerinin, apletin en üst değerine olan uzaklığıdır. width, tahin edileceği gibi ovaline genişliği, height ise yüksekliği.

Özetle: gr.drawOval(30,20,50,100);

Eğer içini de doldurmak istersek, benzer mantıkla fillOval() fonksiyonunu kullanabiliriz: gr.fillOval(30,20,50,100);

Bununla beraber rengini de değiştirmek istiyoruz tabii ki. Fonksiyonumuz setColor(). Bu fonksiyonumuzu nerde kullanırsak, ondan sonrakilerin rengini değiştirmiş oluyoruz. Diyelim ki bir çizgi, ardından da siyah, içi dolu bir daire yapmak istersek:
import java.awt.*;
import java.applet.*;
public class apletim extends Applet{
public void init(){
this.setBackground(Color.LIGHT_GRAY);
}
public void paint(Graphics gr){
gr.drawLine(20,20,20,140);
gr.setColor(new Color(11,45,67));
gr.fillOval(30,20,50,100);

}
}


Kodu çalıştırdığımızda ise cevaben şuna benzer bir şey elde ederiz:



Bu konuya daha sonra devam ederiz.

Etiketler: , , , , ,

0 Yorum:

Yorum Gönder

Kaydol: Kayıt Yorumları [Atom]

<< Ana Sayfa