//
// exMDrag1 2001/12/02 by ONOZATO Takehisa
//
// サンプル:マウスドラッグ・チェックボックス(長方形の描画)
//
//
//
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class exMDrag1 extends Applet
implements ItemListener,MouseListener,MouseMotionListener{
Image ofs; Graphics grf; //オフスクリーン
int ofsWidth=400; int ofsHeight=300;
Color ofsBG=new Color(255,255,255); //背景色(白)
CheckboxGroup grp=new CheckboxGroup(); //チェックボックスグループ
Checkbox chk[]=new Checkbox[5]; //チェックボックス
int chkLeft[]={150,175,200,225,250};
Color chkColor[]
={Color.red,Color.orange,Color.green,Color.blue,Color.magenta};
Color selColor; //選択中の色
int startX, startY, endX, endY;
int rectLeft, rectRight, rectTop, rectBottom;
public void init() {
ofs=createImage(ofsWidth,ofsHeight); grf=ofs.getGraphics();
for(int i=0; iendX){rectLeft=endX; rectRight=startX;}
if(startY>endY){rectTop=endY; rectBottom=startY;}
grf.setColor(selColor); //長方形の描画
grf.drawRect(rectLeft,rectTop,rectRight-rectLeft,rectBottom-rectTop);
g.drawImage(ofs,0,0,this); //オフスクリーンからアプレットへ描画
//ちらつきを防ぐためオフスクリーンを使用する
}
/*** チェックボックスグループのイベントプロシージャ ***/
public void itemStateChanged(ItemEvent e){
for(int i=0; i