Java行代码出错

时间:2012-04-23 14:46:16

标签: java line

http://pastebin.com/gDMy7fPw

上面,我的形状创建者的代码,这是一个部分,但独立。

我在

上收到错误
g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());

基本上说它无法在基本类型double 上调用getX(),无法在基本类型double 上调用getY()。

我可以更改除该方法之外的任何代码。有谁知道我怎么能摆脱那个错误,因为我不知道这意味着什么。

2 个答案:

答案 0 :(得分:7)

您的p1p2变量属于double类型。 第一个要做的事情就是理解你的工作。编译器消息说明了您应该需要的所有内容:

  

无法在基本类型double

上调用getX()

绝对正确 - 您无法在getX()上致电double。接下来你应该找出为什么你试图打电话给getX()。如果你不是在调用它,或者你的变量类型错了吗?

怀疑而不是这些变量:

private double x1;
private double y1;
private double x2;
private double y2;
private double p1;
private double p2;

你真的想要:

private Point p1;
private Point p2;

或者,完全摆脱p1p2,并将您的电话更改为:

g2d.drawLine(x1, y1, x2, y2);

答案 1 :(得分:0)

可能你想使用:

g2d.drawLine(x1,y1,x2,y2);