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.

Yayların çizimindeki en önemli nokta son iki parametreydi. Bu parametrelerden ilki,<br />

başlangıç açısını derece cinsinden belirtirken, ikinci parametre yayın oluşturacağı<br />

açıyı derece cinsinden belirtmekteydi. Tabiki, içi dolu yay aslında bir daire<br />

diliminden başka bir şey olmamaktaydı. Ancak daireleri çizmek içinde başka<br />

metodlar vardı. Daireler oval şekillerin çizildiği fillOval yada drawOval metodları ile<br />

elde edilebilirdi. Daire olması için, genişlik ve yükseklik değerlerinin eşit olması<br />

yeterliydi. Bu şekilleride aşağıdaki kod satırları ile test ettim.<br />

g.setColor(Color.BLACK);<br />

g.setFont(new Font("Verdana",Font.BOLD,12));<br />

g.drawString("YAYLAR...",0,165);<br />

g.fillOval(70,100,80,18);<br />

g.drawOval(30,30,75,75);<br />

Sırada daha komplike bir şekil olan poligonlar vardı. Bir poligon çizebilmek için,<br />

drawPolygon yada fillPolygon metodlarından birisini kullanabilirdim. Aralarındaki tek<br />

fark birisinin içinin dolu ötekisinin ise boş oluşuydu. Hangileri tahmin edin bakalım<br />

:) Elbette bir poligon oluşturabilmek için bir takım verilere ihtiyacım vardı.<br />

Herşeyden önce poligonların köşe sayıları belli değildi. Dolayısıyla bu köşelerin x ve<br />

y koordinatlarını belirleyecek iki integer diziye ihtiyacım olacaktı. Bu dizilerden<br />

birisi, x koordinatlarını diğeri ise y koordinatlarını taşımalıydı. İşte bu anda, kalem<br />

kağıda sarıldım ve acaba bir kum saatinin sembolik resmini çizebilir miyim diye<br />

düşünmeye başladım. Oturup ciddi ciddi, kağıt üzerinde, bir kum saatinin iki<br />

boyutlu görüntüsüne ait köşe koordinatlarını, ekranın ordinat sistemine göre<br />

çıkarmaya çalıştım. İşte kağıttaki çalışmamım güzelim Fireworks grafik programı ile<br />

şematize edilişi.<br />

292

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

Saved successfully!

Ooh no, something went wrong!