prev   next

Step 5 : マウス操作
applet の 開始と停止 - イベント操作


***PROGRAM***

import java.awt.Graphics;
import java.applet.Applet;
import java.awt.Font;
import java.awt.Color;
import java.awt.Event;

public class HelloWorld5 extends Applet implements Runnable{
String input_text;
Font font= new Font("Helvetica",1,24);
Color color = new Color(94,60,215);

int xpos=0;
Thread killme=null;

boolean suspended = false;

  public void init(){
  input_text=getParameter("text");
  }

  public void paint(Graphics g){
  g.setFont(font);
  g.setColor(color);
  g.drawString(input_text,xpos,25);
  }

public void start(){
if(killme==null){
  killme=new Thread(this);
  killme.start();
  }
}

public void setcoord(){
  xpos =xpos-5;
  if((xpos)<-120){
  xpos=size().width;
  }
}

public void run(){
while(killme != null){
 try{Thread.sleep(100);} catch (InterruptedException e){}
 setcoord();
 repaint();
 }
}

public boolean handleEvent(Event evt) {
	if (evt.id == Event.MOUSE_DOWN) {
	    if (suspended) {
	      killme.resume();
	    } else {
	      killme.suspend();
	      }
	    suspended = !suspended;
	    }
	    return true;
            } 
}


オブジェクト killme の2つのメソッド Two methods of object killme to start and stop the thread. resume() and suspend().

applet 上の動いているテキストの上でマウスをクリックすると動きが一時停止し、 もう一度クリックすると再び動き出します。


***THE APPLET***

prev   next

This page maintained by yimmit@well.com, translated by miyajima@kazusa.or.jp