06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Artık GUI’ lerde iyice ilerlemeye başladığımı hissediyordum. Bununla birlikte, 2<br />

boyutlu grafik çizimleri, animasyon hazırlamak, resim işlemek, ses işlemek, Swing<br />

bileşenleri, Menu’ ler vs... gibi henüz bilmediğim daha pek çok konu vardı. Ancak<br />

hem kahvem hemde pilim bitmişti. Sanırım önümüzdeki günlerde, bu konulara<br />

eğileceğim.<br />

Burak Selim ŞENYURT<br />

selim@bsenyurt.com<br />

Yazar: Burak Selim Şenyurt<br />

Graphics Class'ı<br />

Grafik Çizimi<br />

Ekranın belli bir yerine şekil, yazı veya image koumak için Graphics class'ı kullanılır. Bu<br />

class Component'teki<br />

public void paint(Graphics g);<br />

şeklindeki methodundan elde edilirerek kullanılabilir. <strong>Java</strong> değişik işletim sistemlerinde ve<br />

aynı işletim sisteminin değişik versiyonlarında çalışabildiğinden, Graphics class'ı da<br />

abstract'tır. paint() method'undan aslında her işletim sistemi için ayrı olarak yazılmış<br />

Graphics class'ının bir subclass'ı elde edilir. Ancak programcıyı bu hiç ilgilendirmez, çünkü<br />

bütün subclass'lar Graphics class'ındaki bütün methodları imlement etmişlerdir. Bazı<br />

dillerde 'device context' diye de adlandırılan, belli bir dikdörtgende çizim yapılmasını<br />

sağlayan class Graphics'dir. Bu dikdörtgen ekranda mutlak bir yeri değil, göreli bir bölümü<br />

temsil etmektedir. Bir pencere içerisine çizim yapıldığında, pencerenin ekranın neresinde<br />

olduğu bilinmez. Nokta olarak x=100 ve y=200 verildiğinde ekranda pencerenin başlangıç<br />

konumundan 100'e 200 uzaklıkta bir nokta kasdedilmektedir. Sadece pencere için değil,<br />

bütün component'lerin paint() method'larında elde edilen Graphics nesneleri o component'e<br />

ait alana göre bir koordinat sistemine sahiptir. P(0,0) noktası o component'in başlangış<br />

noktasıdır, ekranın ilk noktası değil. Zaten bir component'in kendi dışındaki bir alana<br />

çizmesi mümkün değildir. Koordinatları alanından fazla verme veya negatif değerler verme<br />

gibi durumlarda çizimin sadece component içerisinde kalan kısmı yapılır, dışındaki kısımsa<br />

clip edilir (kırpılır).<br />

Graphics Class'ındaki Çizim Method'ları<br />

Graphics class'ı çizim yapmak içine çeşitli methodlar içermektedir. Çizim methodlarını<br />

içeren başka bir class zaten yoktur. En çok kullanılanları şunlardır.<br />

drawLine()<br />

drawRect()<br />

drawArc()<br />

drawImage()<br />

287

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!