|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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推出以后,性能上又有了很大提高。 |
|