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

📄 boombutton.java

📁 几个java的程序
💻 JAVA
字号:
import java.awt.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.lang.InterruptedException;
import java.applet.Applet;
import java.applet.AudioClip;
//定义BoomButton类
public class BoomButton extends java.applet.Applet implements Runnable {
  private Image img[] = new Image[6];//定义一个存放图像的数组
  public int state = 0;//定义一个表示程序状态的标志
  private AudioClip clip1;//定义声音文件
  Thread anim;//定义anim线程
  Button goButton=null;//定义一个按钮对象
  String button_text;//定义一个存放按钮名称的String对象
  //初始化程序
  public void init(){
    MediaTracker tracker = new MediaTracker(this);//定义MediaTracker类
    button_text = getParameter("button_text");//获得按钮名称参数
    goButton = new Button(button_text);//实例化按钮
    add(goButton);//将按钮组件添加到Applet中

    clip1 = getAudioClip(getCodeBase(), "sounds/Explosion-3.au");//加载声音文件
    img[0] = getImage(getDocumentBase(), "images/home2.gif");//加载图像
    tracker.addImage(img[0], 0);//将图像添加到MediaTracker中
    img[1] = getImage(getDocumentBase(), "images/bang1.gif");
    tracker.addImage(img[1], 0);
    img[2] = getImage(getDocumentBase(), "images/puff1.gif");
    tracker.addImage(img[2], 0);
    img[3] = getImage(getDocumentBase(), "images/puff2.gif");
    tracker.addImage(img[3], 0);
    img[4] = getImage(getDocumentBase(), "images/puff3.gif");
    tracker.addImage(img[4], 0);
    img[5] = getImage(getDocumentBase(), "images/puff4.gif");
    tracker.addImage(img[5], 0);
    //设置线程参数
    Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
    try { tracker.waitForAll(); }//等待,以便使所有的图片都被加载
    catch (InterruptedException e) {//如果被打扰,抛出异常
      System.out.println("当程序在加载图像时被打扰!");
      System.exit(0);
    }
    Thread.currentThread().setPriority(Thread.NORM_PRIORITY);
  }
  //启动线程
  public void start(){
    anim=null;
    repaint();
  }
  //停止线程
  public void stop(){
    if (anim!=null) {
      anim.stop();
      anim=null;
    }
  }
  public void destroy(){
  }
 //action方法
  public boolean action(Event evt, Object obj) {
    if (obj.equals(button_text)) {
      anim = new Thread(this);
      anim.start();
      removeAll();
      return(true);
    }
    return false;
  }
  //处理mouseDown事件
  public boolean mouseDown(Event f, int x, int y){
     add(goButton);
    return(true);
  }
  //处理mouseUp事件
  public boolean mouseUp(Event e, int x, int y){
        return(true);
  }
  //处理mouseEnter事件
  public boolean mouseMove(Event e, int x, int y){
        showStatus("");
        return(true);
  }
  //处理mouseEnter事件
  public boolean mouseEnter(Event e, int x, int y){
        showStatus("");
        return(true);
  }
  //处理mouseExit事件
  public boolean mouseExit(Event e, int x, int y){
        return(true);
  }
 //paint方法
  public void paint(Graphics g){
    switch (state)// switch多分支选择语句
      {
      case 0:
        break;
      case 1:                   // 爆炸1 (闪烁)
        g.drawImage(img[1], 0, 0, this);
        break;
      case 2:                   // 爆炸2 (冒烟)
        g.drawImage(img[2], 0, 0, this);
        break;
      case 3:                   // 爆炸3
        g.drawImage(img[3], 0, 0, this);
        break;
      case 4:                   // 爆炸4
        g.drawImage(img[4], 0, 0, this);
        break;
      case 5:                   // 爆炸5
        g.drawImage(img[5], 0, 0, this);
        break;
      } 
  } 
  //运行线程
  public void run() {
    //播放声音文件 
    if (clip1 != null) clip1.play();
        for (state=1; state<=5; state++) {
          repaint();
          try {anim.sleep(75);}
          catch (InterruptedException e){}
        }
	state=0;
	repaint();
  }
}

⌨️ 快捷键说明

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