import javax.microedition.lcdui.ChoiceGroup;
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.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
//ChoiceGroup 组件测试
public class ChoiceGroup_test extends MIDlet implements CommandListener {
// 定义设置变量
private Display display;
private Form f;
private Image image;
private Image[] imageArray;
private ChoiceGroup choice;
private ChoiceGroup choice2;
private String[] stringArray1 = {"宫爆鸡丁","回锅肉","西红柿"};
private String[] stringArray2 = {"11:30-12:00","12:00-12:30","12:30-13:00"};
private final Command CMD_EXIT = new Command("eixt",Command.EXIT,1);
private final Command CMD_OK = new Command("OK",Command.OK,1);
//构造方法的编写
public ChoiceGroup_test(){
super();
//获取当前的对象
display = Display.getDisplay(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
display.setCurrent(null);
f = null;
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
//同样ChoiceGroup 这个组件是Form 的子类
f = new Form("Choice 的演示");
f.append("订餐表");
try{
//获取对应的图片 使用的是相对的路径
Image image = Image.createImage("/images/eclipse.png");
//给之前定义好的数组进行赋值
imageArray = new Image[]{image,image,image};
//创建组件
choice = new ChoiceGroup("选出你的午餐菜谱:",ChoiceGroup.MULTIPLE,stringArray1,imageArray);
choice2 = new ChoiceGroup("选择送餐的时间:",ChoiceGroup.EXCLUSIVE,stringArray2,null);
//将对应的组件添加到Form的对象中
f.append(choice);
f.append(choice2);
}catch(Exception ex){
System.out.println("我是监控异常的!无敌一号!");
}
//添加命令
f.addCommand(CMD_EXIT);
f.addCommand(CMD_OK);
f.setCommandListener(this);
//屏幕显示交互
display.setCurrent(f);
}
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
// 执行相应的命令 传递对应的组件对象
//如果选择了退出 销毁资源
if(c==CMD_EXIT){
try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
notifyDestroyed();
}
//选择了确定 多选模式, 传入的是个集合
if(c==CMD_OK){
String content = "你选择的午餐有:";
for(int i = 0;i<choice.size();i++){
if(choice.isSelected(i)){
content+=stringArray1[i]; //累加选择的
}
}
String contentTime = "送餐时间为"+stringArray2[choice2.getSelectedIndex()];
f.deleteAll();
f.append(content);
f.append(contentTime);
}
}
}
J2ME ChoiceGroup 组件测试
最新推荐文章于 2021-03-22 11:41:06 发布