public void valueScreen() { Form props=new Form("get text box value"); props.append(txtBox.getString()); props.addCommand(exitCommand); props.setCommandListener(this); display.setCurrent(props); }
public void commandAction(Command c, Displayable s) { if (c == exitCommand) { destroyApp(false); notifyDestroyed(); } if(c==getCommand) { valueScreen(); } }
public void destroyApp(boolean unconditional) { }
public void pauseApp() { display.setCurrent(null); txtBox = null; }
} 在上面的例子中(GetTextBoxValue.java),當我們往文本框中輸入文本,并按下退出按鈕,接著選擇GETVALUE命令的時候,將會調用valueScreen()方法。valueScreen()方法的源代碼如下 : public void valueScreen() { Form props=new Form("get text box value"); props.append(txtBox.getString()); props.addCommand(exitCommand); props.setCommandListener(this); display.setCurrent(props); } valueScreen()方法的邏輯是:首先創建一個容器對象Form,然后調用TextBox對象的getString()方法,獲取文本框中的輸入值,追加到容器對象中,最后將此Form對象作為屏幕的當前顯示對象。GetTextBoxValue.java的運行效果如下面兩圖所示:
public class GetTimeZone extends MIDlet implements CommandListener { private Display display; private Form props; //private Date date; private TimeZone zone;
private Command exitCommand = new Command("Exit", Command.EXIT, 1);
public GetTimeZone() { display = Display.getDisplay(this); }
public void startApp() { props = new Form("Hello World"); props.append("Hello World!/n"); //date=new Date(); //props.append("Now Time:"+date.getTime()+"/n"); zone=TimeZone.getDefault(); String []zoneid=zone.getAvailableIDs(); for(int i=0;i { props.append(zoneid[i]+"/n"); } props.append("Current Time Zone:"+zone.getID()+"/n"); props.addCommand(exitCommand); props.setCommandListener(this); display.setCurrent(props); }
public void commandAction(Command c, Displayable s) { if (c == exitCommand) { destroyApp(false); notifyDestroyed(); } }
public void destroyApp(boolean unconditional) { }
public void pauseApp() { display.setCurrent(null); props = null; }