⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 raceapplet.java

📁 本博客系统是在J2EE平台上用Hibernate框架技术和MVC模式构建
💻 JAVA
字号:
 import java.awt.*;
    import java.applet.Applet;
    public class RaceApplet extends Applet implements Runnable {
       final static int NUMRUNNERS=2; //定义常量
       final static int SPACING=15;
       Runner runners[]=new Runner[NUMRUNNERS];
       Thread updateThread;
       public void init() {
          String raceType=getParameter("type"); //定义字符串变量
          for (int i=0; i<NUMRUNNERS;i++) {
             runners[i]=new Runner(); //创建两个线程runner1和runner2
             runners[i].setPriority(i+1); 
          } //其中runner1的优先级为1,而runner2的优先级为2
          if(updateThread==null) {
             updateThread=new Thread(this,"Thread Race");
             updateThread.setPriority(NUMRUNNERS+1);
          } //创建一个updateThread线程, 优先级为3
       }
       public boolean mouseDown(Event evt, int x, int y) {
          if (!updateThread.isAlive())
             updateThread.start(); //当在applet区按下鼠标时调用updateThread
          for (int i=0;i<NUMRUNNERS;i++) {
             if (!runners[i].isAlive())
                runners[i].start();
          }
          return true;
       }
       public void paint(Graphics g) {
          g.setColor(Color.yellow); //初始化paint方法
          g.fillRect(0,1,size().width,size().height); //设置颜色
          g.setColor(Color.red);
          for (int i=0; i<NUMRUNNERS; i++) {
             int pri=runners[i].getPriority();
             g.drawString(new Integer(pri).toString(),0,(2*i+1)*SPACING);
          }
          update(g);
       }
       public void update(Graphics g) {
          for (int i=0;i<NUMRUNNERS; i++) {
             g.drawLine(SPACING,(i+i)*SPACING+10,SPACING+(runners[i].tick)/1000,
                        (i+i)*SPACING+10);
          }
       }
       public void run() {
          while (updateThread!=null) {
             repaint();
             try {
                updateThread.sleep(10);
             } catch (InterruptedException e) {
             }
          }
       }
       public void stop() {
          for (int i=0; i<NUMRUNNERS; i++) {
             if (runners[i].isAlive()) {
                runners[i].stop();
                runners[i]=null;
             }
          }
          if (updateThread.isAlive()) {
             updateThread.stop();
             updateThread=null;
          }
       }
    }
    class Runner extends Thread {
       public int tick=1; //定义实例变量
       public void run() {
          while (tick<500000) {
             tick++;
          }
       }
    }

⌨️ 快捷键说明

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