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

📄 procwaitwnd.java

📁 在手机上 可以 存取数据 删除 数据 一个简单的手机应用
💻 JAVA
字号:

import java.util.*;
import javax.microedition.lcdui.*;

public class ProcWaitWnd implements ProcObserver, CommandListener {

    private static final int GAUGE_MAX = 8;
    private static ProcWaitWnd pww;

    private Form f;
    private Gauge gauge;
    private Command stopCMD;
    boolean stopped;
    boolean stoppable;
    int current;
    Timer m_timer;
    Object m_param;

    Cancelable objCancelable;

    protected ProcWaitWnd() {

        f = new Form("");
        gauge = new Gauge("", false, GAUGE_MAX, 0);
        stopCMD = new Command("取消", Command.STOP, 10);

        f.append(gauge);
        f.setCommandListener(this);

        m_timer=new Timer();
    }

    public static ProcWaitWnd getInstance() {

        if (pww == null) {
            return new ProcWaitWnd();
        }
        return pww;

    }

    public void reset() {

        current=0;
        gauge.setValue(0);
        stopped=false;

        setStoppable(false);
        setTitle("");
        setPrompt("");

        objCancelable=null;
    }

    public void updateProgress(Object param1) {

        gauge.setValue((current++%GAUGE_MAX)+1);

        if(param1!=null && param1 instanceof String){
            setPrompt((String)param1);
        }

    }

    public void autoUpdProg(){
        PWWTimerTask tt=new PWWTimerTask(this);
        this.m_timer.schedule(tt,500,500);
    }

    public boolean isStoppable() {
        return stoppable;
    }

    public void setStoppable(boolean stoppable) {

        this.stoppable = stoppable;
        if(stoppable){
            f.addCommand(stopCMD);
        }else{
            f.removeCommand(stopCMD);
        }

    }

    public boolean isStopped() {
        return stopped;
    }

    public void setTitle(String title) {
        f.setTitle(title);

    }

    public void setPrompt(String prompt) {
        gauge.setLabel(prompt);
    }

    public void commandAction(Command arg0, Displayable arg1) {

        if(arg0==stopCMD){

            if(isStoppable()){

                if(!isStopped()){

                    setStopped(true);
                    if(objCancelable!=null){
                        objCancelable.cancel();
                    }

                }else{
                    setPrompt("现在不能取消!");
                }
            }
        }

    }

    public void show(Display display) {
        display.setCurrent(f);
    }

    public void exit() {
        objCancelable=null;
    }

    public void setMax() {
        gauge.setValue(GAUGE_MAX);
    }

    public void setStopped(boolean stopped) {
        this.stopped=stopped;
    }

    public void setCancelalbeObject(Cancelable co){
        this.objCancelable=co;
    }

}
class PWWTimerTask extends TimerTask{
    ProcWaitWnd m_pww;

    public  PWWTimerTask(ProcWaitWnd pww){
        m_pww = pww;
    }

    public void run(){
        if( m_pww.isStopped()){
            m_pww.m_timer.cancel();
        }
        m_pww.updateProgress(null);
    }
}



⌨️ 快捷键说明

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