0
マウスクリックを使用してポリラインを動的に作成するプログラムを実装します。マウスをクリックするごとに、新しいPointがArrayListに追加され、すべてが描画されます。同じPointをクリックすると同じ値が返され、リストに追加されますが、新しい行が0になります。理由は何ですか?あなたは配列のインデックスを検索しindexOf
を使用しているためdrawPolyline()が正しくペイントしない
private ArrayList<Point> liste;
public void paintComponent (Graphics page)
{
super.paintComponent(page);
int xn[] = new int[liste.size()];
int yn[] = new int[liste.size()];
for(Point pot : liste){
int ab = liste.indexOf(pot);
xn[ab] = pot.x;
yn[ab] = pot.y;
}
page.setColor (Color.red);
page.drawPolyline(xn, yn, xn.length);
}
public void mousePressed(MouseEvent arg0) {
liste.add(arg0.getPoint());
repaint();
System.out.println(arg0.getPoint());
}
http://i.hizliresim.com/r9YgkM.png