2010-01-08 18 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);