您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > JAVA课程设计温度转换窗口
课程设计报告学院、系:吉林大学珠海学院计算机科学与技术系专业名称:软件工程课程设计科目java程序课程设计学生姓名:一群羊指导教师:李向华完成时间:2011年5月12月(课程设计报告正文部分)温度转换窗口一、设计任务与目标编写一个温度转换窗口程序,窗体中有一个JTextField组件,一个JLabel组件和一个“转换”按钮,用于将输入的华氏温度可以转换成摄氏温度,或者将输入的摄氏温度转换成华氏温度。设计要求:1)界面需要具有背景图案以及背景音乐2)可以进行华氏与摄氏温度的相互转换*3)根据显示的温度,能自动切换窗口背景的图案,如春夏秋冬等图片。分析论证:此题目的的主要运用我们JAVA第十章学习的内容(Swing图形用户界面(GUI)编程)中的组件与内容、布局管理器、事件处理等和第十一章(Applet的运用)等知识.借鉴书中的例子组建出窗体,利用温度间的转换公式,通过监听事件调用Applet播放声音以及图片的导入与变换.二、方案设计与论证此题主要是JAVA一些组件的运用,具体组件与内容、布局管理器、事件处理等和Applet的运用知识.1.首先应该创建程序的主体窗口,窗体中有一个JTextField组件,一个JLabel组件和一个“转换”按钮,使得程序基本能够初始化运行;2.再写入温度转换的公式,使得温度转换计的基本功能实现;3.接着运用Applet中的AudioClip类来播放声音,使得背景音乐功能得以实现;4.最后插入图片功能,使得随着温度的不同能够自动转换每个季节的图片.经过反复的实验与论证,发现图片的功能比较难实现,在图书馆查了一些书籍和詹东健的帮助下攻克了这个问题.在布局方面比较简单,采用了箱式布局.方位布局,网格的布局,最后做成了小JAVA程序.三、程序框图或流程图,程序清单与调用关系再次重复播放音乐暂停播放音乐监听Button暂停与开始按钮事件调用GetAudioClip方法播放背景音乐启动JAVA小程序,进入窗口程序面板输入a的值开始转换为摄氏度或转换为华氏度a=(a-32)/1.8a=a*1.8+32输出a的值,根据a的大小,用if语句判断温度所处的季节,并drawImage输出该季节的相应图片结束四、全部源程序清单importjava.applet.AudioClip;importjava.awt.BorderLayout;importjava.awt.Button;importjava.awt.Container;importjava.awt.Graphics;importjava.awt.GridLayout;importjava.awt.Image;importjava.awt.Panel;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JApplet;importjavax.swing.JComboBox;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclasssheepextendsJAppletimplementsActionListener{publicJTextFieldfirst,second,three;publicJComboBoxchose;publicButtonecquilButton,stopButton,stopButton2;publicPanelImgepanel;publicJPanelpanel2;AudioClipmusice;publicvoidinit()//界面的初始化{//JAppleta=newJApplet();resize(800,600);Containerc=getContentPane();//容器c.setLayout(newBorderLayout());//容器布局panel2=newJPanel();//容器面板panel2.setLayout(newGridLayout(1,4));//格式布局first=newJTextField(10);second=newJTextField(10);three=newJTextField(10);String[]tybe={转换为摄氏温度,转换为华氏温度};chose=newJComboBox(tybe);ecquilButton=newButton(=);ecquilButton.addActionListener(this);panel2.add(first);panel2.add(chose);panel2.add(ecquilButton);panel2.add(three);c.add(panel2,BorderLayout.SOUTH);stopButton=newButton(暂停);stopButton2=newButton(开始);stopButton.addActionListener(this);//事件监听器stopButton2.addActionListener(this);//startButtomImgepanel=newPanel();Panelbutton=newPanel();button.add(stopButton);button.add(stopButton2);c.add(Imgepanel,BorderLayout.CENTER);//放置四季图片出现的地方的布局c.add(button,BorderLayout.NORTH);//c.add(stopButton2,BorderLayout.NORTH);//背景音乐停的按钮布局//Graphicsg=Imgepanel.getGraphics();//ImageIconat=new//ImageIcon(C:\\Users\\user\\Desktop\\java图片\\冬.jpg);musice=getAudioClip(getCodeBase(),王力宏-春雨里洗过的太阳.wav);//得到背景音乐//Imaget=getImage();//Graphicsg=Imgepanel.getGraphics();//Imgepanel.paintComponents(g);//g.drawImage(t,0,0,this);musice.loop();}//publicvoidstart()//{////Graphicsg=Imgepanel.getGraphics();//ImageIconat=newImageIcon(D:\\javehomework\\yangyq\\bin\\01.jpg);//Imageimage=at.getImage();//g.drawImage(image,0,0,this);//}publicvoidactionPerformed(ActionEvente)//按钮的事件监听器{Buttonsource=(Button)e.getSource();Stringwhice=source.getLabel();if(whice.contentEquals(=)){Stringheat=first.getText();Doublea=Double.parseDouble(heat);Stringmess=(String)chose.getSelectedItem();//得到用户选项是哪个//Stringmess=转为摄氏温度;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//publicvoidpaint(Graphicsg)//{////Graphicsg1=Imgepanel.getGraphics();//ImageIconat=new//ImageIcon(D:\\MyDocuments\\MyPictures\\01.jpg);//得到一个图片(春天)//Imageimage=at.getImage();//g1.drawImage(image,0,0,Imgepanel);//}publicvoidpian(Doublea)//是画面板的图片{Graphicsg=Imgepanel.getGraphics();if(a10){ImageIconat=newImageIcon(冬.jpg);//得到一个图片(冬天)Imageimage=at.getImage();g.drawImage(image,0,0,this);}if(10=a&&a22){ImageIconat=newImageIcon(春.jpg);//得到一个图片(春天)Imageimage=at.getImage();g.drawImage(image,0,0,this);}if(22=a&&a30){ImageIconat=newImageIcon(秋.jpg);//得到一个图片(秋天)Imageimage=at.getImage();g.drawImage(image,0,0,this);}if(30=a){ImageIconat=newImageIcon(夏.jpg);//得到一个图片(夏天)Imageimage=at.getImage();g.drawImage(image,0,0,this);}}}五、程序运行的测试与分析(程序一初始化,背景音乐自动播放,可选择下面的按钮是否继续播放)(输入的温度为20°C,大约在春天的范围内,系统自动输出春天的照片)(输入的温度为86°F,大约在夏天的范围内,系统自动输出夏天的照片)(输入的温度为22°C,大约在秋天的范围内,系统自动输出秋天的照片)(输入的温度为10°C,大约在冬天的范围内,系统自动输出冬天的照片)六、结论与心得这次的课程设计看起来比较简单,可真正自己动手做起来,就发现很多问题,归根结底就是自己的JAVA语言学得不够精通,很多知识都不能够灵活运用,也由于此题是单人的题目,更加磨炼了我的能力.不过还是感谢詹东健帮我解决了不少问题,以后自己应该更加把劲,对语言的学习不能够松懈.Java语言是一种完全面向对象的程序设计语言,具有简单易用、跨平台运行以及网络安全性强等特点。学习这门语言感觉挺有趣的。觉得JAVA的实用性很强.通过做这个程序,真是获益匪浅,也真正感受到java这门课程的趣味性,用到了JLabel标签组件和JTextFiel文本框组件和JButton等Swing组件,复习了下事件处理方式还有Applet的应用.七、参考资料《Java语言程序设计应用教程》主编:傅晓阳副主编:郭晓燕李昱《JAVA核心技术卷Ⅰ:基础知识》(美)CayS.Horstmann,GaryCornell.八、致谢《Java语言程序设计应用教程》主编:傅晓阳副主编:郭晓燕李昱《JAVA核心技术卷Ⅰ:基础知识》(美)CayS.Horstmann,GaryCornell.还有百度文库以及特别感谢詹东健的大力支持课程设计成绩评定表对课程设计工作过程的简短介绍和自我评价学生签名:2010年月日(以下由评定小组教师填写)质量评价指标(在相应栏目打√)评价项目评价质量优秀良好一般及格不及格工作量和态度实验、计算可靠性界面和图表质量总体评价评定成绩(百分制)评定小组成员签名2010年月日制定人:傅晓阳审定人:陈守孔
本文标题:JAVA课程设计温度转换窗口
链接地址:https://www.777doc.com/doc-4465632 .html