实验二 使用MIDP用户界面API编程.doc
public void commandAction(Command c, Displayable d) { if(c == exitCommand) { try { destroyApp(false); } catch (MIDletStateChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } notifyDestroyed(); } else if(c == showCommand) { index = cg.getSelectedIndex(); form = new Form(textBoxLabels[index]); backCommand = new Command("Back", Command.BACK, 1); okCommand = new Command("OK", Command.OK, 1); form.addCommand(backCommand); form.addCommand(okCommand); switch(index) { case 0: tf1 = new TextField("公斤", "", 100, TextField.ANY); tf2 = new TextField("磅", "", 100, TextField.ANY); break; case 1: tf1 = new TextField("公斤", "", 100, TextField.ANY); tf2 = new TextField("盎司", "", 100, TextField.ANY); break; case 2: tf1 = new TextField("米", "", 100, TextField.ANY); tf2 = new TextField("英尺", "", 100, TextField.ANY); break; case 3: tf1 = new TextField("公里", "", 100, TextField.ANY); tf2 = new TextField("英里", "", 100, TextField.ANY); break; } form.append(tf1); form.append(tf2); form.setCommandListener(this); display.setCurrent(form); } else if(c == backCommand) { display.setCurrent(mainForm); } else if(c == okCommand) { String s = tf1.getString(); int i; switch(index) { case 0: if(s.equals("") && !tf2.getString().equals("")) { s = tf2.getString(); i = Integer.valueOf(s).intValue(); tf1.setString(i*0.45359 + ""); } else if(!s.equals("") && tf2.getString().equals("")) { i = Integer.valueOf(s).intValue(); tf2.setString(i*2.20462 + ""); } else { tf1.setString(""); tf2.setString(""); } break; case 1: if(s.equals("") && !tf2.getString().equals("")) { s = tf2.getString(); i = Integer.valueOf(s).intValue(); tf1.setString(i*0.028349 + ""); } else if(!s.equals("") && tf2.getString().equals("")) { i = Integer.valueOf(s).intValue(); tf2.setString(i*35.274 + ""); } else { tf1.setString(""); tf2.setString(""); } break; case 2: if(s.equals("") && !tf2.getString().equals("")) { s = tf2.getString(); i = Integer.valueOf(s).intValue(); tf1.setString(i*0.3048 + ""); } else if(!s.equals("") && tf2.getString().equals("")) { i = Integer.valueOf(s).intValue(); tf2.setString(i*3.28084 + ""); } else { tf1.setString(""); tf2.setString(""); } break; case 3: if(s.equals("") && !tf2.getString().equals("")) { s = tf2.getString(); i = Integer.valueOf(s).intValue(); tf1.setString(i*1.609347 + ""); } else if(!s.equals("") && tf2.getString().equals("")) { i = Integer.valueOf(s).intValue(); tf2.setString(i*0.62137 + ""); } else { tf1.setString(""); tf2.setString(""); } break; } } 该文档是关于使用MIDP(Mobile Information Device Profile)用户界面API进行编程的实验报告,主要涉及的内容是如何在手持设备上开发一个度量单位转换程序。MIDP是Java ME(Micro Edition)的一个子集,专门用于开发移动设备上的应用程序。 实验目标与要求: 1. 掌握MIDP高级用户界面应用程序的开发流程,理解事件处理机制。 2. 熟悉并能运用各种高级用户界面组件的API。 3. 开发一个支持公制与英制单位转换的程序,具备良好的可扩展性,方便添加新的度量单位。 实验内容: 实验中创建了一个名为`HomeWork2`的MIDlet(移动信息应用),它实现了`CommandListener`接口,用于处理用户界面中的命令事件。程序包含以下关键组件: 1. `Display`:用于管理设备的显示屏幕。 2. `Form`:用于创建表单,显示文本字段和命令按钮。 3. `ChoiceGroup`:提供选择列表,允许用户在多个选项中选择一个。 4. `TextField`:用于用户输入文本,例如输入要转换的数值。 5. `Command`:表示用户可以执行的操作,如“退出”、“显示”等。 代码实现中,`commandAction`方法处理了用户点击命令按钮后的动作。例如,当用户点击“退出”命令时,会调用`destroyApp`方法关闭MIDlet。如果用户点击“显示”命令,则根据`ChoiceGroup`的选择创建新的`Form`,展示相应的单位转换表单,如“公斤<->磅”等,并添加“后退”和“确定”两个命令。用户在文本字段中输入数值后,点击“确定”将执行相应的单位转换逻辑。 转换逻辑通过检查每个文本字段的值来完成。如果第一个文本字段为空,但第二个有值,那么将第二个字段的值转换为第一个字段的单位;反之亦然。例如,在“公斤<->磅”转换中,如果用户输入了磅的值,程序会将其转换为公斤并显示在第一个文本字段。所有转换都使用了预定义的转换系数。 实验步骤中,`HomeWork2`类的构造函数初始化了显示对象、主表单、选择组以及各种命令。`destroyApp`和`pauseApp`方法是MIDlet生命周期的一部分,尽管它们在这里是空的,通常用于清理资源或保存状态。 这个实验有助于学习者理解如何利用MIDP库创建交互式移动应用程序,并处理用户输入和界面更新,同时展示了如何设计一个可扩展的单位转换系统。
剩余7页未读,继续阅读
- 粉丝: 15
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 白色大气风格的境外游景区景点模板下载.zip
- 白色大气风格的景区导游专题模板.zip
- 白色大气风格的境外游景区模板下载.zip
- 白色大气风格的酒店官网网站模板下载.zip
- 白色大气风格的科研教育HTML网站模板.zip
- 白色大气风格的科技探索HTML5网站模板.zip
- 白色大气风格的恐龙化石博物馆网站模板下载.zip
- 白色大气风格的科研教育模板下载.zip
- 白色大气风格的恐龙化石博物馆模板下载.zip
- 白色大气风格的乐器爱好者网站模板下载.zip
- 白色大气风格的楼宇建设设计师网站模板.zip
- CH579 以太网转串口 串口服务器代码 需要自己编程提升能力的非常值得参考的代码 几乎所有的编程思路编程技巧资源都涉及到了,代码简单易懂 ,注释清楚,本代码实现最串口服务器的功能,有电路图
- 白色大气风格的楼盘销售公司企业网站源码下载.zip
- 白色大气风格的旅行网站模板下载.zip
- 白色大气风格的旅游观光模板下载.zip
- 白色大气风格的旅行作品展示网站模板下载.zip