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

use*_*654 5 java swing awt graphics2d

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

Graphics g = p.getGraphics();
g.fillRect(50, 200,50,100);
Run Code Online (Sandbox Code Playgroud)

Zoe*_*Zoe 9

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

Graphics g = p.getGraphics();
g.fillRect(50, 100, 50, 100);
Run Code Online (Sandbox Code Playgroud)

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

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);
Run Code Online (Sandbox Code Playgroud)

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