D:\Program Files\Xinox Software\JCreator LED:\MotoJ2SDKD:\jdk1.3.1重要前置動作: 先啟動模擬環境 —— 執行 D:\MotoJ2SDK\generic\scripts\runConstructor.bat,選擇手機型號、語言、Normal 模式,點選「建立」。
Configure → Options → JDK Profiles
D:\jdk1.3.1D:\MotoJ2SDK\libD:\MotoJ2SDK\docsConfigure → Options → JDK Tools → Compiler → Edit
-classpath D:/MotoJ2SDK/lib $[JavaFiles]Configure → Options → Tools → New → DOS Command
d:\MotoJ2SDK\bin\preverifier.exe -classpath "d:\MotoJ2SDK\lib" -d . .$[PrjDir]Configure → Options → Tools → New → DOS Command
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 1d:\MotoJ2SDK\bintest,JCreator 會在工作目錄建立同名資料夾。test.java,撰寫原始碼並儲存。test.java。import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class test extends MIDlet implements CommandListener {
private KeyEventsDemoCanvas myCanvas;
private Display myDisplay;
private Command okCommand = new Command("OK", Command.OK, 1);
public test() {
myDisplay = Display.getDisplay(this);
myCanvas = new KeyEventsDemoCanvas();
myCanvas.addCommand(okCommand);
myCanvas.setCommandListener(this);
}
public void commandAction(Command c, Displayable s) {}
protected void startApp() { myDisplay.setCurrent(myCanvas); }
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) {}
class KeyEventsDemoCanvas extends Canvas {
public final int BACKGROUND_COLOR = 0xFFFFFF;
public final int FOREGROUND_COLOR = 0x000000;
private int lastKey;
public void paint(Graphics g) {
g.setColor(BACKGROUND_COLOR);
g.fillRect(0, 0, getWidth(), getHeight());
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) {}
}
}
public void keyPressed(int keyCode) { lastKey = keyCode; repaint(); }
public void keyRepeated(int keyCode) { System.out.println("Key repeated " + keyCode); }
}
}
-d . . 表示輸出至當前目錄,來源為當前目錄下所有 class。.bat 檔由 Tools 呼叫,易於維護。