冷面閻羅

          低調(diào)做人&&高調(diào)做事
          隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
          數(shù)據(jù)加載中……

          J2ME程序的奇怪現(xiàn)象

                我周日寫的程序,當(dāng)時(shí)運(yùn)行是沒有問題的。今天運(yùn)行奇了怪出問題。我看了代碼沒有問題就是出異常。代碼如下
          import javax.microedition.lcdui.Command;
          import javax.microedition.lcdui.CommandListener;
          import javax.microedition.lcdui.Display;
          import javax.microedition.lcdui.Displayable;
          import javax.microedition.lcdui.Form;
          import javax.microedition.midlet.MIDlet;
          import javax.microedition.midlet.MIDletStateChangeException;


          public class TestExit extends MIDlet implements CommandListener {
              
          private Display display;
              
          private Form form;
              
          private final static Command cmd_exit=new Command("EXit",Command.EXIT,1);

              
          public TestExit() {
                  display
          =Display.getDisplay(this);
                  form
          =new Form("Exit");
              }


              
          protected void destroyApp(boolean arg0) throws MIDletStateChangeException {

              }


              
          protected void pauseApp() {

              }


              
          protected void startApp() throws MIDletStateChangeException {
                  form.addCommand(cmd_exit);
                  form.setCommandListener(
          this);        
                  display.setCurrent(form);

              }


              
          public void commandAction(Command c, Displayable d) {
                  
          if(c==cmd_exit){
                      System.out.println(
          "in");
                      
          try {
                          destroyApp(
          false);
                          notifyAll();
                      }
           catch (MIDletStateChangeException e) {
                          e.printStackTrace();
                      }

                  }

              }


          }

          出的錯(cuò)誤如下:
          java.lang.IllegalMonitorStateException
              at TestExit.commandAction(
          +24)
              at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(
          +280)
              at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(
          +10)
              at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(
          +68)
              at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(
          +258)

          posted on 2007-06-28 19:01 冷面閻羅 閱讀(401) 評論(1)  編輯  收藏 所屬分類: j2me

          評論

          # re: J2ME程序的奇怪現(xiàn)象  回復(fù)  更多評論   

          問題找到是退出時(shí)選擇函數(shù)有問題:
          destroyed(false) MIDlet在接到通知后拋出MIDletStateChangeException而保持在當(dāng)前狀態(tài),
          destroyApp(false)代表程序是由硬件或非系統(tǒng)關(guān)閉掉的
          notifyDestroyed通知應(yīng)用程序管理器,該midlet已進(jìn)入銷毀狀態(tài),隨時(shí)可以回收內(nèi)存
          2007-06-28 19:19 | 冷面閻羅

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 称多县| 远安县| 新源县| 东乡县| 呼和浩特市| 双辽市| 兴山县| 东兰县| 班玛县| 呼伦贝尔市| 毕节市| 江津市| 敦煌市| 鄂托克旗| 根河市| 扬州市| 江陵县| 张家港市| 阳原县| 彭州市| 察雅县| 平阴县| 黎城县| 会泽县| 苍山县| 鹤岗市| 苍梧县| 锡林浩特市| 开原市| 偃师市| 延边| 吉林省| 姚安县| 临朐县| 佛坪县| 甘谷县| 松桃| 吉林省| 文水县| 抚顺县| 明水县|