J2ME中ITEM类如何使用
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家介绍J2ME中ITEM类如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
J2ME中ITEM类用法
一、基本知识
1、ITEM类是Form类的派生类。
2、通过改变ITEM类的派生类的实例的状态,用户可以和应用程序进行交互。
3、ITEM类StateChanged方法和普通触发器不同,在用户引起状态变化时自动调用的操作,程序本身引起的不会调用。
二、创建实践
1、以ChoiceGroup的应用为例,所有应用ITEM类的MIDlet如果要处理ITEM类的状态变化必须重写ITEM类StateChanged方法
2、实际运行效果图
3、NETBEANS设计器的设计
4、代码(NETBEANS生成的大部分框架,笔者修改了其中几行,增加了ITEM类StateChanged方法)
packagehello; importjavax.microedition.midlet.*; importjavax.microedition.lcdui.*; publicclassHelloMIDletextendsMIDletimplementsCommandListener,ITEM类StateListener{ privatebooleanmidletPaused=false; // privateCommandexitCommand; privateFormform; privateChoiceGroupweather_CG; // publicHelloMIDlet(){ } // // // privatevoidinitialize(){ //writepre-initializeusercodehere //writepost-initializeusercodehere } // // publicvoidstartMIDlet(){ //writepre-actionusercodehere switchDisplayable(null,getForm()); //writepost-actionusercodehere } // // publicvoidresumeMIDlet(){ //writepre-actionusercodehere //writepost-actionusercodehere } // // publicvoidswitchDisplayable(Alertalert,DisplayablenextDisplayable){ //writepre-switchusercodehere Displaydisplay=getDisplay(); if(alert==null){ display.setCurrent(nextDisplayable); }else{ display.setCurrent(alert,nextDisplayable); } //writepost-switchusercodehere } // // publicvoidcommandAction(Commandcommand,Displayabledisplayable){ //writepre-actionusercodehere if(displayable==form){ if(command==exitCommand){ //writepre-actionusercodehere exitMIDlet(); //writepost-actionusercodehere } } //writepost-actionusercodehere } // //重写ITEM类StateChanged方法 publicvoidITEM类StateChanged(ITEM类ITEM类){ //writepre-actionusercodehere if(ITEM类==weather_CG){ form.setTitle("你选择了"+weather_CG.getString(weather_CG.getSelectedIndex())+"天"); //writepost-actionusercodehere } //writepost-actionusercodehere } // // publicCommandgetExitCommand(){ if(exitCommand==null){ //writepre-initusercodehere exitCommand=newCommand("\u9000\u51FA",Command.EXIT,0); //writepost-initusercodehere } returnexitCommand; } // // publicFormgetForm(){ if(form==null){ //writepre-initusercodehere form=newForm("Welcome",newITEM类[]{getWeather_CG()}); form.addCommand(getExitCommand()); form.setCommandListener(this); //增加初始天气选择情况显示 form.setTitle("你选择了晴天"); //增加ITEM类的监听器 form.setITEM类StateListener(this);//writepost-initusercodehere } returnform; } // // publicChoiceGroupgetWeather_CG(){ if(weather_CG==null){ //writepre-initusercodehere weather_CG=newChoiceGroup("\u5929\u6C14\u7C7B\u578B",Choice.EXCLUSIVE); weather_CG.setLayout(ImageITEM类.LAYOUT_DEFAULT); weather_CG.setFitPolicy(Choice.TEXT_WRAP_DEFAULT); //选项框项的代码 weather_CG.append("晴",null); weather_CG.append("阴",null); weather_CG.append("雨",null); weather_CG.append("雪",null); weather_CG.setSelectedIndex(0,true); //writepost-initusercodehere } returnweather_CG; } // publicDisplaygetDisplay(){ returnDisplay.getDisplay(this); } publicvoidexitMIDlet(){ switchDisplayable(null,null); destroyApp(true); notifyDestroyed(); } publicvoidstartApp(){ if(midletPaused){ resumeMIDlet(); }else{ initialize(); startMIDlet(); } midletPaused=false; } publicvoidpauseApp(){ midletPaused=true; } publicvoiddestroyApp(booleanunconditional){ } }
关于J2ME中ITEM类如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341