ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:293.78KB ,
资源ID:9214586      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9214586.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(J2ME实验报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

J2ME实验报告.docx

1、J2ME实验报告实验名称: 创建简单的JAVA ME应用 时间: 2010/10/18 地点: 8-209 一、 实验设备: 一台计算机。二、 实验目的: 熟悉使用Eclipse软件;创建MIDlet项目,检验Eclipse设置;创建Java ME项目,编辑Java ME元素,并运行与调试改程序,使之得到相应的运行结果。实验内容及方法: 建立在熟悉MIDlet的条件下。创建MIDlet项目,然后检验Eclipse的设置,创建Java ME 项目。添加MIDlet到项目,编辑Java ME元素。最后运行与调试。三、 实验过程:1.实验步骤 1. 创建MIDlet项目。建立一个继承自Midlet的

2、类MyMIDlet,。 2. 检验Eclipse的设置。选择FileNewProject,在弹出的对话框中有一个J2ME选项(如图所示); 从菜单栏中选择WindowsPreferences命令,在弹出的对话框中同样可以看到J2ME配置的首选项(如下图所示)。有以上,则表明安装成功 3. 创建Java ME 项目。在菜单栏中选择NewProject命令,选中J2MEJ2ME Midlet SuiteNext,进入另外向导。然后输入项目名称,点下一步。然后进入Midlet Suite 属性设置对话框,选择“Sun Java Wireless Toolkit 2.3”。接下来直接选择默认设置即可。

3、 4. 添加MIDlet到项目。首先找到我们所写的那个MIDlet文件MyMIDlet.java,然后直接复制到MyJ2ME工程文件夹的src文件夹对应的包中即可,刷新后就可以看到添加的MIDlet了。 5. 编辑Java ME元素 6. 运行与调试。运行结果如下图所示。2.流程图: 3.源程序: 部分: public class MyMIDlet extends MIDlet private Form form; private final Command cmdExit = new Command(Exit,Command.EXIT,1); private char charArray =

4、 T,h,i,s, ,i,s, , m,y, ,f,i,r,s,t, ,J,2,M,E, , p,r,o,g,r,a,m,.,n,W,e,l,c,o,m,e,!; public MyMIDlet() / TODO Auto-generated constructor stub form = new Form(Hello MyJ2ME); StringBuffer strBuf = new StringBuffer(); for(int i=0; icharArray.length; i+) strBuf.append(charArrayi); form.append(strBuf.toStri

5、ng(); form.addCommand(cmdExit); form.setCommandListener(new CommandListener() public void commandAction(Command arg0, Displayable arg1) / TODO Auto-generated method stub if(cmdExit = arg0) notifyDestroyed(); destroyApp(true); ); protected void startApp() / TODO Auto-generated method stub Display.get

6、Display(this).setCurrent(form); protected void pauseApp() / TODO Auto-generated method stub protected void destroyApp(boolean arg0) / TODO Auto-generated method stub 4.运行截图: 实验名称: 有图形的Java Me应用 时间: 2010/10/21 地点: 8-209 一. 实验设备: 一台计算机。二. 实验目的:实现一个关于高级图形用户界面的示例。了解Display类、Displayable类和它们的实现方法;掌握TextBo

7、x组件、List组件和它们的实现方法;掌握Form及其Item和抽象命令事件。三.实验内容及方法:编写一个显示图形界面程序,在eclipse上运行,通过UI表现给用户。将原图形的矩形改为正方形,将三角形改为直角三角形,并且对颜色相应改变。四.实验过程:1.实验步骤 分析实验需求,搜集相关的资料 编写程序,修改相应代码 在eclipse上面运行调试. 输出结果 . 整理实验报告2.流程图: 3.源程序:部分 class MyCanvas extends Canvas implements Runnable int menuIndex = 0; String menu = 直线,正方形,弧,圆角矩

8、形,直角三角形,图片,文本,; public MyCanvas() setFullScreenMode(true); image = createImage(/image1.png); new Thread(this).start(); private Image createImage(String path) Image image = null; try image = Image.createImage(path); catch(Exception e) e.printStackTrace(); return image; public void keyPressed(int keyC

9、ode) int gameAction = getGameAction(keyCode); if(gameAction = Canvas.UP) menuIndex = -menuIndex menu.length - 1 ? 0 : menuIndex; else if(gameAction = Canvas.FIRE | keyCode = -6) state = menuIndex+1; else if(keyCode = -7) if(state = MENU) exitApp(); else state = MENU; protected void paint(Graphics g)

10、 / TODO Auto-generated method stub g.setClip(0, 0, getWidth(), getHeight(); g.setColor(0xABCDEF); g.fillRect(0, 0, getWidth(), getHeight(); switch(state) case MENU: for(int i=0; i1, 20+i*20, 0x1|0x10); g.setColor(0xff); g.drawString(进入, 0, getHeight(), Graphics.LEFT|Graphics.BOTTOM); g.drawString(退出

11、, getWidth(), getHeight(), Graphics.RIGHT|Graphics.BOTTOM); break; case LINE:/直线的绘制 g.setColor(0xcdaba); g.drawLine(140, 80, 140, 20); g.setColor(0xff); g.drawString(返回, getWidth(), getHeight(), Graphics.RIGHT|Graphics.BOTTOM); break; case RECT:/正方形的绘制和填充 g.setColor(0xaaaaaa); g.drawRect(900, 100, 1

12、00, 100); g.setColor(0xbbbcdd); g.fillRect(91, 101, 98, 98); g.setColor(0xff); g.drawString(返回, getWidth(), getHeight(), Graphics.RIGHT|Graphics.BOTTOM); break; case TRIANGLE:/ 直角三角形的绘制 g.setColor(0xdaaacb); g.fillTriangle(100, 40, 40, 40, 100, 100); g.setColor(0xff); g.drawString(返回, getWidth(), ge

13、tHeight(), Graphics.RIGHT|Graphics.BOTTOM); break; public void run() / TODO Auto-generated method stub while(true) long st = System.currentTimeMillis(); repaint(); serviceRepaints(); int et =(int)(System.currentTimeMillis() - st); if(et 100) try Thread.sleep(100 - et); catch(Exception e) e.printStac

14、kTrace(); 4.运行截图。(1)修改前 修改后 (2)修改前 修改后 (3)修改前 修改后 (4)修改前 修改后 实验名称: 贪吃蛇小游戏 时间: 2010/10/25 地点: 8209 一. 实验设备:一台计算机。二.实验目的:了解SnakeCanvas类、SnakeMIDlet类和它们的实现方法;编写贪吃蛇小游戏;对eclipse编写游戏进一步提高。三.实验内容及方法:开发简单的贪吃蛇游戏,正确运用各种类,编写程序,并且运行。四.实验过程:1.实验步骤理解贪吃蛇的游戏原理编写输入贪吃蛇程序编写输入贪吃蛇程序实验游戏. 上机输入和调试自己所编的程序;. 整理出实验报告。2.流程图:3

15、.源程序:public class SnakeCanvas extends Canvas implements Runnable /*存储贪吃蛇节点坐标,其中第二维下标为0的代表x坐标,第二维下标是1的代表y坐标*/ int snake = new int2002; int snakeNum; /*已经使用的节点数量*/ int direction; /*贪吃蛇运动方向,0代表向上,1代表向下,2代表向左,3代表向右*/ /*移动方向*/ private final int DIRECTION_UP = 0; /*向上*/ private final int DIRECTION_DOWN =

16、1; /*向下*/ private final int DIRECTION_LEFT = 2; /*向左*/ private final int DIRECTION_RIGHT = 3; /*向右*/ int width; /*游戏区域宽度*/ int height; /*游戏区域高度*/ private final byte SNAKEWIDTH = 4; /*蛇身单元宽度*/ boolean isPaused = false; /*是否处于暂停状态,true代表暂停*/ boolean isRun = true; /*是否处于运行状态,true代表运行*/ private final in

17、t SLEEP_TIME = 300; /*时间间隔*/ int foodX; /*食物的X坐标*/ int foodY; /*食物的Y坐标*/ boolean b = true; /*食物的闪烁控制*/ Random random = new Random();/*Random对象*/ public SnakeCanvas() init();/初始化 width = this.getWidth(); height = this.getHeight(); new Thread(this).start();/启动线程 /* * 初始化开始数据 */ private void init() sna

18、keNum = 7; /初始化节点数量 /初始化节点数据 for(int i = 0;i snakeNum;i+) snakei0 = 100 - SNAKEWIDTH * i; snakei1 = 40; direction = DIRECTION_RIGHT; /初始化移动方向 /初始化食物坐标 foodX = 100; foodY = 100; protected void paint(Graphics g) /清屏 g.setColor(0xffffff); g.fillRect(0,0,width,height); g.setColor(0); /绘制蛇身 for(int i = 0

19、;i 0;i-) snakei0 = snakei - 10; snakei1 = snakei - 11; /第一个单元格移动 switch(direction) case DIRECTION_UP: snake01 = snake01 - SNAKEWIDTH; break; case DIRECTION_DOWN: snake01 = snake01 + SNAKEWIDTH; break; case DIRECTION_LEFT: snake00 = snake00 - SNAKEWIDTH; break; case DIRECTION_RIGHT: snake00 = snake00

20、 + SNAKEWIDTH; break; /* * 吃掉食物,自身增长 */ private void eatFood() /判别蛇头是否和食物重叠 if(snake00 = foodX & snake01 = foodY) snakeNum+; generateFood(); /* * 产生食物 * 说明:食物的坐标必须位于屏幕内,且不能和蛇身重合 */ private void generateFood() while(true) foodX = Math.abs(random.nextInt() % (width - SNAKEWIDTH + 1) / SNAKEWIDTH * SNA

21、KEWIDTH; foodY = Math.abs(random.nextInt() % (height - SNAKEWIDTH + 1) / SNAKEWIDTH * SNAKEWIDTH; boolean b = true; for(int i = 0;i snakeNum;i+) if(foodX = snakei0 & snakei1 = foodY) b = false; break; if(b) break; /* * 判断游戏是否结束 * 结束条件: * 1、蛇头超出边界 * 2、蛇头碰到自身 */ private boolean isGameOver() /边界判别 if(s

22、nake00 (width - SNAKEWIDTH) | snake01 (height - SNAKEWIDTH) return true; /碰到自身 for(int i = 4;i snakeNum;i+) if(snake00 = snakei0 & snake01 = snakei1) return true; return false; /* * 事件处理 */ public void keyPressed(int keyCode) int action = this.getGameAction(keyCode); /改变方向 switch(action) case UP: if

23、(direction != DIRECTION_DOWN) direction = DIRECTION_UP; break; case DOWN: if(direction != DIRECTION_UP) direction = DIRECTION_DOWN; break; case LEFT: if(direction != DIRECTION_RIGHT) direction = DIRECTION_LEFT; break; case RIGHT: if(direction != DIRECTION_LEFT) direction = DIRECTION_RIGHT; break; ca

24、se FIRE: /暂停和继续 isPaused = !isPaused; break; /* * 线程方法 * 使用精确延时 */ public void run() try while (isRun) /开始时间 long start = System.currentTimeMillis(); if(!isPaused) /吃食物 eatFood(); /移动 move(direction); /结束游戏 if(isGameOver() break; /控制闪烁 b = !b; /重新绘制 repaint(); long end = System.currentTimeMillis();

25、/延时 if(end - start SLEEP_TIME) Thread.sleep(SLEEP_TIME - (end - start); catch(Exception e) 4.运行截图:(1)开始运行,蛇爬行,食物闪 (2)蛇头超出边界,游戏结束 (3)蛇身与食物重合,蛇吃掉食物,蛇身变长 (4)蛇头碰到自身,游戏结束 (5)按确定键,游戏暂停,再按,游戏继续实验名称: 创建简单的JAVA ME应用 时间: 2010/10/28 地点: 8209 一.实验设备:一台计算机.二.实验目的: 修改一个开发出来的Java ME聊天工具,增添其功能。了解GCF通用连接方法,熟悉Java ME 通讯方式,熟悉掌握LogForm类、HallList类和ChatForm类。三.实验内容及方法:将已经编号的实验成寻导入到eclipse,运行。查看其源代码,并进行修改。使其在登录的时候能够提供记住当前密码的选项。运行修改后的程序。四.实验过程:1.实验步骤 导入已经开发好的聊天工具程序读聊天程序,并进行修改:在登录项里面添加一个“记住密码“项。调试运行程序。2.流程图:3.源程序:部分public LogForm(String

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1