// // 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