Java 在g.fillRect()中使用负高度

Java 在g.fillRect()中使用负高度,java,Java,您好,我正在尝试使用g.fillRect绘制一个条形图来制作每个条形图 例如,条形图将从栅格高度y:700开始,然后向上填充到y:350 我无法为我的酒吧设置负x高度: public void paint(Graphics g) { for (Bar b : this.bars) { g.fillRect(b.x_location,b.y_location,b.width,b.height * (-1)); } } 这不会给栏杆上漆 修正: 你不能,因为API的

您好,我正在尝试使用g.fillRect绘制一个条形图来制作每个条形图

例如,条形图将从栅格高度y:700开始,然后向上填充到y:350

我无法为我的酒吧设置负x高度:

public void paint(Graphics g) {
    for (Bar b : this.bars) {
        g.fillRect(b.x_location,b.y_location,b.width,b.height * (-1));
    }
}
这不会给栏杆上漆

修正:


你不能,因为API的工作方式,它向下和向右扩展。相反,从y坐标中减去距离,并将高度保持为正值

填充指定的矩形。矩形的左边缘和右边缘分别位于x和x+宽度-1处。顶部和底部边缘位于y和y+高度-1处。结果矩形覆盖的区域宽度为像素宽,高度为像素高。使用图形上下文的当前颜色填充矩形


虽然不是直接复制,但演示了基本概念

,因为API的工作方式,它不能向下和向右扩展。相反,从y坐标中减去距离,并将高度保持为正值。该方法有效,tyvm。我从y坐标中减去了横杆的高度,它就完成了它需要做的事情。
public void paint(Graphics g) {
    for (Bar b : this.bars) {
        g.fillRect(b.x_location,b.y_location - b.height,b.width,b.height);
    }
}