在g.fillRect()

时间:2017-04-29 23:33:58

标签: 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));
    }
}

这不会画吧。

修正:

public void paint(Graphics g) {
    for (Bar b : this.bars) {
        g.fillRect(b.x_location,b.y_location - b.height,b.width,b.height);
    }
}

1 个答案:

答案 0 :(得分:1)

由于API的工作方式,它不能向下延伸到右边。相反,从y坐标减去距离并将高度保持为正值

来自JavaDocs

  

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

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