Component
これは、派生クラスのインスタンスのみを に追加できるためですJApplet
(ただし、JComponent
を使用している場合は派生インスタンスを追加することをお勧めしますJApplet
)。データ型 (add
メソッドの予想される型とパラメーターとして渡す変数の型) が一致しないため、Eclipse はコード内のセマンティック エラーを指摘しています。
アプレットでポイントを描画する場合は、コードでアプレットのpaint
メソッドをオーバーライドし、1 ピクセルの長さの線 (または 1 ピクセル サイズの四角形) を描画する必要があります。このようなもの :
import java.awt.*;
import javax.swing.JApplet;
public class test extends JApplet {
@Override
public void paint(Graphics g) {
int x = 75;
int y = 75;
g.fillRect(x, y, 1, 1);
}
}
キャンバスにいくつかのポイントを追加する予定がある場合は、リストに保存してから、paint
上記のメソッドで繰り返して描画します。
public class test extends JApplet {
private List<Point2D> points;
@Override
public void init() {
points = new ArrayList<Point2D>();
points.add(new Point2D.Double(75.0, 75.0));
};
@Override
public void paint(Graphics g) {
g.setColor(Color.BLUE);
for (Point2D p : points) {
int x = (int) p.getX();
int y = (int) p.getY();
g.fillRect(x, y, 1, 1);
}
}
}
ポイントを として本当に扱いたい場合は、既存のクラスComponent
の 1 つから派生した独自のカスタム Point クラスを作成できます( など)。ただし、これはより複雑です。JComponent
JPanel