在Java awt中绘制矩形

时间:2018-04-03 13:47:57

标签: java awt paint

我有兴趣使用AWT方法绘制一个Rectangle对象(我知道,它已经过时了)。我已经查看了论坛上有答案的其他代码,但它们并不适合我。这就是我要做的......

paint(Graphics g) {
    Rectangle r = new Rectangle(5,5,20,20);
    g.drawRect(r.getX(),r.getY(),r.getWidth(),r.getHeight());
}

但我要做的是:

g.drawRect((int)r.getX().........);

并将每个值转换为int。难道我做错了什么?我找到的代码示例有没有强制转换的解决方案。如果我不投,我得到一个错误。当然,应该有更简单的事情。

提前致谢。

3 个答案:

答案 0 :(得分:0)

从javadoc here我们可以看到那些方法返回一个double值,Graphics中的方法drawRect使用整数作为参数,如文档here所示,所以你必须将double转换为整数

答案 1 :(得分:0)

您可以将Graphics转换为Graphics2D以使用其draw()方法绘制'java.awt.shap'对象,如下所示:

paint(Graphics g) {
   Grahpics2D g2 = (Graphics2D) g;
   Shape s = new Rectangle(5,5,20,20);
   g2.draw(s);
}

答案 2 :(得分:0)

这是一种简单的方法。我弄清楚了:

paint(Graphics g) {
    Rectangle r = new Rectangle(5,5,30,30);
    g.drawRect(r.x,r.y,r.width,r.height);
}
相关问题