天天看點

J2ME-MIDLET中中的ALERT使用

1、Alert是一個警告對話框,使用ALERTTYPE對應的聲音進行語音提示,應用程式可以不顯示ALERT框,調用playsound方法,并傳入Display類執行個體的引用做為參數,實作語音提示。

AlertType.WARNING.playsound(display);

2、效果

J2ME-MIDLET中中的ALERT使用

3、代碼

package hello;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet implements CommandListener{

    privateboolean midletPaused = false;

   //<editor-fold defaultstate="collapsed" desc="Generated Fields ">

    privateCommand exitCommand;

    private Formform;

    privateStringItem stringItem;

   //</editor-fold>

    privateboolean blissafeexit;  

    privateAlert alert;

    publicHelloMIDlet() {

    }

   //<editor-fold defaultstate="collapsed" desc="Generated Methods ">

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Method: initialize ">

    private voidinitialize() {

       // write pre-initialize user code here

       // write post-initialize user code here

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Method: startMIDlet ">

    public voidstartMIDlet() {

       // write pre-action user code here

       blissafeexit=false;

       switchDisplayable(null, getForm());

       // write post-action user code here

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Method: resumeMIDlet ">

    public voidresumeMIDlet() {

       // write pre-action user code here

       // write post-action user code here

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Method: switchDisplayable ">

    public voidswitchDisplayable(Alert alert, Displayable nextDisplayable) {

       // write pre-switch user code here

       Display display = getDisplay();

       if (alert == null) {

           display.setCurrent(nextDisplayable);

       } else {

           display.setCurrent(alert, nextDisplayable);

       }

       // write post-switch user code here

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Method: commandAction for Displayables">

    public voidcommandAction(Command command, Displayable displayable) {

       // write pre-action user code here

       if (displayable == form) {

           if (command == exitCommand) {

               // write pre-action user code here

               exitMIDlet();

               // write post-action user code here

           }

       }

       // write post-action user code here

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Getter: exitCommand ">

    publicCommand getExitCommand() {

       if (exitCommand == null) {

           // write pre-init user code here

           exitCommand = new Command("Exit", Command.EXIT, 0);

           // write post-init user code here

       }

       return exitCommand;

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Getter: form ">

    public FormgetForm() {

       if (form == null) {

           // write pre-init user code here

           form = new Form("Welcome", new Item[] { getStringItem() });

           form.addCommand(getExitCommand());

           form.setCommandListener(this);

           // write post-init user code here

       }

       return form;

    }

   //</editor-fold>

   //<editor-fold defaultstate="collapsed" desc="Generated Getter: stringItem ">

    publicStringItem getStringItem() {

       if (stringItem == null) {

           // write pre-init user code here

           stringItem = new StringItem("/u8F6F/u4EF6/u5F00/u53D1/u57FA/u5730","ALERT/u6F14/u793A");

           // write post-init user code here

       }

       return stringItem;

    }

   //</editor-fold>

    publicDisplay getDisplay () {

       return Display.getDisplay(this);

    }

    public void exitMIDlet() {

    try{

       if (!blissafeexit){

         alert=newAlert("警告","系統正忙,請再嘗試一次退出",null,AlertType.WARNING);

         alert.setTimeout(Alert.FOREVER);

         switchDisplayable(alert,form);

         destroyApp(false);

       }

       else{

          switchDisplayable (null, null);

          destroyApp(true);

          notifyDestroyed();           

       }

   }

   catch (MIDletStateChangeException exception){

       blissafeexit=true;

   }

    }

    public voidstartApp() {

       if (midletPaused) {

           resumeMIDlet ();

       } else {

           initialize ();

           startMIDlet ();

       }

       midletPaused = false;

    }

    public voidpauseApp() {

       midletPaused = true;

    }

    publicvoid destroyApp(boolean unconditional) throwsMIDletStateChangeException {

       if (!unconditional){

           throw  newMIDletStateChangeException();

       }

    }

}

繼續閱讀