package cn.edu.zucc.exp1;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class MyMidlet extends MIDlet implements CommandListener {
static Display display;
private static Displayable demo;
Command exit = new Command("Exit", Command.EXIT, 1);
public MyMidlet() {
display = Display. getDisplay_r(this);
}
protected void startApp() {
demo = new ChoiceGroupDemo(this);
demo.addCommand(exit);
display.setCurrent(demo);
}
protected void pauseApp() {
// Do nothing
}
protected void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void commandAction(Command c, Displayable d) {
if (c == exit) {
exit();
}
}
public void exit() {
destroyApp(true);
}
public class ChoiceGroupDemo extends Form implements CommandListener {
private Command report;
private ChoiceGroup choices;
private CommandListener comm;
public ChoiceGroupDemo(CommandListener c) {
super("Choice demo");
comm = c;
choices = new ChoiceGroup("How much do you pay "
+ "for wireless services each month?",
Choice.EXCLUSIVE);
choices.append("0 to 10", null);
choices.append("11 to 20", null);
choices.append("21 to 30", null);
choices.append("above 30", null);
append(choices);
report = new Command("Report", Command.SCREEN, 2);
addCommand(report);
setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if (c == report) {
int index = choices. getSelectedIndex_r();
Form form = new InfoForm("Result", this);
form.append("You are paying ");
form.append(choices. getString_r(index));
form.append(" per month");
MyMidlet.display.setCurrent(form);
}
comm.commandAction(c, d);
}
}
public class InfoForm extends Form implements CommandListener {
private Displayable prev;
private Command back;
public InfoForm(String title, Displayable prev) {
super(title);
this.prev = prev;
back = new Command("Back", Command.BACK, 1);
addCommand(back);
setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if (c == back) {
MyMidlet.display.setCurrent(prev);
}
}
}
}