1.必须先安装 NetBeans IDE 4.0 和 NetBeans Mobility Pack 4.0,然后才能开始进行 J2ME MIDP 开发。有关下载和安装完整环境的说明,请参见 J2ME MIDP 开发下载页面http://www.netbeans.org/kb/articles/mobility_zh_CN.html。
2.创建新的移动应用程序
(1)选择“文件”>“新建项目”(Ctrl-Shift-N)。在“类别”下选择“移动”。在“项目”下选择“移动应用程序”,然后单击“ 下一步”。
(2)在“项目名称”下输入 HuaRongDao。将项目主目录更改为您系统上的任何目录。从现在起,我们将该目录称为 $PROJECTHOME。
(3)不要选中“创建 HelloMIDlet”复选框。单击“下一步”。选CLDC1.0 MIDP1.0,
(4)将 J2ME Wireless Toolkit 作为选定的目标平台。
(5)单击“完成”。IDE 将创建 $PROJECTHOME./HuaRongDao 项目文件夹。该项目文件夹包含所有的源和项目元数据,如项目 Ant 脚本。此时将在“项目”窗口中打开 HuaRongDao 项目。
(6)现在,我们来添加一个MIDlet, 右键单击项目,选新建MIDlet,名字为HuaRongDao,不要写package.点确定生成, 然后在生成后的 代码里加入CommandListener支持,代码框架如下:
/* * HuaRongDaoMidlet.java *
* Created on 2005年7月1日, 下午8:18
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
*
* @author lin
* @version
*/
public class HuaRongDaoMidlet extends MIDlet implements CommandListener
{
public void startApp() {}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d) {}
}
|
3.开始编码
(1)加入退出按钮,这里,我们用TextBox这种高级UI来做例子:
public class HuaRongDaoMidlet extends MIDlet implements CommandListener
{
private Display display;
private final static Command CMD_EXIT = new Command("退出", Command.EXIT, 1);
public HuaRongDaoMidlet()
{
display = Display.getDisplay(this);
}
public void startApp()
{
TextBox t = new TextBox("TextBox的第一个参数","TextBox的第二个参数",256,0);
t.addCommand(CMD_EXIT);
t.setCommandListener(this);
display.setCurrent(mainList);
}
......
public void commandAction(Command c, Displayable d)
{
if (c == CMD_EXIT)
{
destroyApp(false);
notifyDestroyed();
}
}
}
|
注意:
A.关于j2me的api函数,可以在WTK的docs目录当中查到。
B.我们使用的是MIDP1.0的函数,2.0支持游戏函数,但是大部分原先的手机都不支持。
C.TextBox是可输入框,有标题,缺省内容和内容长度等参数。
(2)创建一个处理图片的类Images, 处理图片的方式在2.0当中有了很大的改进,可以直接从一张图片中按照坐标取一部分,但是1.0还没有这个功能,所以我们使用Image数组来实现。
首先,我们先来显示一个图片,来熟悉一下有关image的操作。首先,加入一个Image和包含它的ImageItem,因为Image本身不能显示,
必须包在ImageItem中,然后创建一个Form,把ImageItem加到Form中,最后在屏幕上显示这个Form。
public void startApp()
{
Image a;
ImageItem i;
Form props = new Form("测试页");
try
{
a = Image.createImage("/Duke.png");
i = new ImageItem("java吉祥物",a,ImageItem.LAYOUT_DEFAULT,"图片无法显示");
props.append(i);
}
catch (IOException e)
{
a = null;
}
props.addCommand(CMD_EXIT);
props.setCommandListener(this);
display.setCurrent(props);
}
|
如果您有什么疑问,可以至论坛提出或者解答他人的疑问 返回页面顶部