版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 报 告学院、系:吉林大学珠海学院计算机科学与技术系专业名称:软件工程课程设计科目java程序课程设计学生姓名:一群羊指导教师:李向华完成时间:2011年5月12月(课程设计报告正文部分)温度转换窗口1、 设计任务与目标 编写一个温度转换窗口程序,窗体中有一个JTextField组件,一个JLabel组件和一个“转换”按钮,用于将输入的华氏温度可以转换成摄氏温度,或者将输入的摄氏温度转换成华氏温度。 设计要求:1)界面需要具有背景图案以及背景音乐2)可以进行华氏与摄氏温度的相互转换*3)根据显示的温度,能自动切换窗口背景的图案,如春夏秋冬等图片。 分析论证:此题目的的主要运用我们
2、JAVA第十章学习的内容 (Swing图形用户界面(GUI)编程) 中的组件与内容、布局管理器、事件处理等和第十一章(Applet的运用)等知识.借鉴书中的例子组建出窗体,利用温度间的转换公式,通过监听事件调用Applet播放声音以及图片的导入与变换.2、 方案设计与论证 此题主要是JAVA一些组件的运用,具体组件与内容、布局管理器、事件处理等和Applet的运用知识. 1.首先应该创建程序的主体窗口, 窗体中有一个JTextField组件,一个JLabel组件和一个“转换”按钮,使得程序基本能够初始化运行; 2.再写入温度转换的公式,使得温度转换计的基本功能实现; 3.接着运用Applet
3、中的AudioClip类来播放声音,使得背景音乐功能得以实现; 4.最后插入图片功能,使得随着温度的不同能够自动转换每个季节的图片. 经过反复的实验与论证,发现图片的功能比较难实现,在图书馆查了一些书籍和詹东健的帮助下攻克了这个问题. 在布局方面比较简单,采用了箱式布局.方位布局,网格的布局,最后做成了小JAVA程序.3、 程序框图或流程图,程序清单与调用关系再次重复播放音乐暂停播放音乐监听 Button 暂停 与 开始 按钮事件调用GetAudioClip方法播放背景音乐启动JAVA小程序,进入窗口程序面板输入a的值开始转换为摄氏度 或转换为华氏度a = (a - 32) / 1.8a =
4、a * 1.8 + 32输出 a 的值,根据a 的大小,用if 语句判断温度所处的季节,并 drawImage输出该季节的相应图片结束四、全部源程序清单import java.applet.AudioClip;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Container;import java.awt.Graphics;import java.awt.GridLayout;import java.awt.Image;import java.awt.Panel;import java.awt.event
5、.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JApplet;import javax.swing.JComboBox;import javax.swing.JPanel;import javax.swing.JTextField;public class sheep extends JApplet implements ActionListener public JTextField first, second, three;public JC
6、omboBox chose;public Button ecquilButton, stopButton, stopButton2;public Panel Imgepanel;public JPanel panel2;AudioClip musice;public void init()/ 界面的初始化/ JApplet a=new JApplet();resize(800, 600);Container c = getContentPane();/ 容器c.setLayout(new BorderLayout();/ 容器布局panel2 = new JPanel();/ 容器面板pane
7、l2.setLayout(new GridLayout(1, 4);/ 格式布局first = new JTextField(10);second = new JTextField(10);three = new JTextField(10);String tybe = 转换为摄氏温度, 转换为华氏温度 ;chose = new JComboBox(tybe);ecquilButton = new Button(=);ecquilButton.addActionListener(this);panel2.add(first);panel2.add(chose);panel2.add(ecqui
8、lButton);panel2.add(three);c.add(panel2, BorderLayout.SOUTH);stopButton = new Button(暂停);stopButton2 = new Button(开始);stopButton.addActionListener(this);/ 事件监听器stopButton2.addActionListener(this);/ startButtomImgepanel = new Panel();Panel button = new Panel();button.add(stopButton);button.add(stopBu
9、tton2);c.add(Imgepanel, BorderLayout.CENTER);/ 放置四季图片出现的地方的布局c.add(button, BorderLayout.NORTH);/ c.add(stopButton2,BorderLayout.NORTH);/背景音乐停的按钮布局/ Graphics g=Imgepanel.getGraphics();/ ImageIcon at=new/ ImageIcon(C:UsersuserDesktopjava图片冬.jpg);musice = getAudioClip(getCodeBase(), 王力宏 - 春雨里洗过的太阳.wav)
10、;/ 得到背景音乐/ Image t=getImage();/ Graphics g=Imgepanel.getGraphics();/ Imgepanel.paintComponents(g);/ g.drawImage(t, 0, 0, this);musice.loop();/ public void start()/ / Graphics g=Imgepanel.getGraphics();/ ImageIcon at=new ImageIcon(D:javehomeworkyangyqbin01.jpg);/ Image image=at.getImage();/ g.drawIma
11、ge(image, 0, 0, this);/ public void actionPerformed(ActionEvent e) / 按钮的事件监听器Button source = (Button) e.getSource();String whice = source.getLabel();if (whice.contentEquals(=) String heat = first.getText();Double a = Double.parseDouble(heat);String mess = (String) chose.getSelectedItem();/ 得到用户选项是哪个
12、/ String mess=转为摄氏温度;chose.setEnabled(true);if (mess.contentEquals(转换为摄氏温度) a = (a - 32) / 1.8;pian(a);three.setText(a.toString() + C); else pian(a);a = a * 1.8 + 32;three.setText(a.toString() + F);if (whice.contentEquals(暂停) musice.stop();if (whice.contentEquals(开始) musice.loop();/ Override/ public
13、 void paint(Graphics g)/ / Graphics g1=Imgepanel.getGraphics();/ ImageIcon at=new/ ImageIcon(D:My DocumentsMy Pictures01.jpg);/得到一个图片(春天)/ Image image=at.getImage();/ g1.drawImage(image, 0, 0,Imgepanel );/ public void pian(Double a)/ 是画面板的图片Graphics g = Imgepanel.getGraphics();if (a 10) ImageIcon at
14、 = new ImageIcon(冬.jpg);/ 得到一个图片(冬天)Image image = at.getImage();g.drawImage(image, 0, 0, this);if (10 = a & a 22) ImageIcon at = new ImageIcon(春.jpg);/ 得到一个图片(春天)Image image = at.getImage();g.drawImage(image, 0, 0, this);if (22 = a & a 30) ImageIcon at = new ImageIcon(秋.jpg);/ 得到一个图片(秋天)Image image
15、= at.getImage();g.drawImage(image, 0, 0, this);if (30 = a) ImageIcon at = new ImageIcon(夏.jpg);/ 得到一个图片(夏天)Image image = at.getImage();g.drawImage(image, 0, 0, this);5、 程序运行的测试与分析(程序一初始化,背景音乐自动播放,可选择下面的按钮是否继续播放) (输入的温度为20 C, 大约在春天的范围内,系统自动输出春天的照片) (输入的温度为86 F, 大约在夏天的范围内,系统自动输出夏天的照片) (输入的温度为22C, 大约在秋
16、天的范围内,系统自动输出秋天的照片) (输入的温度为10 C, 大约在冬天的范围内,系统自动输出冬天的照片)6、 结论与心得 这次的课程设计看起来比较简单,可真正自己动手做起来,就发现很多问题, 归根结底就是自己的JAVA语言学得不够精通, 很多知识都不能够灵活运用, 也由于此题是单人的题目,更加磨炼了我的能力.不过还是感谢詹东健帮我解决了不少问题,以后自己应该更加把劲,对语言的学习不能够松懈.Java语言是一种完全面向对象的程序设计语言,具有简单易用、跨平台运行以及网络安全性强等特点。学习这门语言感觉挺有趣的。觉得JAVA的实用性很强.通过做这个程序,真是获益匪浅,也真正感受到java这门课程的趣味性,用到了JLabel标签组件和JTextFiel文本框组件和JButton等Swing组件,复习了下事件处理方式还有Applet的应用.7、 参考资料 Java语言程序设计应用教程 主编: 傅晓阳 副主编: 郭晓燕 李 昱 JAVA核心技术 卷:基础知识 (美) Cay S.Horstmann , Gary Cornell. 8、 致谢 Java语言
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025梧州医学高等专科学校教师招聘考试题目及答案
- 2025江西制造职业技术学院教师招聘考试题目及答案
- 2025承德医学院教师招聘考试题目及答案
- 临安区事业编试题及答案
- 2026天津市消防救援总队水上支队招录政府专职消防员95人建设笔试参考题库及答案解析
- 2026年甘肃省嘉峪关市农业农村局招聘公益性岗位人员建设笔试备考题库及答案解析
- 2026安徽黄山市黟县桃花源人才服务有限公司招聘劳务派遣工作人员1人建设笔试备考试题及答案解析
- 2026年安庆安徽省岳顺人力资源服务有限公司公开招聘8名建设考试参考题库及答案解析
- 2026新疆慧之源图书发行有限公司招聘5人建设考试备考题库及答案解析
- 2026江苏南京大学档案馆、校史博物馆内勤招聘建设笔试参考题库及答案解析
- 物控工作培训
- DBJ41T 189-2017 地下连续墙检测技术规程
- 小学语文命题能力培训
- 外墙保温板(匀质板)施工方案
- 前列腺癌治疗现状
- 24年10月自考13003数据结构与算法试题及答案
- 《人工智能技术基础》课件 第5章 注意力机制
- 保安公司组织架构岗位制度及保安管理制度
- NWT系列扫频仪说明书-中英文版
- 感觉统合教育指导师理论考试复习题库(含答案)
- 断亲协议书模板
评论
0/150
提交评论