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.

09 Mayıs 2007

Kitabım

Bazen internetten kitaplar arıyorum, bulamıyorum, vazgeçiyorum.

Şimdi şöyle bir site gördüm, belki işe yarar:
www.gutenberg.org/catalog/

Etiketler: , ,

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: , , , , ,

Ay lav yu Cavaaa

Bugün Cava'da [Java] Aplet [Applet] muhabbetine parmak basmak istiyorum.

Aplet eklemek için sevgili sınıfımıza "applet" kütüphanemizi kullanıma açmamız lazım.

import java.applet.*;

Elbette bu arada "awt" kütüphanesimizi de unutmamak lazım.

import java.awt.*;

Oluşturduğumuz sınıfa da aplet ekleyeceğimizi baştan söylememiz lazım:

class apletim extends Applet{}

Süslü parantezlerin içine geçmeden önce hatırlatmamız gereken bir nokta daha var: Bizim bu apletimize dışarıdan bir erişim gerçekleşeceği için sınıfımızın umuma açık olması gerekiyor. Yani başına public kodunu eklemeyi unutmuyoruz:

public class apletim extends Applet{}

Artık süslü parantezlerin içine geçebiliriz. Burda standart olarak üç metoda ev sahipliği yapması gerekiyor: start(), init() ve paint(). Her biri değer döndürmeyen, lalettayin fonksiyonlar olmaları hasebiyle kendilerini void olarak tanımlıyoruz:

public void start(){}
public void init(){}
public void paint(){}


Yalnız burda dikkat edilmesi gereken bir olay var. paint() fonksiyonu bizden Graphics sınıfının bir objesini ister. O yüzden parantezlerinin arasında, kendisinin istediğini veriyoruz:

public void paint(Graphics gr){}

Burada ben objenin adını kafadan sallama usulüyle "gr" koydum, siz de ihtiyaca göre bir ad verirsiniz. Kısaca temel olarak bir aplet oluşturmak için gerekenleri böylece oluşturmuş olduk. Elimizdeki kod tüm olarak şu oluyor:

import java.awt.*;
import java.applet.*;
public class apletim extends Applet{
public void start(){

}
public void init(){

}
public void paint(Graphics gr){

}
}


Son olarak, bu apletimiz için bir html belgesi düzenlememiz gerekiyor. Yaptığımız aplet ile aynı klasörde olmak kaydıyla içine şunları yazıyor ve çalıştırıyoruz:

<applet width="400" height="400" code="apletim"></applet>

Anlaşılacağı gibi genişlik ve uzunluk değerlerini dilediğimiz şekilde yazıyoruz. Ben örnek olarak 400'e 400 şeklinde girdim.

Şu an apletimizde bir şey yok, ama ilerde olacak! Bizi izlemeye devam edin...

Etiketler: , , , ,

05 Mayıs 2007

Çok geç kaldım

Hem sosyal hayatım bitti, hem internet hayatım. Daha önceden bu alemde bir numara olduğumdan iftiharla(!) bahsetmiştim. Yine o yazıda da dillendirdiğim gibi, artık eskidim, yaşlandım. Hiç kimsede olmayan şeyler bende vardı o zamanlar; artık bende olan her şey herkesde de var.

Artık ne gelişmeleri adam akıllı takip edebiliyorum, ne de bunlar üzerinde kafa yorabiliyorum. Kurtlar Vadisi'ni bile tekrar yayınlarında hatim ettim. Eh hal böyle olunca birileri bir şeyler düşünmüş, farkı farketmiş ve bu farkındalıkla bir şeyler yapmış.

Şaşmaz kardeşler için tarikat üyesi, dinci, hede hödö diyorlardı. Ben tabii Vatan Şaşmaz da bunlardan sanıyordum, inanamadım. Neyse o günler geride kaldı, Necati bey Polat halet-i ruhiyesiyle Endi Garsiya'nın [Andy Garcia] yani kocasının önünde Şerın Sıton'u [Sharon Stone] bile dudak kenarından öptüğüne göre, irtica tehlikesi geçmiş demektir. Böyle modern ve çağdaş bir Polat'ımız olduğuna göre kendisini izlemeye devam etmekte bir sakınca görmemek lazım.

İşte farkı farkedenlerin gösterenlerin farkındalık: İmam Alemdar



Kaynak: www.nuradasi.com

Etiketler: , ,

02 Mayıs 2007

Ana! Dilim...

Yine kafamda yazacağım (aslında yazamayacağım) şeyleri tasarlıyorken, gördüm ki bizim Blogır Türkçeye dönmüş. Ya aslında böyle bir şeyi daha önce görmüş müydüm, yoksa ilk defa mı görüyorum bilmiyorum ama daha şimdiki yazımda farkettim.(ahanda yazarken yani)

İyi olmuştur inşallah, ne bileyim. Ben yıllarca Mikrosoft'un Türkçe çevirilerine içten içe bir saygı ve tebessüm beslemişimdir. Onun da nedenini hiç anlayamamışımdır. "Çevirmeli ağ"da neyi çeviriyoruz mesela, bunu çözememiştim. Ya da "varsayılan"ı ilk duyduğum zaman, belki bir uzaylı görmüşcesine olmasa bile şaşırmış, irkilmiş ve anlamının aklımda oluşturabileceği bir vadiden diğerine sürüklenmiştim sanırım.

Daha sonraları Linüks'çülerin Türkçelerini de gördüm. Onlar da iyiydi ama yine de Mikrosoft hep bir başka yerdedir. Linüks deyince aklıma geldi, daha önce de bahsettiğim gibi Linüks kurma/kullanam özürlüsü olduğumu anladım. O yüzden Mikrosoft'a daha bir sempatiyle yaklaşmaya başladım. Genel kanaatin aksine hayatımı ciddi ciddi kolaylaştırdığı için bir teşekkür mektubu falan bile yazabilirim.

Diğer yandan Gugıl'ın da hayatımı acayip kolaylaştırdığını ama bunu para istemeden yaptığını da hesaba katarsak, ya ona daha büyük bir saygı beslemem ya da Mikrosoft için düşündüklerimden feragat etmem gerekir gibi düşüncelere de garkoluyorum zamanla.

Bunlar karışık işler. Çok takılmamak lazım zira kafamı meşgul eden yeterince sıkıntım var. O kafa karışıklığıyla Gugıl'dan iç çamaşırı almaya da gidebilirim, belli mi olur...