在Java中生成矩形边框的问题?

发布于 2024-08-17 04:41:40 字数 460 浏览 3 评论 0原文

我正在使用 java.awt。 geom.Rectangle2D.Double 类来生成矩形。我想生成一个填充颜色(例如绿色)并具有边框(轮廓)的矩形。

现在的问题是,如果我调用,

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

那么它不会填充矩形,并且当我调用时

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

,id 不会生成边框。

I am using java.awt.geom.Rectangle2D.Double class to generate a rectangle. I want to generate a rectangle which is filled with a color (say green) and have a border (outline).

Now the problem is if I call

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

then it doesn't fill the rectangle and when I call

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

then id doesn't generate border.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆啦不做梦 2024-08-24 04:41:40

为此,请渲染矩形两次,首先是填充,然后是边框(绘制)。

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

To do this, render the rectangle twice, first the fill and then the border (draw).

Rectangle2D rect = new Rectangle2D.Double(...);
g2.setColor(Color.white);
g2.fill(rect);
g2.setColor(Color.black);
g2.draw(rect);
诗笺 2024-08-24 04:41:40

两者都做怎么样?首先绘制填充的矩形,然后在顶部绘制轮廓。

How about doing both? Draw the filled rectangle first and then draw the outline one over the top.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文