Jcreater+MotoJ2SDK的配置与使用心得

4/7/2006来源:Java认证人气:8560

假设安装路径如下:

     JCreator D:\\PRogram Files\\Xinox Software\\JCreator LE

   motoj2sdk D:\\Motoj2sdk

   JDK D:\\jdk1.3.1

   注意:要先击活模拟环境,运行D:\\MotoJ2SDK\\generic\\scripts\\runConstructor.bat

   选择手机型号,选择语言,选择normal, 再\"创建\"。

   启动Jcreater之后我的配置如下:

   第一步

   选择 Configure->Options->JDK Profiles

   注意:一定新建 profile and select “D:\\jdk1.3.1”

   将名字改为“J2ME 388”

   Add classes path “D:\\Motoj2sdk\\lib”

   Add documentation path “D:\\Motoj2sdk\\docs”

   分别将后加的两行移到最上方.

   第二步

   选择 Configure->Options->JDK Tools

   选择Complier 选中 and edit it.

   将 parameters 变为 -classpath D:/motoj2sdk/lib $[javaFiles]
   第三步

   选择 Configure->Options->Tools

   点击“New”选择 DOS command

   名字为“Preverifier”

   将 arguments 换为 d:\\Motoj2sdk\\bin\\preverifier.exe -classpath \"d:\\Motoj2sdk\\lib\" -d . .

   将 initial directory 变为 “$[PrjDir]”

   第4步

   按上面的方法在New一个 DOS command

   名字:“Run Emulator”

   将 arguments 换成 “java -Djava.library.path=d:/MotoJ2SDK/lib -classpath \"d:/MotoJ2SDK/bin/Emulator.jar\";\"d:/MotoJ2SDK/ConfigTool.jar\" com.mot.tools.j2me.emulator.Emulator -classpath$[PrjDir];\"d:/MotoJ2SDK/lib\" -deviceFile d:/MotoJ2SDK/bin/resources/device.props javax.microedition.midlet.AppManager $[CurClass] -JSA 1 1”

   将 initial directory 换成 “d:\\Motoj2sdk\\bin”

   ok!编辑工具配置完毕!

   新建一个工程——选择Empty Project

   再取一个名字 比如:test

   则jcreater自动在你的工作目录中生成目录test

   再new一个file选择java File

   写好你的原代码,保存 如:test.java

   在Project中 选add file

   然后选中你刚才的test.java

   注意:不要有package ;

   编译——》tools中的Preverifier进行预先审核——》tools中的Run Emulator进行模拟

   test.java 的例子:功能是捕捉键盘输入的ascII吗。

   import javax.microedition.lcdui.*;

   import javax.microedition.midlet.*;

   public class test extends MIDlet implements CommandListener {;

   /**

   * The screen for this MIDlet

   */
   private KeyEventsDemoCanvas myCanvas;

   /**

   * Reference to current Display

   */

   private Display myDisplay;

   /**

   * Command to make sure soft key is not a key event

   */

   private Command okCommand = new Command(\"OK\", Command.OK, 1);

   test() {;

   myDisplay = Display.getDisplay(this);

   myCanvas = new KeyEventsDemoCanvas();

   myCanvas.addCommand(okCommand);

   myCanvas.setCommandListener(this);

   };
/**

   * Do nothing if a command is fired
   */

   public void commandAction(Command c, Displayable s) {;

   };

   /**

   * Start the MIDlet

   */

   protected void startApp() throws MIDletStateChangeException {;

   myDisplay.setCurrent(myCanvas);

   };

   /**

   * Pause the MIDlet

   */

   protected void pauseApp() {;

   };

   /**

   * Called by the framework before the application is unloaded

   */
   protected void destroyApp(boolean unconditional) {;

   };

   /**

   * The screen for this application

   */

   class KeyEventsDemoCanvas extends Canvas {;

   /**

   * Background color (i.e. the color of the screen)

   */

   public final int BACKGROUND_COLOR = 0xFFFFFF; // white

   /**

   * Foreground color (i.e. the color of the rectangles)

   */

   public final int FOREGROUND_COLOR = 0x000000; // black

   /**

   * Last key that was pressed
   */

   private int lastKey;

   /**

   * Paint the screen

   */

   public void paint(Graphics g) {;

   /*

   * Clear the screen

   */

   g.setColor(BACKGROUND_COLOR);

   g.fillRect(0, 0, getWidth(), getHeight());

   /*

   * Paint the message

   */

   g.setColor(FOREGROUND_COLOR);

   g.drawString(\"Press a key!\", 0, 0, Graphics.TOP | Graphics.LEFT);

   if (lastKey != 0) {;

   g.drawString(\"Key Code: \" + lastKey, 0, g.getFont().getHeight(),

   Graphics.TOP | Graphics.LEFT);

   try {;

   g.drawString(\"Action: \" + getGameAction(lastKey), 0,

   2 * g.getFont().getHeight(),

   Graphics.TOP | Graphics.LEFT);

   g.drawString(\"Key Name: \" + getKeyName(lastKey), 0,

   3 * g.getFont().getHeight(),

   Graphics.TOP | Graphics.LEFT);

   }; catch (Exception e) {;

   // ignore since alphabet keys will throw this exception

   };

   };

   };
   /**

   * Handle key press

   */

   public void keyPressed(int keyCode) {;

   lastKey = keyCode;

   repaint();

   };

   /**

   * Demonstrate keyRepeated events

   */

   public void keyRepeated(int keyCode) {;

   System.out.println(\"Key repeated \" + keyCode);

   };

   };

   };
(中国JAVA手机网)