fan.java

来自「使用netbean开发的电风扇小applet」· Java 代码 · 共 76 行

JAVA
76
字号
package myFan;import java.awt.Graphics;import javax.swing.JPanel;public class Fan extends JPanel implements Runnable {	private static final long serialVersionUID = 1L;    private int arc=0,direct=1,speed=10;    boolean flag;    Thread thread;    public Fan(){        thread=new Thread(this);    }    public void run(){        while(true){            arc+=1;                        try {                thread.sleep(100);                repaint();                synchronized(thread){                    if(!flag){                        thread.wait();                        flag=true;                    }                }            } catch (InterruptedException ex) {                ex.printStackTrace();            }                      }    }    public void start(){        flag=true;        thread.start();    }    public void reverse(){               direct=direct*-1;    }    public void resume(){        synchronized(thread){          thread.notify();        }    }    public void stop(){        flag=false;    }    public void changeSpeed(int speed){        this.speed=speed/2;    }	public void paintComponent(Graphics g) {		super.paintComponent(g);		int xc = getSize().width /2;		int yc = getSize().height /2;		int ra = (int)(Math.min(getSize().width, getSize().height) * 0.4);				int x = xc - ra;		int y = yc -ra;				g.fillArc(x, y, 2*ra, 2*ra, arc*direct*speed, 30);		g.fillArc(x, y, 2*ra, 2*ra, arc*direct*speed+90, 30);		g.fillArc(x, y, 2*ra, 2*ra, arc*direct*speed+180, 30);		g.fillArc(x, y, 2*ra, 2*ra, arc*direct*speed+270, 30);	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?