隨筆-348  評論-598  文章-0  trackbacks-0

          下載一個黑莓Eclipse插件,然后新建一個工程,之后新建一個類

          import net.rim.device.api.ui.Field;
          import net.rim.device.api.ui.FieldChangeListener;
          import net.rim.device.api.ui.UiApplication;
          import net.rim.device.api.ui.component.ButtonField;
          import net.rim.device.api.ui.component.Dialog;
          import net.rim.device.api.ui.container.HorizontalFieldManager;


          public class BBUIApp extends UiApplication {
              
          public BBUIApp()
              
          {
                  HorizontalFieldManager top1 
          = new HorizontalFieldManager();
                  ButtonField mySubmitButton 
          = new ButtonField("Connect");
                  ButtonField mySubmitButton1 
          = new ButtonField("close");
                  
                  FieldChangeListener listenerSubmit 
          = new FieldChangeListener() {
                      
          public void fieldChanged(Field field, int context) {
                         Dialog.alert(
          "ok");
                      }

                  }
          ;
                  mySubmitButton.setChangeListener(listenerSubmit);
                  top1.add(mySubmitButton);
                  top1.add(mySubmitButton1);
                  
          final MyPopup popUp = new MyPopup(top1);
                 

                  
          this.pushScreen(popUp);
              }

              
              
          public static void main(String[] args){
                  BBUIApp bbh 
          = new BBUIApp();   // 創建應用程序
                  bbh.enterEventDispatcher();              // 進入事件分發循環
              }


              

          }

          這是一個黑莓CLDC基礎應用類,需要繼承自UIApplication,還要有main方法,因為黑莓運行CLDC時候會自動調用該方法。構造函數里面丟了兩個按鈕,添加了一個事件監聽并添加了一個PopupScreen的子類,就是彈出菜單的Screen,實現如下:
          import net.rim.device.api.system.KeyListener;
          import net.rim.device.api.ui.Keypad;   
          import net.rim.device.api.ui.Manager;
          import net.rim.device.api.ui.MenuItem;   
          import net.rim.device.api.ui.component.Menu;   
          import net.rim.device.api.ui.container.PopupScreen;   
          import net.rim.device.api.ui.container.VerticalFieldManager;   
            
          class MyPopup extends PopupScreen{   
              MyPopup(Manager manager) 
          {   
                  
                  
          super(manager, DEFAULT_MENU | DEFAULT_CLOSE);//設置整個Style,顯示出默認的Menu   
              }
             
                 
              
          public void makeMenu(Menu menu, int instance) {   
                  
          if (instance == Menu.INSTANCE_DEFAULT) {   
                      menu.add(_myItem);   
                  }
             
                  
          if (instance == Menu.INSTANCE_CONTEXT) {//接收context Menu信息   
                      menu.add(_myContextItem);   
                  }
             
                  
          super.makeMenu(menu, instance);   
              }
             
              
          protected MenuItem _myItem = new MenuItem("My Item"10010{   
                  
          public void run() // do something here } };  
                      
                  }
             
              }
          ;   
                 
              
          protected MenuItem _myContextItem = new MenuItem("My Context Item"10010{   
                  
          public void run() // do something here } };   
                  }
             
              }
          ;   
              
          protected boolean keyChar(char c, int status, int time) {   
                     
                  
          if(c==Keypad.KEY_ESCAPE){   
                      close();   
                  }
             
                     
                  
          return super.keyChar(c, status, time);   
              }
             
          }
            
          makeMenu繼承自父類,重新寫了實現,INSTANCE_DEFAULT是默認菜單,也就是黑莓手機上面的菜單鍵,INSTANCE_CONTEXT是上下文菜單,也就是按了中間圓球彈出來的菜單。如果運行這個示例,按菜單鍵則彈出來的是帶有My Item選項的菜單,如果按了圓球,則會現出來一個對話框顯示ok,點過確定后又會彈出來一個帶有My Context Item選項的菜單。需要注意的是,不管這個Manager下面有哪些控件,只要傳給了PopupScreen,那么在任何控件上面按圓球都會彈出My Context Item這個菜單。

          最后要注意,在項目屬性配置中,需要設置為CLDC Application

          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2009-12-13 12:18 TiGERTiAN 閱讀(1255) 評論(0)  編輯  收藏 所屬分類: J2MEBlackBerry
          主站蜘蛛池模板: 峡江县| 册亨县| 祁阳县| 彭泽县| 泰来县| 汉阴县| 英山县| 翼城县| 北票市| 丰原市| 布拖县| 含山县| 巩义市| 双桥区| 延安市| 苍梧县| 师宗县| 江永县| 海伦市| 清水河县| 寿阳县| 航空| 宝鸡市| 冕宁县| 东乌珠穆沁旗| 西乌珠穆沁旗| 乳源| 许昌县| 石景山区| 龙陵县| 尚志市| 八宿县| 四平市| 蓬溪县| 新巴尔虎左旗| 临武县| 岫岩| 玉田县| 七台河市| 安福县| 盐城市|