




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
昆明理工大学信息工程与自动化学院学生实验报告(2011—2012学年第1学期)课程名称:java程序设计开课实验室:信自楼机房4452011年11月11日年级、专业、班计科093学号200910405310姓名孙浩川成绩实验项目名称图形用户界面指导教师周兰江教师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□该同学的实验能力: A.强□ B.中等□ C.差□该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□实验报告是否规范: A.规范□ B.基本规范□ C.不规范□实验过程是否详细记录: A.详细□ B.一般□ C.没有□教师签名:年月日一、上机目的及内容上机内容:把一个数转为二、十六、八进制,用awt组建实现窗口。上机目的:掌握javaswing之间的使用方法,理解委托事件处理模型,掌握多种不及方式,掌握窗口菜单的快捷菜单设计方式,熟悉在组建上绘图的方法,设计出具有图形用户界面的、能够显影事件的java程序。二、实验原理及基本技术路线图(方框原理图或程序流程图)1.本程序使用【例题6.2】的【Unicode字符查询器】修改而成。保留了QueryFrame类的基本构造方法但做了适当修改,框架变为5行2列,4个文本行,2个按钮。进制转换部分调用了javaAPI中的Integer.toHexString(int),Integer.toOctalString(int),Integer.toBinaryString(int)函数,实现八十进制数转为二、八、十六进制数字。当点击鼠标产生事件e,判断点击的按钮,若为button_char按钮,则执行以上三个函数,并将结果分别输出到text_bin1、text_oct1、text_hex1三个文本框。若点击button_dw按钮,则调用MessageJDialog类的show方法,弹出提示框。三、所用仪器、材料(设备名称、型号、规格等或使用软件)1台PC及eclipse软件四、实验方法、步骤(或:程序代码或操作过程) //用户图形界面实现进制转换。importjava.awt.*;importjava.awt.event.*;importjavax.swing.JDialog;importjavax.swing.JFrame;importjavax.swing.JLabel;importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.Frame;importjava.awt.Label;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassQueryFrameextendsFrameimplementsActionListener//框架窗口响应单击事件{privatestaticfinalJFrameQueryFrame=null; privateTextFieldtext_dec,text_bin,text_oct,text_hex;//两个文本行privateButtonbutton_char,button_dw;//两个按钮privateMessageJDialogjdialog;publicQueryFrame(){super("Unicode字符查询器");//窗口标题this.setBounds(300,240,300,400);//设置框架的位置和尺寸this.setBackground(Color.lightGray);//设置框架的背景颜色this.setLayout(newFlowLayout(FlowLayout.RIGHT));//框架流布局且左对齐this.setLayout(newGridLayout(5,2));//框架流布局且左对齐this.add(newLabel("输入十进制数"));text_dec=newTextField("",20);this.add(text_dec);this.add(newLabel("转换为二进制"));text_bin=newTextField("",20);this.add(text_bin);this.add(newLabel("转换为八进制"));text_oct=newTextField("",20);this.add(text_oct);this.add(newLabel("转换为十六进制"));text_hex=newTextField("",20);this.add(text_hex);button_char=newButton("转换");this.add(button_char);button_char.addActionListener(this);//为按钮注册单击事件监听器button_dw=newButton("敢不敢点我!");this.add(button_dw);button_dw.addActionListener(this);jdialog=newMessageJDialog(this);//为框架注册窗口事件监听器,委托WinClose类的对象处理事件this.setVisible(true);//显示框架this.addWindowListener(newWinClose());}privateclassMessageJDialogextendsJDialog//内部类,显示提示信息的对话框,通用功能{privateFrameframe;//对话框所依附的框架窗口privateJLabeljlabel;//对话框中的显示信息publicMessageJDialog(Frameframe)//内部类的构造方法{super(frame,"提示",true);//模式窗口this.frame=frame;this.setSize(300,80);jlabel=newJLabel("",JLabel.CENTER);//标签的字符串为空,居中对齐this.getContentPane().add(jlabel);this.setDefaultCloseOperation(HIDE_ON_CLOSE);//单击对话框的关闭按钮时,隐藏对话框而不结束程序运行}publicvoidshow(Stringmessage)//对话框显示信息{jlabel.setText(message);this.setLocation(frame.getX()+100,frame.getY()+100);//对话框位置在框架的右下方this.setVisible(true);//显示对话框}}//MessageJDialog内部类结束publicvoidactionPerformed(ActionEvente)//单击事件处理方法,实现ActionListener接口{if(e.getSource()==button_char)//e.getSource()获得当前事件源组件,比较引用{intdec=Integer.parseInt(text_dec.getText()); Stringtext_bin1=Integer.toBinaryString(dec); text_bin.setText(""+text_bin1); Stringtext_oct1=Integer.toOctalString(dec); text_oct.setText(""+text_oct1); Stringtext_hex1=Integer.toHexString(dec); text_hex.setText(""+text_hex1); }if(e.getSource()==button_dw){jdialog.show("(⊙o⊙)...你还真敢啊!好吧,我叫孙浩川...");}}publicstaticvoidmain(Stringarg[]){newQueryFrame();}}classWinCloseimplementsWindowListener//实现窗口事件监听器接口{publicvoidwindowClosing(WindowEvente)//窗口关闭事件处理方法{System.exit(0);//结束程序运行}publicvoidwindowOpened(WindowEvente){}publicvoidwindowActivated(WindowEvente){}publicvoidwindowDeactivated(WindowEvente){}publicvoidwindowClosed(WindowEvente){}publicvoidwindowIconified(WindowEvente){}publicvoidwindowDeiconified(WindowEvente){}}/*或者classWinCloseextendsWindowAdapter//继承适配类{publicvoidwindowClosing(WindowEvente)//单击窗口关闭按钮时触发并执行{//覆盖WindowAdapter类中方法System.exit(0);//结束程序运行}}*/五、实验过程原始记录(测试数据、图表、计算等)1.窗口界面输入一个十进制数点击转换按钮执行进制转换点击右侧“敢不敢点我”按钮弹出窗口实验结果、分析和结论(误差分析与数据处理、成果总结等。其中,绘制曲线图时必须用计算纸或程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专注中央厨房采购合同标准文本
- 乡下房子转让合同范例
- 买卖水果双方合同范例
- 党校培训住宿合同标准文本
- web外包合同标准文本
- 冷库贮藏苹果合同标准文本
- 办公区域转让合同标准文本
- 以合伙名义招工合同标准文本
- 016劳务派遣合同标准文本
- 劳动合同书模板
- 2025至2030年中国合成闸瓦数据监测研究报告
- 2025年山东省职教高考《英语》高频必练考试题库400题(含答案)
- DeepSeek原理与效应+DeepSeek深度分析解读
- 老年骨质疏松性疼痛诊疗与管理中国专家共识2024解读课件
- 湖北省新八校协作体2024-2025学年高三下学期2月联考数学试题 含解析
- 2025年四级作文预测
- 拆除工程专项施工方案和技术措施
- 智能教学工具在小学课堂的应用
- 2025年合肥市公安局第一批招考聘用警务辅助人员591人高频重点提升(共500题)附带答案详解
- 2024年常德职业技术学院单招职业适应性测试题库
- 思旺河(含田贵水库)岸线保护与利用规划报告
评论
0/150
提交评论