多选模式、多接口实现、屏幕切换练习
2008-10-27 08:58
423 查看
package chapter04;
import javax.microedition.lcdui.Choice;
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.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/*
* 作者:Jcuckoo
* 日期:2008-10-27
* 功能:多选模式、多接口实现、屏幕切换练习
*/
public class MulChoiceGroupMIDlet extends MIDlet implements ItemStateListener,CommandListener{
private Display display;
private Form form;
private TextBox textBox;
private Command exitCommand;
//单选模式
//private ChoiceGroup cg=new ChoiceGroup("工资水平:",Choice.EXCLUSIVE);
//零或多选模式
private ChoiceGroup cg=new ChoiceGroup("工资水平:",Choice.MULTIPLE);
//弹出模式
//private ChoiceGroup cg=new ChoiceGroup("工资水平:",Choice.POPUP);
public MulChoiceGroupMIDlet() {
display=Display.getDisplay(this);
form =new Form("");
textBox=new TextBox("你选中的内容是:","",300,0);
exitCommand=new Command("返回",Command.SCREEN,1);
//向cg组件中添加选项
cg.append("600以下", null);
cg.append("600~1000", null);
cg.append("3000~5000", null);
cg.insert(2, "1000~3000", null);
//删除指定的选项
//cg.delete(1);
//删除所有的选项
//cg.deleteAll();
//将cg添加到form中
form.append(cg);
//注册监听事件
form.setItemStateListener(this);
//将退出按钮添加到textBox
textBox.addCommand(exitCommand);
//注册监听事件
textBox.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(form);
}
public void itemStateChanged(Item item) {
String str="";
//获取组件cg的大小
int num=cg.size();
System.out.println(num);
//创建1个boolean数组,用来存放cg组件中各项状态
boolean [] status=new boolean[num];
//获取cg各项状态,并存放到status数组中
cg.getSelectedFlags(status);
//循环显示数组中的内容
for(int i=0;i<num;i++){
System.out.println(status[i]);
}
//获取数组中为真(即被选择的选项)的内容
for(int i=0;i<num;i++){
if(status[i]){
str=str+cg.getString(i)+"/n";
}
}
//对应内容用textBox来显示
textBox.setString(str);
//利用屏幕管理器,进行屏幕切换
display.setCurrent(textBox);
}
public void commandAction(Command c, Displayable d) {
if(c==exitCommand){
//利用屏幕管理器,进行屏幕切换
display.setCurrent(form);
}
}
}
import javax.microedition.lcdui.Choice;
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.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/*
* 作者:Jcuckoo
* 日期:2008-10-27
* 功能:多选模式、多接口实现、屏幕切换练习
*/
public class MulChoiceGroupMIDlet extends MIDlet implements ItemStateListener,CommandListener{
private Display display;
private Form form;
private TextBox textBox;
private Command exitCommand;
//单选模式
//private ChoiceGroup cg=new ChoiceGroup("工资水平:",Choice.EXCLUSIVE);
//零或多选模式
private ChoiceGroup cg=new ChoiceGroup("工资水平:",Choice.MULTIPLE);
//弹出模式
//private ChoiceGroup cg=new ChoiceGroup("工资水平:",Choice.POPUP);
public MulChoiceGroupMIDlet() {
display=Display.getDisplay(this);
form =new Form("");
textBox=new TextBox("你选中的内容是:","",300,0);
exitCommand=new Command("返回",Command.SCREEN,1);
//向cg组件中添加选项
cg.append("600以下", null);
cg.append("600~1000", null);
cg.append("3000~5000", null);
cg.insert(2, "1000~3000", null);
//删除指定的选项
//cg.delete(1);
//删除所有的选项
//cg.deleteAll();
//将cg添加到form中
form.append(cg);
//注册监听事件
form.setItemStateListener(this);
//将退出按钮添加到textBox
textBox.addCommand(exitCommand);
//注册监听事件
textBox.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(form);
}
public void itemStateChanged(Item item) {
String str="";
//获取组件cg的大小
int num=cg.size();
System.out.println(num);
//创建1个boolean数组,用来存放cg组件中各项状态
boolean [] status=new boolean[num];
//获取cg各项状态,并存放到status数组中
cg.getSelectedFlags(status);
//循环显示数组中的内容
for(int i=0;i<num;i++){
System.out.println(status[i]);
}
//获取数组中为真(即被选择的选项)的内容
for(int i=0;i<num;i++){
if(status[i]){
str=str+cg.getString(i)+"/n";
}
}
//对应内容用textBox来显示
textBox.setString(str);
//利用屏幕管理器,进行屏幕切换
display.setCurrent(textBox);
}
public void commandAction(Command c, Displayable d) {
if(c==exitCommand){
//利用屏幕管理器,进行屏幕切换
display.setCurrent(form);
}
}
}
相关文章推荐
- 使用逻辑数据PNPCE时,选择屏幕中实现单人模式和多人模式之间的切换
- 夜间模式的切换的实现方式
- mybatis CRUD之Mapper代理开发模式(接口实现 不需要实现类)
- HTTP+XML接口客户端 结合策略模式实现总结
- 【oschina android源码分析】切换夜间模式的实现
- Android 中使用 ViewPager实现屏幕页面切换和页面轮播效果
- Android实现滑动屏幕切换图片
- Android中viewPager实现的屏幕左右切换(入门篇)
- 桥接模式(把接口和实现分为两个继承树,而不是将实现来继承接口,造成实现和接口耦合
- jQuery bind事件练习及tab标签切换的实现
- Android利用ViewFlipper实现屏幕切换动画效果
- Android实现滑动屏幕切换图片
- Kitkat小屏幕模式单手操作研究之wm命令的实现方式分析
- bgfx入门练习2——找出DX,OpenGL驱动切换实现原理
- 用setTheme实现日夜间模式的切换
- Android中使用ViewFlipper实现屏幕页面切换(关于坐标轴的问题已补充更改)
- java 抽象类实现接口是什么设计模式
- 五星-原型模式常使用于以下场景--而JAVA中的任何类只要实现了Cloneable标识接口,就可以使用clone方法来进行对象的拷贝
- Android利用ViewFlipper实现屏幕切换动画效果
- 三行Android代码实现白天夜间模式流畅切换