基于J撒范德萨的方式.docx

上传人:b****2 文档编号:3100800 上传时间:2023-05-05 格式:DOCX 页数:21 大小:298.09KB
下载 相关 举报
基于J撒范德萨的方式.docx_第1页
第1页 / 共21页
基于J撒范德萨的方式.docx_第2页
第2页 / 共21页
基于J撒范德萨的方式.docx_第3页
第3页 / 共21页
基于J撒范德萨的方式.docx_第4页
第4页 / 共21页
基于J撒范德萨的方式.docx_第5页
第5页 / 共21页
基于J撒范德萨的方式.docx_第6页
第6页 / 共21页
基于J撒范德萨的方式.docx_第7页
第7页 / 共21页
基于J撒范德萨的方式.docx_第8页
第8页 / 共21页
基于J撒范德萨的方式.docx_第9页
第9页 / 共21页
基于J撒范德萨的方式.docx_第10页
第10页 / 共21页
基于J撒范德萨的方式.docx_第11页
第11页 / 共21页
基于J撒范德萨的方式.docx_第12页
第12页 / 共21页
基于J撒范德萨的方式.docx_第13页
第13页 / 共21页
基于J撒范德萨的方式.docx_第14页
第14页 / 共21页
基于J撒范德萨的方式.docx_第15页
第15页 / 共21页
基于J撒范德萨的方式.docx_第16页
第16页 / 共21页
基于J撒范德萨的方式.docx_第17页
第17页 / 共21页
基于J撒范德萨的方式.docx_第18页
第18页 / 共21页
基于J撒范德萨的方式.docx_第19页
第19页 / 共21页
基于J撒范德萨的方式.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于J撒范德萨的方式.docx

《基于J撒范德萨的方式.docx》由会员分享,可在线阅读,更多相关《基于J撒范德萨的方式.docx(21页珍藏版)》请在冰点文库上搜索。

基于J撒范德萨的方式.docx

基于J撒范德萨的方式

通信专业课程设计一

太原科技大学

课程设计(论文)

 

设计(论文)题目:

J撒范德萨的方式

 

姓名_____

学号___

班级__

学院_______

指导教师______

 

2010年12月31日

太原科技大学课程设计(论文)任务书

学院(直属系):

时间:

2010年12月17日

学生姓名

指导教师

设计(论文)题目

J2ME计算器设计

主要研

究内容

能够输入两个数,选择运算规则并计算结果。

研究方法

使用WTK,JDK,Eclipse搭建J2ME平台,以实现计算器的开发环境。

主要技术指标(或研究目标)

1.掌握J2ME计算器的设计思想;

2.了解J2ME开发环境;

3.学习J2ME的操作流程。

教研室

意见

 

教研室主任(专业负责人)签字:

年月日

目录

摘要II

第1章绪论-1-

第2章J2ME计算器-2-

2.1J2ME的基本概念-2-

2.2J2ME平台的搭建-2-

2.2.1构建J2ME平台-2-

2.2.2计算器的实现-4-

第3章运行结果-7-

3.1运行和结果-7-

3.1.1计算器演示-7-

参考文献-9-

附录-10-

J2ME计算器设计

摘要

本文简单介绍了J2ME技术,J2ME(Java2MicroEdition)是Java2的一个组成部分,它与J2SE、J2EE并称。

根据Sun的定义:

J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。

J2ME技术在1999年的JavaOneDeveloperConference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。

本文通过介绍J2ME平台的搭建,从而能实现计算器的设计。

关键词:

J2ME,搭建,实现设计

 

第1章绪论

在今天计算已经无处不在。

越来越多的人开始认为,经过了许多人共享一台计算机的大型主机时代,一人一台计算机的个人PC时代之后,下一个时代就是一人多台计算设备的普及计算时代(UbiquitousComputing,IBM称之为PervasiveComputing)。

计算设备将从单一的PC扩展到各种各样的大小和功能,从家庭消费电子产品,到个人随身携带,穿着,车载的各种移动信息处理设备,多样化是这个领域的最大特点。

网络是这个领域最重要的增值特性。

当手机可以随时随地无线上网,PDA可以和个人PC同步,车载PC可以获得网上GPS地图数据时,这些孤立的设备才能够发挥最大的作用。

而平台无关性和网络功能正是J2ME的设计目标和能力(事实上,Java最初的设计目标就是用于消费电子领域,但是后来在PC和服务器上得到了发展)。

一次编写,到处运行的平台无关性,对网络,多重设备间联网的机制(JINI)显然对这个领域是至关重要的软件条件。

这个领域内的Java标准就是J2ME。

明天的计算将进入普及计算时代。

各种消费电子产品,包括智能手机,PDA,Web-TV,将来的信息家电等等将实现随时随地的计算。

这是一个异常广阔和丰富多彩的领域,其设备极度多样化而且都将在网络中,Java技术的跨平台性和网络功能在这里大有用武之地。

这就是J2ME,这一丰富多彩的领域中生机勃勃的技术。

 

第2章J2ME计算器

2,1J2ME的基本概念

J2ME(Java2MicroEdition)是Java2的一个组成部分,它与J2SE、J2EE并称。

Java2版本书籍

根据Sun的定义:

J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。

J2ME技术在1999年的JavaOneDeveloperConference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。

2.2J2ME平台的搭建

2.2.1构建J2ME平台

1.从如下地址下载相关的软件。

J2SDK1.4.2_03+WTK2.1:

Eclipse3.0RC2http:

//www.eclipse.org

EclipseME0.4.1

2.按照顺序依次安装J2SDK1.4.2_03、WTK2.1、Eclipse3.0RC2和EclipseME0.4.1,安装完j2sdk后应该设置环境变量classpath、path和JAVA_HOME等环境变量。

接下来安装WTK2.1,和一般的应用程序安装一样。

安装以后可以从KToolBar里面运行一下WTK2.1里面自带的一些Demo,如果正常运行表示WTK安装正确,下面我们要搭建Eclipse的开发环境了,Eclipse的安装很简单,你直接把Eclipse3.0RC2解压到c:

\eclipse就可以了。

直接运行Eclipse.exe这样你就可以看到Eclipse的运行界面了。

如果没有用过Eclipse的话那么你可以看看帮助文档,自己做个小java项目运行一下。

下面我们要安装EclipseME.0.4.1的插件了,关闭Eclipse然后解压EclipseME0.4.1到c:

\eclipse\plugin里面,重新启动Eclipse,选择windows->preferences可以进行配置J2ME开发平台(图2.1)

图2.1开发平台

选择PlatformComponents->WirelessToolkits,右键选择addWirelessToolkit会出现下面的界面。

图2.2配置界面

2.2.2计算器的实现

1.简单计算器功能图

图2.3功能图

2.简单计算器界面

把其放到到eclipse生产的工程目录的res目录下。

图2.4界面

3.通过J2ME平台实现

新建一个项目来开发J2ME项目,选择file->new->others->J2ME->J2MEMIDletsuite,然后填写项目的名字calc,选择下一步最后完成,这样就新建了一个J2ME项目了。

图2.5新建

接下来从PackageExplorer里面选择项目calc然后新建一个J2MEMIDlet名字命名为calc,然后使用Eclipse编译。

启动Eclipse,配置EclipseME插件。

要实现这个功能,请单击"Window"菜单,然后选择"Preferences"菜单项,然后在弹出的菜单中选择"J2ME"。

然后执行以下步骤:

点击"PlatformComponents",见图2.6。

右键单击右边窗口"WirelessToolkits",选择"AddWirelessToolkit",此时会弹出窗口(见图2.7),"WirelessToolkitDirectory"设置为wtk_home对应的安装目录。

图2.6EclipseME插件配置界面

图2.7添加WirelessToolkit

安装完成之后应该出现如图2.8的界面。

图2.8配置EclipseME插件

图2.9

然后编译代码。

第3章运行结果

3.1运行和结果

3.1.1计算器演示

从菜单选择Run->run参照下图配置运行环境。

图3.1RUN

1.加法运算

第一个操作数输入7,第二个操作数输入8,点击“=”。

如图3.2所示

图3.2加法

2.除法运算

第一个操作数输入20,第二个操作数输入2,点击“=”。

如图3.3所示

图3.3除法

3.减法运算

第一个操作数输入100,第二个操作数输入55,点击“=”。

如图3.4所示

图3.4减法

4.乘法运算

第一个操作数输入5,第二个操作数输入12,点击“=”。

如图3.5所示

图3.5乘法

 

参考文献

[1]BruceEckel著.侯捷译.Java编程思想[M].机械工业出版社出版社.2009.35-40.

[2]JoshuaBloce著.潘爱民译.EffectiveJava中文版[M].机械工业出版社.2004.102-108.

[3]飞思科技产品研发中心.J2EE应用开发[C].2005年6月第一版.电子工业出版社.2005.

附录

程序1:

CalcCanvas

packagemy.calc;

importcom.nokia.mid.ui.FullCanvas;

importjavax.microedition.lcdui.*;

importjava.io.*;

/**

*计算器界面

*

Description:

*

Copyright:

Copyright(c)2005

*

Company:

*@version1.0

*/

publicclassCalcCanvasextendsFullCanvas{

/**退出按钮*/

privateCommandcmdExit;

/**标题*/

privateStringtitle="Calculator";

/**字体*/

privateFontf;

/**显示的数字*/

privatelongresult=0;

/**焦点编号*/

privateintnum=0;

/**焦点坐标*/

privateintfocusX=5;

privateintfocusY=52;

/**按钮宽度间隔*/

privateintintervalWidth=2;

privateintintervalHeight=2;

/**图片起点坐标*/

privateintx=10;

privateinty=70;

/**按钮尺寸*/

privateintbuttonWidth=37;

privateintbuttonHeight=28;

/**图片文件*/

privateImageimage=null;

/**存储控件代表的内容*/

privatechar[]info={'7','8','9','/',

'4','5','6','*',

'1','2','3','-',

'0','?

','=','+'

};

/**运算中的第一个数字*/

privatelongfirstNum=0;

/**运算中的第二个数字*/

privatelongsecondNum=0;

/**是否输入第一个数字,true代表已经输入,false代表未输入*/

privatebooleanflag=false;

/**存储按下的运算按钮的下标*/

privateintfunc=0;

/**默认构造方法*/

publicCalcCanvas(){

try{

image=Image.createImage("/calc.png");

//System.out.println(x);

}catch(IOExceptione){

//ignore

System.out.println(e);

}

}

/**

*绘制

*@paramg图形对象

*/

publicvoidpaint(Graphicsg){

/**清除当前显示*/

g.setColor(255,255,255);

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

//恢复系统颜色

g.setColor(0,0,0);

f=g.getFont();

//绘制标题

g.drawString(title,getWidth()/2,f.getHeight()/2,Graphics.TOP|Graphics.HCENTER);

//绘制文本框

g.drawRect(3,24,172,20);

//绘制数字

Stringtemp=Long.toString(result);

g.drawString(temp,getWidth()-3,30,Graphics.TOP|Graphics.RIGHT);

//绘制面板

g.drawImage(image,2,50,Graphics.TOP|Graphics.LEFT);

//绘制焦点

drawFocus(g,num);

}

/**

*事件处理

*@paramkeyCode按钮值

*/

publicvoidkeyPressed(intkeyCode){

//System.out.println(keyCode);

//向左移动,如果移动到右边界,则移动到下一行

if(keyCode==KEY_LEFT_ARROW){

//判断是否到达最后一个

if(num==0){

num=15;

}else{

num--;

}

}

//向右移动,如果移动到左边界,则移动到上一行末尾

if(keyCode==KEY_RIGHT_ARROW){

//判断是否到达第一个

if(num==15){

num=0;

}else{

num++;

}

}

//向上移动,如果移动到上边界,则移动到下边界对应位置

if(keyCode==KEY_UP_ARROW){

//判断是否移动到上边界,如果是则移动到下边界的对应位置

if(num-4<0){

num=15+num-3;

}else{

num=num-4;

}

}

//向下移动,如果移动到下边界,则移动到上边界对应位置

if(keyCode==KEY_DOWN_ARROW){

//判断是否达到下边界,如果是则移动到上边界的对应位置

if(num+4>15){

num=num+3-15;

}else{

num=num+4;

}

}

//确定按钮

if(keyCode==-5){

//根据选择按钮的不同进行操作

action();

}

//System.out.println("num:

"+num);

//绘图

repaint();

}

/**

*绘制焦点矩形

*@paramg图形对象

*@paramnum焦点编号

*/

privatevoiddrawFocus(Graphicsg,intnum){

//设置绘制颜色为红色

g.setColor(255,0,0);

//设置焦点的X和Y坐标

setXandYByNum(num);

//绘制选择框

g.drawRect(focusX,focusY,buttonWidth,buttonHeight);

}

/**

*根据焦点编号,设置焦点的X和Y坐标

*@paramnum焦点编号

*/

privatevoidsetXandYByNum(intnum){

focusX=5+(num%4)*(buttonWidth+intervalWidth);

focusY=52+(num/4)*(buttonHeight+intervalHeight);

}

/**

*在用户按下确定按钮以后,根据选择按钮的不同进行操作

*/

privatevoidaction(){

//判断焦点按钮是否为数字

if((num>=0&&num<3)||(num>3&&num<7)||(num>7&&num<11)||(num==12)){

//如果是数字,则将原数字乘以10,再加上现在的数字

result=result*10+(info[num]-'0');

}

//如果按下的是负号,则求当前数字的负数

if(num==13){

result=-result;

}

//判断第一个数字是否输入

if(flag==true){

secondNum=result;

//处理功能按钮

//按下=按钮,或者按下运算按钮时,进行运算

if(num==14||(num%4==3)){

//根据运算按钮进行运算

if(func==3){

//除法运算

result=firstNum/secondNum;

}elseif(func==7){

//乘法运算

result=firstNum*secondNum;

}elseif(func==11){

//减法运算

result=firstNum-secondNum;

}elseif(func==15){

//加法运算

result=firstNum+secondNum;

}

if(num==14){

//将运算结果赋给第一个数字

firstNum=result;

//将标志修改为false

flag=false;

}else{

//记录运算按钮

func=num;

//将运算结果赋给第一个数字

firstNum=result;

//将显示清零

result=0;

}

}

}else{

//将当前值赋给第一个数字

firstNum=result;

//判断是否按下运算按钮,并存储按下的运算按钮

if(num%4==3){

func=num;

//设置第一个数字已输入,并将显示清零

flag=true;

result=0;

}

}

}

}

程序2:

CalcMIDlet

packagemy.calc;

importjavax.microedition.midlet.*;

importjavax.microedition.lcdui.*;

publicclassCalcMIDletextendsMIDlet{

privatestaticCalcMIDletinstance;

privateCalcCanvascalc=newCalcCanvas();

/**Constructor*/

publicCalcMIDlet(){

instance=this;

}

/**Mainmethod*/

publicvoidstartApp(){

Display.getDisplay(this).setCurrent(calc);

}

/**HandlepausingtheMIDlet*/

publicvoidpauseApp(){

}

/**HandledestroyingtheMIDlet*/

publicvoiddestroyApp(booleanunconditional){

}

/**QuittheMIDlet*/

publicstaticvoidquitApp(){

instance.destroyApp(true);

instance.notifyDestroyed();

instance=null;

}

}

.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2