在JCreator Pro中开发J2ME

1.前言

    以前我一直用eclipse+SUN WTK 来开发j2me程序,有时也用nokia开发包,但总感觉eclipse过于庞大,且启动/编译速度也过慢。平时也用JCreator,但只是用来作一些测试程序。前段时间也曾试图在网上找一些用JCreator开发J2ME有资料,但未能如愿。网上也有多人提过这样问题,不是没有回答,就是回答中用的版本都是N 年前的或根本不可用。今天正好重新安装系统,下的基本是最新版的工具,正好试一下。

2.工作环境:

操作系统: windows 7(版本6.1

开发工具:JCreator Pro 4.5.0.10

JDK: java version "1.6.0_12"

JRE: Java(TM) SE Runtime Environment (build 1.6.0_12-b04)

    Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)

J2ME: Sun Java (TM) Wireless Toolkit 2.5.2_01 for CLDC

3.具体实现

1)设置JCreator Pro

   打开JCreatorConfigureOptionsJDK Profiles 点击New

   选择Home Path为你的JDK根目录(如我的为:C:/Program Files/Java/jdk1.6.0_12/

   Name改为SunWTK(随你取,我是这样定的,后面的同理)

   AddAdd Archive→选取SUN WTK库目录(我的为C:/WTK2.5.2_01/LIB)midpapi10.jarmidpapi20.jarmidpapi21.jar加入并确定。

   同样打开JDK Tools选项,先选Select Tool TypeComplier缺省值),点击New

   Name改为SUNWTK,点击Parameters项,将它改为

-source 1.3 -target 1.3 -bootclasspath "C:/WTK2.5.2_01/lib/;$[ClassPath]" $[JavaFiles] -g -classpath "$[ClassPath]" -d "$[OutputPath]" $[JavaFiles]

    其中:

    -source 1.3 -target 1.3中必需的,为此我试了N久,没想到SUNWTK 2.5.2 仍只支持java 1.3,(我试过1.4以上都不行),也可能模拟器的参数要调整。

-bootclasspath "C:/WTK2.5.2_01/lib/;$[ClassPath]"这个是网上找不的,没费功夫。

后面的是原有的。其它选项不用改,按确定回到JDK Tools

重新选择Select Tool TypeRun Application,再次点击New

NAME改为EMUSUN,将Command改为

C:/Program Files/Xinox Software/JCreatorV4/emusun.bat

其中C:/Program Files/Xinox Software/JCreatorV4JCreator所在目录,也可以放在其它地方。

emusun.bat为我写的批处理文件(后面介绍)

点击Parameters项,将它改为:

"$[OutputPath]" "$[FileBase]"

其中的"是不能少的,我在这个上面也费了一点时间

"$[OutputPath]"class文件所在目录,$[FileBase]为基本文件名(不带后缀)

到此,JCreator Pro设置结束

2)建立emusun.bat文件

   JCreator所在目录建立一个emusun.bat文件,内容如下:

@echo off

cd %1

C:/WTK2.5.2_01/bin/preverify  -classpath "C:/WTK2.5.2_01/lib/midpapi10.jar;C:/WTK2.5.2_01/lib/cldcapi10.jar" %2

cd output

C:/WTK2.5.2_01/bin/emulator -Xverbose:class -classpath . %2

其中:

 %1 即为class文件所在目录,为了避免命令行过长,我过了cd命令。

 %2 即为文件名。

Preverify有一-d选项,可指定输出文件目录,缺省为output。我没有指定输出目录,直接用了output

3)测试

现在,所的的准备都已完成,我们可以来测试一下成果了

首先,打开JCreator新建一项目(FileNew->Project

Basic Java ApplicationNext(你也可建Empty Project)

项目名为jem2testNextJDK Profile SunWTK→选Select Tool Type Compiler并改为SUNWTK,再选Select Tool Type Run Application并改为EMUSUN

测试程序如下:

/**

 * @(#)jem2test.java

 *

 * jem2test application

 *

 * @author Keiy

 * @version 1.00 2009/9/12

 */

import javax.microedition.midlet.MIDletStateChangeException;

import javax.microedition.lcdui.*;

 

public class jem2test extends javax.microedition.midlet.MIDlet implements CommandListener {

       

    /**

     * Creates a new instance of <code>unit1</code>.

     */

 protected Form form;

 protected Command quit;

  public jem2test(){

 form=new Form("MIDlet测试");

 form.append("这是一个MIDlet测试程序!");

 

 form.setCommandListener(this);

 quit=new Command("返回",Command.SCREEN,1);

 form.addCommand(quit);

         }

 protected void startApp() throws MIDletStateChangeException

 { Display.getDisplay(this).setCurrent(form);

 }

 protected void pauseApp(){

     }

 protected void destroyApp(boolean unconditional) throws MIDletStateChangeException

 {

 }

  public void commandAction(Command command,Displayable displayable)

 {

  try{

   if(command==quit){

    destroyApp(true);

    notifyDestroyed();

      }

     }

  catch(MIDletStateChangeException me){}

 }

 

}

现在,你可以直接按运行键,这可以看到结果了:

 

测试结果 

 

 

3.存在问题

1)对于多个源文件的项目,还没测试

2)目前,还不支持Debug功能

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页