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.

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!