2010-01-08 19 views
6

我正在使用java.awt.geom.Rectangle2D.Double類生成一個矩形。我想生成一個填充了顏色(比如綠色)並具有邊框(輪廓)的矩形。在Java中生成一個矩形邊框的問題?

現在的問題是,如果我叫

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

那麼它不填充矩形,當我打電話

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

然後ID不會產生邊界。

+0

丹和塞繆爾都是對的。這也是合乎邏輯的。 「填充」填充整個矩形區域,包括剛剛繪製的邊框佔用的區域。時間把你的腳拉出火線:) – 2010-01-08 12:22:18

回答

5

這兩種做法如何?首先繪製填充矩形,然後在頂部繪製輪廓。

11

爲此,渲染矩形兩次,先填充然後邊框(繪製)。

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