//
/* ---------------------------------------------------------------------------------------------- relay.java リレー ver. 1.00 (JDK 1.02) ueyama@infonet.co.jp 2007.07.30 ---------------------------------------------------------------------------------------------- */ import java.applet.Applet; import java.awt.*; public class relay extends Applet implements Runnable { int Sw=0; // リレーコイル 0: Off 1: On long Lstc=0; // 最後にクリックした時間 int Dclk=0; // ダブルクリック回数 int Wait=2000; boolean Run=true; Thread th=null; Image Img; public void init() { MediaTracker mt=new MediaTracker(this); Img=getImage(getCodeBase(), getParameter("figure")); mt.addImage(Img, 0); try { mt.waitForID(0); } catch(InterruptedException e){}; } public void start() { if(th==null) { th=new Thread(this); th.start(); } } public void dsp_g() { Graphics gx=getGraphics(); gx.drawImage(Img,0-size().width*Sw,0,this); gx.dispose(); } public void run() { while(th!=null) { try { th.sleep(Wait); } catch (InterruptedException e){}; if(Run) Sw=(Sw==0)?1:0; dsp_g(); } } public void paint(Graphics g) { g.clearRect(0, 0, size().width, size().height); g.drawImage(Img, 0, 0, this); dsp_g(); } public boolean mouseDown(Event e, int x, int y) { if((e.when-Lstc > 180) || (Dclk==0)) Dclk=1; else Dclk++; Lstc=e.when; if(Dclk==1) // シングルクリック { Run=false; Wait=50; Sw=(Sw==0)?1:0; dsp_g(); } else // ダブルクリック { Run=true; Wait=2000; } return true; } public void stop() { if(th!=null) { th.stop(); th=null; } } } //戻る