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 {}
}