2010-01-08 16 views
6

Dikdörtgen oluşturmak için java.awt.geom.Rectangle2D.Double sınıfını kullanıyorum. Bir renkle dolu (yeşil renkte) ve bir kenarlık (anahat) içeren bir dikdörtgen oluşturmak istiyorum. Ben o zaman dikdörtgen doldurmayanJava'da bir dikdörtgenin kenarlığını oluşturmada sorun mu yaşıyorsunuz?

g2.draw(new Rectangle2D.Double(....)); // g2 is an instance of Graphics2D 

arayıp

g2.fill(new Rectangle2D.Double(....)); // g2 is an instance of Graphics2D 

çağırdığınızda sonra id sınırını oluşturmaz eğer

Şimdi sorundur.

+0

Dan ve Samuel her ikisi de haklıdır. Bu da mantıklı. 'fill', çizdiğiniz sınırın kapladığı alan da dahil olmak üzere tüm dikdörtgen alanı doldurur. Ayağınızı ateş hattından çekme zamanı :) –

cevap

5

İkisini birden yapmaya ne dersin? Önce doldurulmuş dikdörtgeni çizin ve sonra taslağı üstten üste çizin.

11

Bunu yapmak için, dikdörtgeni iki kez, önce dolguyu ve sonra da kenarlığı (çizim) oluşturun.

Rectangle2D rect = new Rectangle2D.Double(...); 
g2.setColor(Color.white); 
g2.fill(rect); 
g2.setColor(Color.black); 
g2.draw(rect);
İlgili konular