画线 - 线不可见

时间:2012-03-30 09:13:32

标签: java graphics line draw paintcomponent

我试图用简单的线连接两个JComponents。以下是我试图这样做的方法:

第一个对象是填充矩形,48x48,然后我将圆圈(.png)绘制到这个矩形中。我把它放在JPanel上,X是106,Y是166

第二个对象是填充矩形28x57,它只是重新调整..我把这个矩形放在JPanel上,它的X是378,它的Y是180

我已经创建了表示这两个对象之间的线的对象,并且我将其大小设置为

arcObject.setSize(Math.abs(arcObject.o2.x - arcObject.o1.x), Math.abs(arcObject.o2.y - arcObject.o1.y));

我打印了宽度和高度,以及它 272 x 14 ,然后我在JPanel上添加这个arcObject,调用重绘,并调用ArcObject类中的重写paintComponent。

这是代码

public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawLine(o1.x, o1.y, o2.x, o2.y);
}

其中o1代表第一个对象,而o2代表第二个对象(我在这篇帖子的开头描述了这些对象)

然而,在调用paintComponent()之后,NO行是可见的,当我将arcObject维度设置为某些大的常量数字(如600x600)时,它是可见的......

那么,你能告诉我我做错了什么吗? : - /(paintComponent被肯定调用,它只是不绘制任何东西,或任何可见的东西)

2 个答案:

答案 0 :(得分:0)

您还需要设置arcLine组件的位置,并且根据您处理此方法的方式,该线确实需要从arcLine(0,0)到arcLine(宽度,高度)

答案 1 :(得分:0)

g.drawLine()上设置断点,然后在调试器中运行代码。进入drawLine()以确保a)实际调用该方法并且b)坐标是您所期望的。