0

http://pastebin.com/gDMy7fPw

上記は、形状クリエーター用の私のコードです。これは一部ですが、独立しています。

エラーが発生します

g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());

これは基本的に、プリミティブ型 double でgetX() を呼び出すことはできず、プリミティブ型 doubleでgetY()を呼び出すことはできません

そのメソッド以外のコードを変更できます。その意味がわからないので、そのエラーを取り除く方法を知っている人はいますか。

4

2 に答える 2

6

あなた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;

p1または、 and を完全に取り除き、p2呼び出しを次のように変更します。

g2d.drawLine(x1, y1, x2, y2);
于 2012-04-23T14:48:18.173 に答える
0

おそらくあなたは使いたいと思っていました:

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

于 2012-04-23T14:50:32.523 に答える