JyAM's Java: Spinning(?)



// Spinning1.java

import java.applet.*;
import java.awt.*;

public class Spinning1 extends Applet implements Runnable {

	Thread Spinning;

	int SpinWidth = 40;		
	int Delta     = -1;
	int Delta2    = +1;
	int MoonPos   = 10;
		
	public void start(){
		if ( Spinning == null ){
			Spinning = new Thread ( this );
			Spinning.start();
		}
	}

	public void paint(Graphics g) {

		SpinWidth += Delta;
		
		if ( SpinWidth == 0 ) {
			Delta  = +1;
			Delta2 = -1;
		} else if ( SpinWidth == 40 ) {
			Delta  = -1;
			Delta2 = +1;
		}
		
		if ( (SpinWidth % 2) == 0 ) MoonPos += Delta2;
		
		g.drawOval(MoonPos, 10, SpinWidth, 40);
		g.setColor(Color.yellow);
		g.fillOval(MoonPos, 10, SpinWidth, 40);

	}
	
	public void run(){
		while ( Spinning.isAlive() ) {
			try {
				Thread.sleep( 250 );
			} catch (InterruptedException e) { }
			repaint();
		}
	}

	public void stop(){
		if ( Spinning != null ) {
			Spinning.stop();
			Spinning = null;
		}
	}

}

戻る