分享
 
 
 

写手机程序请用JCreator pro

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

写摩托罗拉公司的手机程序请用JCreator LE v 2.00

JCreator LE v 2.00

Xinox软件公司的免费Java集成开发环境

http://www.jcreator.com/Download.htm 可下载

JCreater!的界面与vc的十分相似,所以比较容易上手,但是按网止给的英文说明却好用了,于是自己动手研究了一下!

我写两个.bat的文件

说明一下,我的按装如下:

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 是要编译的目录 多个可用空格间隔

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

写完两个文件我们就可以运行程序了!

先运行coml.bat,再运行go.bat

如下图。

那么我们怎么把它与jcreater结合呢??

1 见下图Select Configure->Options->Tools

这样就可以与jcreater结合写程序了!

我的Email:sunyuzhe@263.net欢迎与大家讨论!

假设安装路径如下:

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);

}

}

}

这样就可以与jcreater结合写程序了!

我的Email:sunyuzhe@263.net欢迎与大家讨论!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有