仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3403|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA教程之J2ME进修条记(五)

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:36:00 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。条记一入手下手谈事件处置一定就觉得形形色色分歧的观点,java基类的承继等工具。以是感到非常单调。以

前学java的时分一谈事件处置我就头痛。呵呵。
呵呵,入手下手研讨一下MIDlet的事件处置咯。实在之前也没有写过Applet,可是Servlet却是写很多,

究竟MVC内里servlet所占位置也算主要。任何一个servlet都必需要承继javax.servlet.http.HttpServle

t类,实在作为一个MIDlet而言也是一个观点,一切的MIDlet都必需承继javax.microedition.midlet.MID

let。说白了也就是承继了startApp(),pauseApp(),destoryApp()这三个办法。
当一个MIDlet乐成入手下手运转的今后也就入手下手了它的性命周期,这个性命周期完整有JPM把持。MIDlet

形态变化产生不测的时分便会抛出MIDletStateChangeException。
全部MIDP规格中,事件处置分为初级事件处置和初级事件处置。初级事件处置依据分歧的手持设备

会有分歧的类库撑持,而初级事件处置则无此限定。也就是说,假如我们做的MIDlet想要在分歧的呆板上

都能运转我们就不克不及挪用初级事件处置中的办法,而只能利用初级事件处置中的办法。
全部MIDP中,事件处置是由事件<->处置办法的一个组合构成的。
MIDP一切具有显现才能的元件都承继于Displayable笼统类,它又衍生出了Screen(处置初级事件处

理)与Canvas(处置初级事件处置)。MIDP中初级事件处置有两个接口,分离是CommandListener和Ite

mStateListener。CommandListener接口常常与javax.microedition.lcdui中的Command类一同利用。能够

看以下例子:
/**
*@authorYouLi
*
*CopyRight(C)2005
*/
importjavax.microedition.midlet.*;
importjavax.microedition.lcdui.*;

publicclassHLEventMIDletextendsMIDletimplementsCommandListener{
privateCommandexitCommand;
privateCommandinfo1Command;
privateCommandinfo2Command;
privateDisplaydisplay;
publicHLEventMIDlet(){
display=Display.getDisplay(this);
exitCommand=newCommand("加入",Command.SCREEN,1);//前面数字越小,优先级别

越高
info1Command=newCommand("菜单1",Command.SCREEN,2);
info2Command=newCommand("菜单2",Command.SCREEN,2);
}
publicvoidstartApp(){
TextBoxt=newTextBox("Hello","测试一下^_^",256,0);
t.setCommandListener(this);
t.addCommand(exitCommand);
t.addCommand(info2Command);
t.addCommand(info1Command);
display.setCurrent(t);
}
publicvoidpauseApp(){
}
publicvoiddestroyApp(booleanunconditional){
}
publicvoidcommandAction(Commandc,Displayables)
{
if(c==exitCommand){
notifyDestroyed();
}elseif(c==info1Command){
notifyDestroyed();
}
}
}
运转今后就会发明已有了一个能够供选择的一个复杂菜单了!^_^Command一共界说了8个命令,优

先级别以下从高到低:Command.BACK
Command.CANCELCommand.EXITCommand.HELPCommand.ITEMCommand.OKCommand.SCREEN

Command.STOP。呵呵,我以为这么说都没有甚么用,写一点点代码就都分明了。。^_^

CommandListener接纳了Unicast形式,以是统一工夫那只能响应一个事件处置办法。

然后浏览哈子ItemStateListener接口好了。同CommadnListener一样,它也接纳了Unicast形式。
弄个列子先:
/**
*@authorYouLi
*
*CopyRight(C)2005
*/
importjavax.microedition.midlet.*;
importjavax.microedition.lcdui.*;

publicclassTFEventMIDletextendsMIDletimplementsItemStateListener{

/**
*
*/
privateDisplaydisplay;
publicTFEventMIDlet(){
display=Display.getDisplay(this);
}
publicvoidstartApp()
{
Formf=newForm("Form");
TextFieldtf=new
TextField("Input","Origin",25,TextField.ANY);
f.append(tf);
f.setItemStateListener(this);
display.setCurrent(f);
}
publicvoidpauseApp(){
}
publicvoiddestroyApp(booleanunconditional){
}
publicvoiditemStateChanged(Itemitem){
TextFieldtmp=(TextField)item;
tmp.setString("Changed");
}

}
关于这两个接口的详细利用办法我想也没有必需都写出来,依据接口所必要承继上去的类一看我想也

都差未几了。。呵呵,定名仍是很标准的。



依据MIDP的标准,假如CommandListener和ItemStateListener同时处置,itemStateChanged()优先于comm

andAction()处置。

初级事件处置非常的复杂,可是功效其实不能真实的到达我们举行开辟的需求。以是这个时分我们就要

借助于初级事件处置了。

俺明天不想看了。。对照累,呵呵,以是初级事件处置今天早晨研讨好了。



先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 21:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表