大家好!这次我来给大家讲讲,如何做一个简单的J2ME程序,这个是写给新手的!希望可以给大家带来些启发!另本教程系原创!如没经过本人同意请勿转载! 66RPG:friday5xue
首先,是软件方面!
请看以下!
安装与运行(JDK)
安装过程跟一般程序一样,一路next,我把它装在我电脑的D盘,然后把安装路径名改为d:\jdk,不喜欢默认的,太长,在设置环境变量的有点麻烦(如果手动输入很有可能出错),装好之后要设置一些环境变量.我是这样设置的.
首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“java_home”、“path”、“classpath”.点“新建”,然后在变量名写上java_home,顾名其意该变量的含义就是java的安装路径,呵呵,然后在变量值写入刚才安装的路径“d:\jdk",然后找到path(系统本来就有,我的是XP),在后面追加“%java_home%\bin",(其中“%java_home%”的意思为刚才设置java_home的值),最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar(要加.;表示当前路径)”
这样JDK就安装好了,接下来测试一下.按运行.敲下cmd命令,出现DOS界面,再敲下java,如果出现
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
这样的提示语句就说明jdk安装成功了.
安装与运行(WTK)
软件介绍~~
http://bbs.66rpg.com/forumTopicRead.asp?id=39725
与一般的软件安装一般,但是需要JDK,所以在安装前请先安装JDK
安装与运行(Borland JBuilder 9 Enterprise Trial)
软件介绍~~
http://bbs.66rpg.com/forumTopicRead.asp?id=39725
与一般的软件安装一般,但是需要JDK,所以在安装前请先安装JDK
如果要想运行J2ME程序需再添加WTK~~
//**************************************************************//
本帖相关代码如下: midp
package demoimage;
/**
*
Title:HalloWorld
*
Description: friday5xue的J2ME教学,如何制作手机上的HalloWorld
*
Copyright: Copyright (c) 2006
*
Company: 66RPG
* @author not attributable
* @version 1.0
*/
import javax.microedition.midlet.*;
//midlet应用程序包
import javax.microedition.lcdui.*;
//midlet界面包
public class midp extends MIDlet implements CommandListener{
// midp本类的名字
// extends MIDlet继承MIDlet
// implements CommandListener 引入 CommandListener接口(键盘事件处理接口)
Display display;//屏幕显示类对象
gamecanvas canvas=new gamecanvas();//新建一个gamecanvas对象canvas
public midp() {
display=Display.getDisplay(this);
//取得图像显示权限
canvas.start();
//开始执行gamecanvas中的方法
}
protected void startApp() {
//MIDlet抽象方法 startApp()
display.setCurrent(canvas);
//设置绘制的内容,也就是绘制canvas对象
}
protected void pauseApp() {
//MIDlet抽象方法pauseApp()
}
protected void destroyApp(boolean boolean0) {
//MIDlet抽象方法destroyApp()
}
public void commandAction(Command command, Displayable displayable) {
//事件处理函数
}
}
//**************************************************************//
以下是第二个类函数
//**************************************************************//
本帖相关代码如下: gamecanvas
package demoimage;
/**
*
Title:HalloWorld
*
Description: friday5xue的J2ME教学,如何制作手机上的HalloWorld
*
Copyright: Copyright (c) 2006
*
Company: 66RPG
* @author not attributable
* @version 1.0
*/
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.midlet.*;
//调入所用的包
//从上到下依次是 图形界面类 游戏界面类 MIDP程序应用类
public class gamecanvas
extends GameCanvas
implements Runnable {
// 新建一个名为gamecanvas的类继承了GameCanvas(注意大小写)接入了Runnable接口
public Thread thread; //创建一个线程
Image image; //创建一个image对象
boolean show; //创建一个布尔变量(非错即对的变量)
int X = -240; //这个是屏幕的宽 实验用机型的规格是240*320像素的大小!
public gamecanvas() { //构造函数
super(true); //继承GameCanvas的方法
try {
image = Image.createImage("/66LOGO.png"); //读入图片 路径是用"/"来隔开的 读取的文件要加上扩展名 目前只支持PNG图片!
}
catch (Exception e) {
e.printStackTrace(); //封装好的错误输出函数,实际上可以写上其他自己的函数
} //try\catch是异常处理函数 就是 如果调入图片失败!那么就调用catch后面的函数!
}
public void start() {
//线程开始的方法
thread = new Thread(this); //实例化线程
thread.start(); //线程启动
}
public void run() {
//Runnable接口的抽象函数
Graphics g = getGraphics(); //实例化Graphics
//run()中的主要函数
while (true) {//当其为真时运行
drawimage(g);
if (X != 0) {
X += 2;
//如果X值不得零则X就自加2 也就是 X=X+2
}
try {
thread.sleep(50);//使线程暂停50毫秒
}
catch (Exception e) {
e.printStackTrace();//同上try\catch是异常处理函数
}
}
}
public void drawimage(Graphics g) {
//自定义函数 用途绘制图像!
g.setColor(0xFFFFFF);//把背景颜色值为白色
g.fillRect(0, 0, getWidth(), getHeight());//覆盖全屏getWidth(), getHeight()分别是取得屏幕宽高
if (X != 0) {
//如果X不得0就绘制图像!
g.drawImage(image, X, 0, g.TOP | g.LEFT);
// drawImage() JAVA中绘制图像的方法
// image:要绘制的图像
// X, 0:图像绘制的位置
// g.TOP | g.LEFT:图像的对齐方式
}
else {
// 如果X=0则
g.setColor(0x000000);
// 设置前景色为白色
g.drawString("HELLO WORLD 66RPG", getWidth() / 2 - 50, getHeight() / 2,
g.LEFT | g.TOP);
// drawString() JAVA中绘制文字的方法
// "HELLO WORLD 66RPG":要绘制的文字 要用""扩起来!
// getWidth() / 2 - 50, getHeight() / 2:文字绘制的位置,这里用的是取值函数!可以直接使用数字
// g.TOP | g.LEFT:图像的对齐方式
}
flushGraphics();
// 刷新屏幕!
}
}
所用工具:Borland JBuilder 9 Enterprise Trial
好了!好了废话就先到这里~~以下就是教大家如何去编辑我们的代码!
1.首先新建一个工程 名为demoimage
新建—按钮以后就会出来一个对话框选择project选择project选项
这样就可以新建一个工程文件了
下面是关于工程的设置工程名字写上demoimage(或者和程序中的package后面的内容相同)然后选择NEXT
在JDK选项里要选择wtk
注意不要使用JB自带的WTK如果没有(1)圈里的WTK请按(2)的那个按钮(new)
进入WTK选择界面后按图片中的那个按钮
选择你刚才所安装的WTK因为程序原因~推荐使用默认安装路径
如果安装成功的话,在WTK选择界面会出现以下字样~如有不出请重试~出现的话请点确定(OK)!
然后完成工程建立点击FINISH
2..然后再新建一个名字为midp的类文件
新建---creat选项卡---CLASS选项
在CLASS NAME栏里填写midp 点OK
在新生成的midp文件中复制 midp中的代码~~~(全选删除!然后再复制!)
全部粘贴以后会发现有以下现象~~~那是因为缺文件导致!请继续~~~~下一步~~~
新建gamecanvas类 两个类都要注意名的大小写!
完成后以上那个错误就应该消失了(如果还有酒吧那个地方重新复制粘贴一遍,不要更改位置)
然后点JB右上那个3角后面的下拉菜单~~选择configuratious 进入配置页面
在配置页面中找右面的NEW按钮~~单击
在新的对话框中 的 TYPE 菜单中选择 MISlet NAME和Buildtarget 可以随意填写
这时窗口会变成这个样子!在MAIN CLASS选择运行的类文件!
而Emulator device则是选择机型的(这个版本的WTK机型比较少)
点MAIN CLASS以后~~弹出下面的窗口~~~查找你的工程名字demoimage~并选择midp
运行程序!点三角按钮!第一次运行一定是失败的!因为我们并没有添加图片路径!这次运行也是为了生成几个必要的文件夹
将此文件复制到claesses文件夹中(这个是工程文件夹~具体路径看图那个“星期五的血”也就是你的计算机的用户名)
图片嵌入后再次运行,你会看见,66RPG的图片从左向右移动,并且在移动到最后,以后出现“hallo world 66RPG”的字样