javaアプレット
javaアプレットの勉強をしているのですが、教えてください。
マウスを押すと位置を取得して、線を描くアプレットをつくってみたいと思っています。
一回目に押した位置を始点として、二回目の位置まで線を引きます。このとき、二回目にマウスを押したときにはじめて線を描画するとします。その後、三回目、四回目とマウスを押していくと、前に押した位置を始点として線を引くようなアプレットです。
そこで以下のようにコードを書いて実行してみました。(部分)
public void mousePressed(MouseEvent e)
{
n=n+1;
if(n==1){
x1=e.getX();
y1=e.getY();}
else{
x2=e.getX();
y2=e.getY();
repaint();
x1=x2;
y1=y2;
}
}
public void paint(Graphics g)
{
g.drawLine(x1,y1,x2,y2);
}
ところが、実行してみると、マウスを押す位置に点が移動するだけでした。おそらく、コード中のx1=x2;y1=y2;がrepaint();より前に実行されてしまうのではないかと思います。どう書き直せばいいのでしょうか?また、どうしてrepaint();より前に実行されてしまうのでしょうか?
補足
いえ、自分のPC上で起動させます。