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

📄 gaugenoninteractive.java

📁 Java ME手机应用开发大全一书的配套光盘上的源码
💻 JAVA
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
 public class GaugeNonInteractive extends MIDlet implements CommandListener
               
{
  private Display display;
  private Form form; 
  private Command exit; 
  private Command start; 
  private Gauge gauge; 
  private boolean isSafeToExit;
  public GaugeNonInteractive()
  {
    display = Display.getDisplay(this);
    gauge = new Gauge("下载进度", false, 100, 0);
    exit = new Command("退出", Command.EXIT, 1);
    start = new Command("下载", Command.SCREEN, 1);    
    form = new Form("");
    form.append(gauge);    
    form.addCommand(start);
    form.addCommand(exit);
    form.setCommandListener(this);
    isSafeToExit = true;
  }
  public void startApp()
  {
   display.setCurrent(form);
  }
  public void pauseApp()
  { 
  }
  public void destroyApp(boolean unconditional) 
                  throws MIDletStateChangeException
  { 
    if (!unconditional)
    {
      throw new MIDletStateChangeException();
    }
  }
  public void commandAction(Command command, Displayable displayable)
  {
    if (command == exit)
    {
      try 
      {
        destroyApp(isSafeToExit);
        notifyDestroyed();
      }
      catch (MIDletStateChangeException Error)
      {
        Alert alert = new Alert("正在下载中", "请稍后再试", null, AlertType.WARNING);
        alert.setTimeout(1500);
        display.setCurrent(alert, form);
      }
    }
    else if (command == start)
    {
      form.removeCommand(start);
      new Thread(new GaugeUpdater()).start();
     }
   }

   class GaugeUpdater implements Runnable
   {
     GaugeUpdater()
     {
     }
     public void run()
     {
       isSafeToExit = false;
       try 
       {
        while (gauge.getValue() < gauge.getMaxValue())
        {
          Thread.sleep(300);
          gauge.setValue(gauge.getValue() + 1);  
        }      
        isSafeToExit = true;
        gauge.setLabel("下载完成");
       }
       catch (InterruptedException Error)
       {
         throw new RuntimeException(Error.getMessage());
       }
    }      
  }
  }

⌨️ 快捷键说明

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