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

📄 j02140503.java

📁 经典java教材《java完美经典》一书中源码的完全收集
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class j02140503 extends Applet implements Runnable
{
  Button b1,b2,b3;
  TextField text1;
  Image Img1;
  Thread myThread;
  String pic[]={"BACK1.JPG","BACK2.JPG","BACK3.JPG",
                "BACK4.JPG","BACK5.JPG","BACK6.JPG","BACK7.JPG"};
  String startNum = "1";
  boolean wantRun ;
  private int n = 0;   
  
  void initGUI()
  {
    this.setLayout(null);
    b1 = new Button("选取喜爱的花色");
    b1.setBounds(100,290,130,30);
    b1.addMouseListener(new MouseAdapter()
    {
      public void mouseClicked(MouseEvent e)
      {
        text1.setText("BACK" + String.valueOf(n+1)+".JPG");
      }
    });
    this.add(b1);  
    
    text1 = new TextField();
    text1.setBounds(250,292,130,25);
    this.add(text1);
    
    b2 = new Button("停止浏览花色");
    b2.setBounds(100,330,130,30);
    b2.addMouseListener(new MouseAdapter()
    {
      public void mouseClicked(MouseEvent e)
      {
        stop(); //因为需要的程序代码和 stop() 内的完全一样。
                 /*注意!调用 stop() 并不会使 applet 停止!*/
      }
    });  	
    this.add(b2);    
    
    b3 = new Button("开始浏览花色");
    b3.setBounds(250,330,130,30);
    b3.addMouseListener(new MouseAdapter()
    {
      public void mouseClicked(MouseEvent e)
      {
        start(); //因为需要的程序代码和 start() 内的完全一样。
                 /*注意!调用 start() 并不会使 applet 重新开始!*/
      }
    });  	
    this.add(b3);     
    
    this.setBackground(new Color(255,193,255));
    this.setVisible(true);   
  } //void initGUI() end
  
  public void init()//初始化时 1
  {
    initGUI();
    /* <param name="startnum"   value="5"> */
    startNum = this.getParameter("startnum");  //=5,表示 BACK5.JPG
    n = (Integer.parseInt( startNum ))-1;  //BACK1.JPG 是 pic[0]    
  }
  public void start() //激活时 2
  {
    if(myThread == null)
    {
      wantRun = true;
      myThread = new Thread( this );
      myThread.start();
    }	
  }
  public void stop()
  {          //停止时,如:换网页
    wantRun = false;
    myThread = null;
  }
  public void destory()
  { 
    Img1 = null;   myThread = null;
    pic = null;  	startNum = null;   	
  }   //最后清除时,如:关闭浏览器
  
  public void paint(Graphics g)   // 3
  {    
    g.drawString(("BACK" + String.valueOf(n+1)+".JPG"),20,20);
    Img1 = this.getImage(this.getCodeBase(), pic[n]); 
    g.drawImage(Img1,20,35,this); 
                           //Applet 类别有 implements ImageObserver      
  }
  
  public void run()
  {    
    while(true)
    {
      repaint();   // call paint()
      if(!wantRun)
      	break;	 // 跳出 while 循环*/
      /* 不适合用 while(wantRun),因为那样在 "停止浏览花色" 后若 "选取喜爱的花色",所得的是下一张图的档名 */	    	
      
      try
      {
        Thread.sleep(2000);
      }catch(Exception ecp){}      
      
      n = n + 1; //要在 sleep 之后,避免 repait 不正常,同步使用 n 变量的问题
      if(n >6)
         n = 0;      
    }
  } //void run() end
}//class j02140503 end

⌨️ 快捷键说明

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