java - 如何在java中向应用程序顶部绘制一个矩形

标签 java swing awt graphics2d

如何在 java 中向应用程序的顶部绘制一个矩形?通常,drawRect 方法会向底部绘制,我尝试使用负数,但这行不通

Graphics g = p.getGraphics();
g.fillRect(50, 200,50,100);

最佳答案

在矩形中,X 和 Y 坐标表示左上角。长度和宽度然后远离定义点绘制。您的示例绘制了一个矩形,其左上角位于 50,200,宽度为 50,高度为 100,均沿正方向远离这些点。如果您想要一个 50,200 代表左下角的矩形,只需从该 y 坐标 (200) 中减去高度,并将其用作起始 y:

Graphics g = p.getGraphics();
g.fillRect(50, 100, 50, 100);

为了解决你的例子,尝试这样的事情(我将只使用矩形对象而不是 实际填充图形):

int baseline = 200;
Rectangle rect1 = new Rectangle(50, baseline - 100, 50, 100);
Rectangle rect2 = new Rectangle(150, baseline - 50, 50, 50);
Rectangle rect3 = new Rectangle(250, baseline - 80, 50, 80);

在图形对象上用这些尺寸填充矩形后,您将拥有三个 每个宽度为 50 的矩形,间隔为 50,底部都在 y=200 线上。

关于java - 如何在java中向应用程序顶部绘制一个矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503897/

相关文章:

Java - 如何让 jframe 调整到小于设置大小的大小

java - repaint() 绘制速度比paintComponent() 慢?

java - JOptionPane:文本消息和按钮在同一行

java - 如何在cmd行中运行java类文件

Java XML : Keeping a copy of a partial XML tree when parsing from a socket

java - 从 HashMap 创建 JList

java - JPanel 改变颜色以用鼠标绘制

java - 如何用Java2D绘制内线

java - Hazelcast 内存不足问题

java - 这是类加载器的错误使用还是不好的做法?