社区
J2ME
帖子详情
大哥,帮帮小弟一把吧!!!必有重谢!!!
xingkongcanlan
2003-12-21 01:52:07
我是一名手机游戏开发的爱好者,现在刚开始学习怎么开发手机游戏!请各位大哥给小弟一点帮助!如果您有好的代码例子或推荐一些书籍,网站网址,本人将不胜感激!!!!
我的邮箱是:xingkongcanlan@eyou.com
...全文
38
19
打赏
收藏
大哥,帮帮小弟一把吧!!!必有重谢!!!
我是一名手机游戏开发的爱好者,现在刚开始学习怎么开发手机游戏!请各位大哥给小弟一点帮助!如果您有好的代码例子或推荐一些书籍,网站网址,本人将不胜感激!!!! 我的邮箱是:xingkongcanlan@eyou.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kalends
2004-01-07
打赏
举报
回复
package fancy.test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet implements CommandListener
{
private Display display;
private form props;
private Command exitCommand = new Command("Exit", Command.EXIT, 1);
public HelloWorld()
{
display = Display.getDisplay(this);
}
public void startApp()
{
props = new form("Hello World");
props.append("Hello World!\n");
props.addCommand(exitCommand);
props.setCommandListener(this);
display.setCurrent(props);
}
public void commandAction(Command c, Displayable s)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}
public void destroyApp(boolean unconditional)
{
}
public void pauseApp()
{
display.setCurrent(null);
props = null;
}
}
然后将该文件保存在J2MEWTK_HOME\apps\fancy\src\fancy\test目录下面,文件名为Hello
World.java。注意:你需要在fancy\src目录下面创建fancy文件夹,然后再在fancy文件夹下面
创建test文件夹。最后才保存HelloWorld.java文件。
现在转到J2MEWTK的主窗口,单击Build按钮,编译整个项目,查看控制台的输出信息,一切无
误,再单击Run按钮,运行此程序。运行效果如下图所示:(缺)
(9)-------HelloWorld解释一
要停电了,只好写道这里了。
1) package fancy.test;
这行代码声明当前类所在的包。这是有必要的。而且这个包名必须和src文件夹中的目录结
构对应。
2)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
这两行代码导入必要的Java包,这两个包的作用在后面会提及,这里就不多说了。
3)
public class HelloWorld extends MIDlet implements CommandListener
J2ME程序一般应该继承MIDlet,实现CommandListener。就如Applet必须继承Applet,可能实
现Runnable接口一样。
4)
private Display display;
private form props;
定义两个私有对象,Display代表屏幕,显示区域。form是容器的一种。在J2ME程序中,不但
有容器的概念,还有画布(Canvas)的概念。这个程序在form容器中显示文本。
5)
private Command exitCommand = new Command("Exit", Command.EXIT, 1);
声明一个Command对象。J2ME的事件处理机制和J2SE的事件处理机制不太一样。在J2ME程序
中,必须预先定义一些Command对象,注册到程序中。当设备发生了某个事件,会产生相应的Co
mmand对象,并把它传递给一个事件处理函数----commandAction(),由它对所产生的事件做统
筹处理。
6)
public HelloWorld()
{
display = Display.getDisplay(this);
}
这个是构造函数,函数内部,调用Display对象的静态方法---getDisplay(),获取屏幕对象,
实例化display变量。这个调用是必要的。你可以在构造函数中做这个工作,也可以在startApp()
方法中做这个工作。推荐在构造函数中完成。
7)MIDlet程序的运行流程
构造函数---->startApp()------>侦听事件,接受命令------->commandAction()方法----
--->调用别的方法----------->如果是exit命令--------->pauseApp()--------->destroyApp()方法。
实际上MIDlet程序的运行流程和Applet程序的运行流程差不多。
public void startApp()
{
props = new form("Hello World");
props.append("Hello World!\n");
props.addCommand(exitCommand);
props.setCommandListener(this);
display.setCurrent(props);
}
这是startApp()方法。这个方法是父类的抽象方法,在子类中必须予以覆盖。首先实例化form对象
----------props,form的构造函数的参数(Hello World)就是屏幕的标题。form对象
是一容器,在里面可以包含别的东西,props.append(“…..”);的作用就是在这个容器中存放
一个字符串。这个字符串会在屏幕中显示出来。
接下来的三行代码分别做这样的工作:
将Exit命令注册到form对象(props)中,这样form对象(props)可以对该命令作出响应。
设置form对象(props)的命令监听者。
将form对象设置为屏幕显示的对象。
你可以试着注释掉这三行代码,再编译运行这个程序,看看会发生什么情况。
9)
public void commandAction(Command c, Displayable s)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}
这个方法是事件处理的中枢,它接受各种命令,并对其进行分析,再分别调用合适的处理方法。
在这个例子中,当接收到Exit命令以后,马上销毁程序,退出。
10)destroyApp()方法的作用是退出程序并销毁程序对象。pauseApp()方法的作用是暂停程序
,并销毁容器对象或者是画布对象。手机屏幕将会是一片空白。
(11)------J2ME的类库结构
javax.microedition.lcdui:用户界面包,主要用于构造程序的用户界面。Command、form都
是这个包的类。
javax.microedition.rms:这个包实现了对手机数据的存取功能。
javax.microedition.midlet:这个包是MIDlet程序的声明周期包,主要定义了MIDlet类,MIDlet
类是一个抽象类,里面声明了startApp()、destroyApp()、pauseApp()等抽象方法。
javax.microedition.io:网络IO包。有HttpConnection接口和Connection接口、Datagram接口。
java.io.*
java.lang.*
java.util.*
上面这三个包属于J2ME核心包,J2ME中的核心包和J2SE中的同名核心包有些差别,主要是功能
大大简化了,许多类、方法都没有了,只能实现一些最基本的功能。
疯狂低调
2004-01-07
打赏
举报
回复
gz
ltylty
2004-01-06
打赏
举报
回复
http://www.joyes.com/index.asp
dytsoft
2004-01-01
打赏
举报
回复
顺祝:
新年快乐
新的一年有新的开始
dytsoft
2004-01-01
打赏
举报
回复
学习加收藏
寒冬
2004-01-01
打赏
举报
回复
学习
sunny110
2004-01-01
打赏
举报
回复
study
junnef
2003-12-31
打赏
举报
回复
这个问题我也在关注,帮你顶。
stonecsdn
2003-12-31
打赏
举报
回复
学习
Tzxqx
2003-12-31
打赏
举报
回复
up
sy5591
2003-12-29
打赏
举报
回复
呵呵,楼主快来揭贴!
疯狂低调
2003-12-25
打赏
举报
回复
晕了!
nomenn
2003-12-25
打赏
举报
回复
uumm(eee) ( ) :现在像你 这么细心的人已经不多了
jofield
2003-12-24
打赏
举报
回复
在wtk中有些原代码,你可以看一下。
在www.cnjm.com上提供的jar,jad下来,反编译,看看。
uumm
2003-12-24
打赏
举报
回复
package fancy.test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet implements CommandListener
{
private Display display;
private form props;
private Command exitCommand = new Command("Exit", Command.EXIT, 1);
public HelloWorld()
{
display = Display.getDisplay(this);
}
public void startApp()
{
props = new form("Hello World");
props.append("Hello World!\n");
props.addCommand(exitCommand);
props.setCommandListener(this);
display.setCurrent(props);
}
public void commandAction(Command c, Displayable s)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}
public void destroyApp(boolean unconditional)
{
}
public void pauseApp()
{
display.setCurrent(null);
props = null;
}
}
然后将该文件保存在J2MEWTK_HOME\apps\fancy\src\fancy\test目录下面,文件名为Hello
World.java。注意:你需要在fancy\src目录下面创建fancy文件夹,然后再在fancy文件夹下面
创建test文件夹。最后才保存HelloWorld.java文件。
现在转到J2MEWTK的主窗口,单击Build按钮,编译整个项目,查看控制台的输出信息,一切无
误,再单击Run按钮,运行此程序。运行效果如下图所示:(缺)
(9)-------HelloWorld解释一
要停电了,只好写道这里了。
1) package fancy.test;
这行代码声明当前类所在的包。这是有必要的。而且这个包名必须和src文件夹中的目录结
构对应。
2)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
这两行代码导入必要的Java包,这两个包的作用在后面会提及,这里就不多说了。
3)
public class HelloWorld extends MIDlet implements CommandListener
J2ME程序一般应该继承MIDlet,实现CommandListener。就如Applet必须继承Applet,可能实
现Runnable接口一样。
4)
private Display display;
private form props;
定义两个私有对象,Display代表屏幕,显示区域。form是容器的一种。在J2ME程序中,不但
有容器的概念,还有画布(Canvas)的概念。这个程序在form容器中显示文本。
5)
private Command exitCommand = new Command("Exit", Command.EXIT, 1);
声明一个Command对象。J2ME的事件处理机制和J2SE的事件处理机制不太一样。在J2ME程序
中,必须预先定义一些Command对象,注册到程序中。当设备发生了某个事件,会产生相应的Co
mmand对象,并把它传递给一个事件处理函数----commandAction(),由它对所产生的事件做统
筹处理。
6)
public HelloWorld()
{
display = Display.getDisplay(this);
}
这个是构造函数,函数内部,调用Display对象的静态方法---getDisplay(),获取屏幕对象,
实例化display变量。这个调用是必要的。你可以在构造函数中做这个工作,也可以在startApp()
方法中做这个工作。推荐在构造函数中完成。
7)MIDlet程序的运行流程
构造函数---->startApp()------>侦听事件,接受命令------->commandAction()方法----
--->调用别的方法----------->如果是exit命令--------->pauseApp()--------->destroyApp()方法。
实际上MIDlet程序的运行流程和Applet程序的运行流程差不多。
public void startApp()
{
props = new form("Hello World");
props.append("Hello World!\n");
props.addCommand(exitCommand);
props.setCommandListener(this);
display.setCurrent(props);
}
这是startApp()方法。这个方法是父类的抽象方法,在子类中必须予以覆盖。首先实例化form对象
----------props,form的构造函数的参数(Hello World)就是屏幕的标题。form对象
是一容器,在里面可以包含别的东西,props.append(“…..”);的作用就是在这个容器中存放
一个字符串。这个字符串会在屏幕中显示出来。
接下来的三行代码分别做这样的工作:
将Exit命令注册到form对象(props)中,这样form对象(props)可以对该命令作出响应。
设置form对象(props)的命令监听者。
将form对象设置为屏幕显示的对象。
你可以试着注释掉这三行代码,再编译运行这个程序,看看会发生什么情况。
9)
public void commandAction(Command c, Displayable s)
{
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
}
这个方法是事件处理的中枢,它接受各种命令,并对其进行分析,再分别调用合适的处理方法。
在这个例子中,当接收到Exit命令以后,马上销毁程序,退出。
10)destroyApp()方法的作用是退出程序并销毁程序对象。pauseApp()方法的作用是暂停程序
,并销毁容器对象或者是画布对象。手机屏幕将会是一片空白。
(11)------J2ME的类库结构
javax.microedition.lcdui:用户界面包,主要用于构造程序的用户界面。Command、form都
是这个包的类。
javax.microedition.rms:这个包实现了对手机数据的存取功能。
javax.microedition.midlet:这个包是MIDlet程序的声明周期包,主要定义了MIDlet类,MIDlet
类是一个抽象类,里面声明了startApp()、destroyApp()、pauseApp()等抽象方法。
javax.microedition.io:网络IO包。有HttpConnection接口和Connection接口、Datagram接口。
java.io.*
java.lang.*
java.util.*
上面这三个包属于J2ME核心包,J2ME中的核心包和J2SE中的同名核心包有些差别,主要是功能
大大简化了,许多类、方法都没有了,只能实现一些最基本的功能。
iicsdn
2003-12-21
打赏
举报
回复
http://love.love3321.net/cbbs/index.asp
http://j2me.crazyasp.com/forum/list.asp?boardid=6
sharewarer
2003-12-21
打赏
举报
回复
http://www.monternet.com/
sharewarer
2003-12-21
打赏
举报
回复
http://www.chair3.com/widway/bbs/list.asp?boardid=16
sharewarer
2003-12-21
打赏
举报
回复
http://www.yesky.com/SoftChannel/72348977504190464/20031215/1753502.shtml
波形图程序 另跪求web在线录音
一个不错的波形图程序 有兴趣的可以看那看 谁有在线录音的web程序 给我联系
必有
重谢
!chysx88717@yeah.net qq:461940382
一个关于web的简单应用实例
一个简单的web服务应用实例,适合让初学者看看。...没什么好资源,以后有了好的就会跟大家分享,另外也想大家给个基于webservice的图书馆管理系统的实现的例子,有的朋友请给下:876767716@qq.com,后有
重谢
啊!
tikuhelp
小弟
还有两天就要答辩,但现在还有几个问题一直没解决。还要忙论文,翻译。我做的是很简单在线题库,现在问题是1,在线编辑没有解决。对不满意试题,管理员可以在线编辑2,组成试卷后输出到doc或者txt内,按一定模版...
使用JQuery实现的动态编辑表格
本人前端小白,因为项目需求,需要动态编辑表格,但是layui的编辑表格只适合 【有数据】修改功能用,并不适合【无数据】新增的功能...fixed:right 效果,如果能实现这两个显示的功能,请一定要联系我,本人
必有
重谢
。
ENVI汉化包安装步骤
请将问题发邮件至 duhj@esrichina.com.cn,
必有
重谢
。谢谢。 由于ENVI自身原因,汉化并不彻底,在一些经典版工具界面将保持英文状态。 注:本工具支持 ENVI 5.3.1/5.4.1/5.5/5.5.1 及更高版本 注:如果使用...
J2ME
13,100
社区成员
26,495
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章