仓酷云

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

[学习教程] JAVA编程:J2ME进修条记(1)--完成手机屏幕的切换

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:36:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
诸如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出来了:)


认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
小女巫 该用户已被删除
沙发
发表于 2015-1-21 10:47:59 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
若天明 该用户已被删除
板凳
发表于 2015-1-30 15:53:37 | 只看该作者
是一种突破用户端机器环境和CPU
因胸联盟 该用户已被删除
地板
发表于 2015-2-5 14:07:30 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
小魔女 该用户已被删除
5#
发表于 2015-2-12 02:40:04 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
蒙在股里 该用户已被删除
6#
发表于 2015-2-22 20:08:24 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-7 01:33:14 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
活着的死人 该用户已被删除
8#
发表于 2015-3-11 14:45:37 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
透明 该用户已被删除
9#
发表于 2015-3-15 00:31:12 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
admin 该用户已被删除
10#
发表于 2015-3-18 19:56:33 | 只看该作者
是一种使用者不需花费很多时间学习的语言
飘灵儿 该用户已被删除
11#
发表于 2015-3-25 04:18:15 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
海妖 该用户已被删除
12#
发表于 2015-3-26 15:03:06 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
兰色精灵 该用户已被删除
13#
发表于 2015-3-27 12:07:40 | 只看该作者
是一种突破用户端机器环境和CPU
金色的骷髅 该用户已被删除
14#
发表于 2015-4-3 04:22:23 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
变相怪杰 该用户已被删除
15#
发表于 2015-4-6 23:08:43 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
深爱那片海 该用户已被删除
16#
发表于 2015-4-15 05:42:36 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
不帅 该用户已被删除
17#
发表于 2015-4-16 14:47:03 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
山那边是海 该用户已被删除
18#
发表于 2015-4-21 15:53:00 | 只看该作者
是一种为 Internet发展的计算机语言
老尸 该用户已被删除
19#
发表于 2015-5-5 08:23:43 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-16 00:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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