JCreater!的界面與vc的十分相似,所以比較容易上手,但是按網(wǎng)止給的英文說(shuō)明卻好用了,于是自己動(dòng)手研究了一下!
我寫(xiě)兩個(gè).bat的文件
說(shuō)明一下,我的按裝如下:
JCreator C:\Program Files\Xinox Software\JCreator LE
motoj2sdk C:\Motoj2sdk
JDK C:\jdk1.3
1 ) coml.bat //文件在C:\MotoJ2SDK\demo\midlets 一定不要改目錄
內容如下:
@if NOT "%1"=="" set COMPILECLASS=%1
@if "%1"=="" set COMPILECLASS=C:\MotoJ2SDK\demo\midlets\com\mot\j2me\midlets\paddleball\*.java C:\MotoJ2SDK\demo\midlets\com\mot\j2me\midlets\tests\*.java
@echo Compiling ...
@echo off
javac -O -bootclasspath C:\MotoJ2SDK\lib %COMPILECLASS%
@echo Preverifying ...
@echo off
C:\MotoJ2SDK\bin\preverifier -classpath C:\MotoJ2SDK\lib -d . .
內容完了
COMPILECLASS 是要編譯的目錄 多個(gè)可用空格間隔
2 ) go.bat //文件在C:\MotoJ2SDK\scripts 一定不要改目錄
內容如下:
@echo 正在運行模擬器 ...
@echo on
set MYCLASS=com.mot.j2me.midlets.tests.SoundTest
cd ..\bin
C:\jdk1.3\bin\java -Djava.library.path=C:\MotoJ2SDK\lib -classpath C:\MotoJ2SDK\bin\Emulator.jar;C:\MotoJ2SDK\bin\ConfigTool.jar com.mot.tools.j2me.emulator.Emulator -classpath../demo/midlets;../lib -deviceFile resources/device.props javax.microedition.midlet.AppManager %MYCLASS% -JSA 1 1
cd ..\scripts
@echo on
MYCLASS 是你要運行文件,這里我們選了com.mot.j2me.midlets.tests.SoundTest
下面sdk 中的一些例子,我們可以運行。(只要把MYCLASS改為如下值)
Bounce
com.mot.j2me.midlets.bounce.Bounce
PaddleBall
com.mot.j2me.midlets.paddleball.PaddleBall
Scribble
com.mot.j2me.midlets.scribble.Scribble
FontDemo
com.mot.j2me.midlets.tutorials.FontDemo
GraphicsDemo
com.mot.j2me.midlets.tutorials.GraphicsDemo
RecordStoreDemo
com.mot.j2me.midlets.tutorials.RecordStoreDemo
UDP Tutorial Application
com.mot.j2me.midlets.tutorials.UDPReceive
AlertTest
com.mot.j2me.midlets.tests.AlertTest
ChoiceGroupTest
com.mot.j2me.midlets.tests.ChoiceGroupTest
DateFieldTest
com.mot.j2me.midlets.tests.DateFieldTest
FormTest
com.mot.j2me.midlets.tests.FormTest
GaugeTest
com.mot.j2me.midlets.tests.GaugeTest
KeyEventsTest
com.mot.j2me.midlets.tests.KeyEventsTest
TextBoxTest
com.mot.j2me.midlets.tests.TextBoxTest
TextFieldTest
com.mot.j2me.midlets.tests.TextFieldTest
TickerTest
com.mot.j2me.midlets.tests.TickerTest
寫(xiě)完兩個(gè)文件我們就可以運行程序了!
先運行coml.bat,再運行go.bat
如下圖。
那么我們怎么把它與jcreater結合呢??
這樣就可以與jcreater結合寫(xiě)程序了!
我的Email:sunyuzhe@263.net歡迎與大家討論!
假設安裝路徑如下:
JCreator D:\Program Files\Xinox Software\JCreator LE
motoj2sdk D:\Motoj2sdk
JDK D:\jdk1.3.1
注意:要先擊活模擬環(huán)境,運行D:\MotoJ2SDK\generic\scripts\runConstructor.bat
選擇手機型號,選擇語(yǔ)言,選擇normal, 再"創(chuàng )建"。
啟動(dòng)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
選中
將 parameters 變?yōu)?-classpath D:/motoj2sdk/lib $[JavaFiles]
第三步
選擇 Configure->Options->Tools
點(diǎn)擊“New”選擇 DOS command
名字為“Preverifier”
將 arguments 換為 d:\Motoj2sdk\bin\preverifier.exe -classpath "d:\Motoj2sdk\lib" -d . .
將 initial directory 變?yōu)?“$[PrjDir]”
第4步
按上面的方法在New一個(gè) 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!編輯工具配置完畢!
新建一個(gè)工程——選擇Empty Project
再取一個(gè)名字 比如:test
則jcreater自動(dòng)在你的工作目錄中生成目錄test
再new一個(gè)file選擇java File
寫(xiě)好你的原代碼,保存 如:test.java
在Project中 選add file
然后選中你剛才的test.java
注意:不要有package ;
編譯——》tools中的Preverifier進(jìn)行預先審核——》tools中的Run Emulator進(jìn)行模擬
test.java 的例子:功能是捕捉鍵盤(pán)輸入的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);
}
}
}
聯(lián)系客服