mouseDown位置とmouseUp位置とを対角線とする四角形を描画します。
import java.applet.*;
import java.awt.*;
public class ja04a extends Applet
{
int sx,sy,w,h; //描画開始位置のxy座標,描画領域の幅と高さ
boolean m_down = false; //mouseDownされたかどうかを識別するフラグ(falseで初期化)
public void init(){
setBackground(Color.yellow); //Appletの背景色を黄色に設定
}
public void paint(Graphics g){
Font f = new Font("TimesRoman",Font.BOLD,16);
g.setFont(f); //フォントの設定
if(m_down){
g.setColor(Color.blue); //描画色を設定
g.drawString("四角形の開始座標は("+ sx + "," + sy + ")です",10,20);
g.drawString("四角形の幅は(" + w + "ピクセル),高さは(" + h + "ピクセル)です",10,40);
g.setColor(Color.red);
g.drawRect(sx,sy,w,h); //マウスダウンで四角形を描画
}else{
g.drawString("マウスドラッグで四角形を描けます",10,20);
}
}
public boolean mouseDown(Event et,int x,int y){
sx = x;sy =y; //描画開始位置の座標をmouseDown位置のxy座標に設定
w = 0;h = 0;
m_down = true; //フラグをtrueに
return true;
}
public boolean mouseUp(Event et,int x,int y) {
if(x < sx){
w = sx - x;
sx = x;
} else {
w = x - sx;
}
if(y < sy){
h = sy - y;
sy = y;
}else{
h = y - sy;
}
repaint(); //paintメソッドの呼び出し
return true;
}
}
末尾