JAVA编程:J2ME进修条记(1)--完成手机屏幕的切换
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。条记在编写手机程序时,常常要举行各个屏幕间的切换。一入手下手不晓得怎样往做,这两天看了一个例子,很复杂,但很能申明成绩。总结一下。若有不当以外,请妙手改正!功效:在主程序中有多个按钮,每个按钮对应一个功效,每个功效要分歧的屏幕(元素)体现出来。
完成:
1、主程序中一定界说了一个Display对像,如privateDisplaydisplay,它暗示以后的屏幕。另有一些Displayable对像。如Form,TextField等都是Displayable的子类。在主程序中经由过程dipslay.serCurrent(Displayable实例名);便可将当Displayable实例到场以后的屏幕。以下程序:
privateDisplaydisplay;
privateFormform=newForm(“一个Form“);
publicvoidstartApp()
{
display.setCurrent(form);
}
感化是将form增加到以后的屏幕傍边。
2、要想举行屏幕间的切换,只需将你想显现的东东放到到主程序的display对象中便可。主程序中界说了一个display,则要在另外一个屏幕(我临时把它称之为方针屏幕)中援用到主程序的display。
开辟情况:Win2000server+Eclipse+WTK2.1
用以下代码申明:
MainMIDlet.java:主程序,一个尺度的MIDlet。
importjavax.microedition.midlet.MIDlet;
importjavax.microedition.lcdui.*;
publicclassMainMIDletextendsMIDletimplementsCommandListener{
privateDisplaydisplay;
privateFormform=newForm("Wellcome!!");
privateCommandokCommand=newCommand("OK",Command.OK,1);//选择OK,换到下一个屏幕
privateFormns;
privateStringItemsi=newStringItem("FirstScreen","~_~");
publicMainMIDlet()
{
form.addCommand(okCommand);
form.append(si);
}
publicvoidstartApp(){
display=Display.getDisplay(this);
display.setCurrent(form);
form.setCommandListener(this);//对form到场CommandListener
}
publicvoidpauseApp(){
}
publicvoiddestroyApp(booleanb){
}
publicvoidcommandAction(Commandc,Displayables)
{
if(c==okCommand)
{
ns=newNextScreen(display,form);//最关头的中央在这里:)
display.setCurrent(ns);
}
}
}
在这个MIDlet中,界说了一个Display对像display。
和一个两个Displayable对象Formform及StringItemsi。运转后显现在屏幕傍边。
另有个一CommandokCommand,其感化是触发下一个屏幕。
在publicvoidcommandListener中能够看到,铛铛前按下的按钮是okCommand时,初始化一个NextScreen对象
ns=newNextScreen(display,form);
将display和form传进,感化就是举行屏幕的切换。
上面是NextScreen的完成:
NextScreen.java第二个屏幕的代码
importjavax.microedition.lcdui.*;
publicclassNextScreenextendsFormimplementsCommandListener{
privateDisplaydisplay;
privateDisplayableparent;
privateCommandbackCommand=newCommand("BACK",Command.BACK,1);
privateStringItemsi=newStringItem("SecondScrean","~_~");
publicNextScreen(Displayd,Displayablep)
{
super("nextscreen");
display=d;
parent=p;
append(si);
addCommand(backCommand);
setCommandListener(this);
}
publicvoidcommandAction(Commandc,Displayables)
{
//前往上一个屏幕
if(c==backCommand)
{
display.setCurrent(parent);
}
}
}
它承继自Form类。
在NextScreen中又界说了一个Displaydisplay,将用它来标识以后的元素显现在哪个屏幕中。
一个Formform,一个StringItemsi。这是以后屏幕中要显现的东东:)
机关函数中的super("secondscreen");的感化是使得NextScreen能够间接调中其父类Form中的函数。
backCommand的感化是前往上一个屏幕。
将form,si及backCommand到场NextScreen中,一个NextScreen的实例就完成了。在主程序(MainMIDlet)中,就是ns。
接上去,最关头的中央,就是在MainMIDlet中的这一句:display.setCurrent(ns);
就是把ns在以后的屏幕中显现出来!如许就能够看到NextScreen中界说的各个元素(form,si)了!
然后想前往原屏幕,怎样办呢?这时候NextScreen中的backCommand就起感化了。
细心看这两句:
在MainMIDlet.java中:
ns=newNextScreen(display,form);
它将form也传了出来。它有甚么用呢?
在NextScreen的机关函数中:
dispaly=d;
这一句实在即是:NextScreen.display=MainMIDlet.display;
如许,NextScreen就失掉了以后的屏幕,它就随便的在下面放东东了。
parent=p;
这一句实在即是:NextScreen.parent=MainMIDlet.form;
从字面意义不难了解,本来是把主程序的form当做parent(怙恃),如许就失掉以后屏幕的前一个屏幕中所显现的内容!!
然后在commandAction中,假如backCommand按下了,则实行display.serCurrent(parent);如许,又把本来的屏幕给show出来了:)
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点, 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 是一种突破用户端机器环境和CPU 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种使用者不需花费很多时间学习的语言 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 是一种突破用户端机器环境和CPU J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 是一种语言,用以产生「小应用程序(Applet(s)) 是一种使网页(Web Page)产生生动活泼画面的语言 是一种将安全性(Security)列为第一优先考虑的语言 是一种为 Internet发展的计算机语言 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
页:
[1]