fillRect格式不正确

时间:2015-06-02 10:02:23

标签: java swing rectangles

我想为我创建的游戏制作背景。 我在fillRect上遇到了一些问题。 getHeight和getWidth必须是某个顺序还是应该使用getX / Y / Height / Width?

protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2d = (Graphics2D) g;
    //Graphical loop start
    Rectangle rect = new Rectangle(0,0,1440,900) ;
    g.fillRect(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());
    //Graphical loop end
}

1 个答案:

答案 0 :(得分:3)

首先,您使用的是Graphics对象而不是Graphics2D。您需要先设置颜色,然后使用填充方法。

g2d.setPaint(Color.BLUE);
g2d.fill(new Rectangle2D.Double(0, 0, screenWidth, screenHeight));

Rectangle2D构造函数参数是:左上角的x坐标,左上角的y坐标,宽度,高度

最好使用Graphics2D.fill()方法接受实现Shape接口的任何对象。如果您决定这样做,这样可以更容易地将形状更改为不同的形状。