j2me (基本界面和Command)

  MIDle 中是抽象函数的有startApp pauseApp destroyApp 这三个。要想人为调用destroyApp 则采用    this.notifyDestroyed()来调用。要是想调用pauseApp则采用this.notifyPaused();
       只有Displayable上的东西才能加到 MIDlet上。Displayable 的两个指令Canvas(低级的)和Screen(高级的)。Displayable是一个抽象类不能实例化只能选择它的子类进行实例化。Screen也是一个抽象类,然后看他的子类Alert  Form  List   TextBox
其具体结构为:
class javax.microedition.lcdui.Displayable
class javax.microedition.lcdui.Canvasclass javax.microedition.lcdui.Screen class javax.microedition.lcdui.Alertclass javax.microedition.lcdui.Formclass javax.microedition.lcdui.List (implements javax.microedition.lcdui.Choice)class javax.microedition.lcdui.TextBox 注:类中没有看到构造函数的原因这个类是抽象类用他的子类或是用了设计模式比如单态模式用的就是这个类的一个静态函数来获得比如单态模式用的就是这个类的一个静态函数来获得比如单态模式用的就是这个类的一个静态函数来获得
       Form类定义形式
1.   private Form frm=new Form("请您选择相应的种类");导入包 ctrl +shift+o
import javax.microedition.lcdui.Form;
form不能直接加到界面上只有用Display.但是display是抽象函数用静态的getDisplay(MIDlet m)
函数故此阶段的声明为  private Display dis ;
  dis=Display.getDisplay(this);    dis.setCurrent(frm);
2.
       按钮的添加
用的是Command的构造函数
Command(String label, int commandType, int priority)
写出来格式为
private Command comdel=new Command ("删除该号码",Command.SCREEN ,1);
3.       Command添加到界面上用得的  
格式为    addCommand(Command cmd)
   程序代码   frm.addCommand(comdel);   //frm为前面声明的Form


左边只显示一个Command 顺序是 BACK EXIT CANCEL STOP
右边显示的顺序是  ITEM SCREEN OK HELP
其中左边能出现的部分在右边的显示顺序是从上往下的即BACK在最左边时在右边的排列顺序是ITEM SCREEN OK HELP EXIT CANCEL STOP
代码为:
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class pro2 extends MIDlet {
    private Form frm2= new Form ("请输入相关操作");
    private Display dis;
    private Command SCREEN=new Command("SCREEN",Command.SCREEN,1);
    private Command OK=new Command("OK",Command.OK  ,1);
    private Command ITEM=new Command("ITEM",Command.ITEM ,1);
    private Command HELP=new Command("HELP",Command.HELP ,1);
    private Command STOP=new Command("STOP",Command.STOP ,1);
    private Command EXIT=new Command("EXIT",Command.EXIT ,1);
    private Command BACK=new Command("BACk",Command.BACK  ,1);
    private Command CANCEL =new Command("CANCEL ",Command.CANCEL  ,1);
    public pro2() {
    dis=Display.getDisplay(this);
    dis.setCurrent(frm2);
    frm2.addCommand(SCREEN);
    frm2.addCommand(OK);
    frm2.addCommand(ITEM);
    frm2.addCommand(HELP);
    frm2.addCommand(BACK);
    frm2.addCommand(STOP );
    frm2.addCommand(EXIT);
    frm2.addCommand(CANCEL );
    }
    protected void startApp() throws MIDletStateChangeException {
    }
    protected void pauseApp() {
    }
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
}
命令按钮的响应:
      
编写一个类Commandope来实现CommandListener  
    class Commandope implements CommandListener 因为Commandope实现的是一个接口故将里面的函数重写一遍    
public void commandAction(Command c, Displayable d) {
        System.out.println("按钮选择");
       }
将Commandope类与 Diaplayavle绑定在startApp函数中输入    frm.setCommandListener(new Commandope() );


  将MIDlet 实现  CommandListener在将CommandListener的函数书写一遍放在startApp() 一个级别里面
public void commandAction(Command c, Displayable d) {
           System.out.println("按钮选择");
           }
再将 frm2.setCommandListener(new Commandope() );修改为
frm2.setCommandListener(this);
在commandAction中输入if else 其中
删除和编辑的输出用的是 frm.append(c.getLabel());函数
退出用的是            this.notifyDestroyed();
返回用的是            frm.setTitle("返回");
命令按钮的响应部分代码:
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 CopyOfpro2 extends MIDlet implements CommandListener {
    private Form frm2= new Form ("请输入相关操作");
    private Display dis;
    private Command comcel=new Command("删除",Command.SCREEN,1);
    private Command comedit=new Command("编辑",Command.SCREEN  ,1);
    private Command comexit=new Command("退出",Command.SCREEN,1);
   private Command comback=new Command("返回",Command.BACK ,1);
    public CopyOfpro2() {
    dis=Display.getDisplay(this);
    dis.setCurrent(frm2);
    frm2.addCommand(comcel);
    frm2.addCommand(comedit);
    frm2.addCommand(comexit);
    frm2.addCommand(comback);
    }
    protected void startApp() throws MIDletStateChangeException {
       frm2.setCommandListener(this);
    }
     public void commandAction(Command c, Displayable d) {
          if( c==comcel||c==comedit)
              frm2.append(c.getLabel());
          else if(c==comexit){
              this.notifyDestroyed();
          }
          else{
              frm2.setTitle("返回");
          }
     }
    protected void pauseApp() {}
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
}

 

MIDle 中是抽象函数的有startApp pauseApp destroyApp 这三个。要想人为调用destroyApp 则采用    this.notifyDestroyed()来调用。要是想调用pauseApp则采用this.notifyPaused();
      只有Displayable上的东西才能加到 MIDlet上。Displayable 的两个指令Canvas(低级的)和Screen(高级的)。Displayable是一个抽象类不能实例化只能选择它的子类进行实例化。Screen也是一个抽象类,然后看他的子类Alert  Form  List   TextBox
其具体结构为:
class javax.microedition.lcdui.Displayable
class javax.microedition.lcdui.Canvasclass javax.microedition.lcdui.Screen class javax.microedition.lcdui.Alertclass javax.microedition.lcdui.Formclass javax.microedition.lcdui.List (implements javax.microedition.lcdui.Choice)class javax.microedition.lcdui.TextBox 注:类中没有看到构造函数的原因这个类是抽象类用他的子类或是用了设计模式比如单态模式用的就是这个类的一个静态函数来获得比如单态模式用的就是这个类的一个静态函数来获得比如单态模式用的就是这个类的一个静态函数来获得
       Form类定义形式
1.   private Form frm=new Form("请您选择相应的种类");导入包 ctrl +shift+o
import javax.microedition.lcdui.Form;
form不能直接加到界面上只有用Display.但是display是抽象函数用静态的getDisplay(MIDlet m)函数故此阶段的声明为  private Display dis ;
  dis=Display.getDisplay(this);    dis.setCurrent(frm);
2.
       按钮的添加
用的是Command的构造函数
Command(String label, int commandType, int priority)
写出来格式为
private Command comdel=new Command ("删除该号码",Command.SCREEN ,1);
3.       Command添加到界面上用得的  
格式为    addCommand(Command cmd)
   程序代码   frm.addCommand(comdel);   //frm为前面声明的Form


左边只显示一个Command 顺序是 BACK EXIT CANCEL STOP
右边显示的顺序是  ITEM SCREEN OK HELP
其中左边能出现的部分在右边的显示顺序是从上往下的即BACK在最左边时在右边的排列顺序是ITEM SCREEN OK HELP EXIT CANCEL STOP
代码为:
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class pro2 extends MIDlet {
    private Form frm2= new Form ("请输入相关操作");
    private Display dis;
    private Command SCREEN=new Command("SCREEN",Command.SCREEN,1);
    private Command OK=new Command("OK",Command.OK  ,1);
    private Command ITEM=new Command("ITEM",Command.ITEM ,1);
    private Command HELP=new Command("HELP",Command.HELP ,1);
    private Command STOP=new Command("STOP",Command.STOP ,1);
    private Command EXIT=new Command("EXIT",Command.EXIT ,1);
    private Command BACK=new Command("BACk",Command.BACK  ,1);
    private Command CANCEL =new Command("CANCEL ",Command.CANCEL  ,1);
    public pro2() {
    dis=Display.getDisplay(this);
    dis.setCurrent(frm2);
    frm2.addCommand(SCREEN);
    frm2.addCommand(OK);
    frm2.addCommand(ITEM);
    frm2.addCommand(HELP);
    frm2.addCommand(BACK);
    frm2.addCommand(STOP );
    frm2.addCommand(EXIT);
    frm2.addCommand(CANCEL );
    }
    protected void startApp() throws MIDletStateChangeException {
    }
    protected void pauseApp() {
    }
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
}
命令按钮的响应:

编写一个类Commandope来实现CommandListener  
    class Commandope implements CommandListener 因为Commandope实现的是一个接口故将里面的函数重写一遍    
public void commandAction(Command c, Displayable d) {
        System.out.println("按钮选择");
       }
将Commandope类与 Diaplayavle绑定在startApp函数中输入    frm.setCommandListener(new Commandope() );


  将MIDlet 实现  CommandListener在将CommandListener的函数书写一遍放在startApp() 一个级别里面
public void commandAction(Command c, Displayable d) {
           System.out.println("按钮选择");
           }
再将 frm2.setCommandListener(new Commandope() );修改为
frm2.setCommandListener(this);
在commandAction中输入if else 其中
删除和编辑的输出用的是 frm.append(c.getLabel());函数
退出用的是            this.notifyDestroyed();
返回用的是            frm.setTitle("返回");
命令按钮的响应部分代码:
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 CopyOfpro2 extends MIDlet implements CommandListener {
    private Form frm2= new Form ("请输入相关操作");
    private Display dis;
    private Command comcel=new Command("删除",Command.SCREEN,1);
    private Command comedit=new Command("编辑",Command.SCREEN  ,1);
    private Command comexit=new Command("退出",Command.SCREEN,1);
   private Command comback=new Command("返回",Command.BACK ,1);
    public CopyOfpro2() {
    dis=Display.getDisplay(this);
    dis.setCurrent(frm2);
    frm2.addCommand(comcel);
    frm2.addCommand(comedit);
    frm2.addCommand(comexit);
    frm2.addCommand(comback);
    }
    protected void startApp() throws MIDletStateChangeException {
       frm2.setCommandListener(this);
    }
     public void commandAction(Command c, Displayable d) {
          if( c==comcel||c==comedit)
              frm2.append(c.getLabel());
          else if(c==comexit){
              this.notifyDestroyed();
          }
          else{
              frm2.setTitle("返回");
          }
     }
    protected void pauseApp() {}
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值