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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!