冷面閻羅

          低調(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)航:
           
          主站蜘蛛池模板: 八宿县| 北流市| 嘉鱼县| 分宜县| 北宁市| 青海省| 珠海市| 曲麻莱县| 丰顺县| 饶河县| 安丘市| 迁西县| 呼玛县| 惠安县| 诏安县| 松原市| 文登市| 建宁县| 东台市| 土默特右旗| 沈阳市| 务川| 蒲城县| 溆浦县| 文安县| 乃东县| 杨浦区| 汉阴县| 潜江市| 朔州市| 武鸣县| 林口县| 湘阴县| 尼勒克县| 建阳市| 钟山县| 福泉市| 平山县| 常州市| 福清市| 茶陵县|