java课程设计温度转换器符原代码Word文件下载.docx
- 文档编号:20732123
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:11
- 大小:2.24MB
java课程设计温度转换器符原代码Word文件下载.docx
《java课程设计温度转换器符原代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《java课程设计温度转换器符原代码Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
(对应春夏秋冬四季)
分析论证:
此题目的的主要运用我们JAVA第十一章学习的内容(Swing图形用户界面(GUI)编程)中的组件与内容、布局管理器、事件处理等和第十章(Applet的运用)等知识.借鉴书中的例子组建出窗体,利用温度间的转换公式,通过监听事件调用Applet播放声音以及图片的导入与变换.
三.结构分析
此题主要是JAVA一些组件的运用,具体组件与内容、布局管理器、事件处理等和Applet的运用知识.
1.首先应该创建程序的主体窗口,窗体中有一个JTextField组件,一个JLabel组件和一个“转换”按钮,使得程序基本能够初始化运行;
2.再写入温度转换的公式,使得温度转换计的基本功能实现;
3.接着运用Applet中的AudioClip类来播放声音,使得背景音乐功能得以实现;
4.最后插入图片功能,使得随着温度的不同能够自动转换每个季节的图片.
经过反复的实验与论证,发现图片的功能比较难实现,在图书馆查了一些书籍和詹东健的帮助下攻克了这个问题.在布局方面比较简单,采用了箱式布局.方位布局,网格的布局,最后做成了小JAVA程序.
程序框图如图所示:
代码如下(注释语句为自己在编写过程中出错的语句。
)
packageless11;
importjava.applet.AudioClip;
importjava.awt.BorderLayout;
importjava.awt.Button;
importjava.awt.Container;
importjava.awt.FlowLayout;
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.JTextField;
publicclasstextextendsJAppletimplementsActionListener{
publicJTextFieldfirst,second,three;
//定义三个文本框
publicJComboBoxchose;
//定义一个组合框
publicButtonecquilButton,stopButton,stopButton2;
//三个按钮
publicPanelImgepanel,panel2;
//定义两个面板
AudioClipmusice;
//音频播放器
publicvoidinit()//界面的初始化
{
//JAppleta=newJApplet();
resize(600,600);
//调整界面大小
Containerc=getContentPane();
//容器(添加内容格)
c.setLayout(newBorderLayout());
//设置边框布局管理器
panel2=newPanel();
//容器面板赋初值
panel2.setLayout(newGridLayout(1,4));
//将面板12设置成网格布局管理器
first=newJTextField(10);
//可视字符长度为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);
//将面板2加到边框布局管理器的南面
stopButton=newButton("
暂停"
//stopButton.setSize(10,10);
stopButton2=newButton("
开始"
stopButton.addActionListener(this);
//事件监听器
stopButton2.addActionListener(this);
//startButtom
Imgepanel=newPanel();
Panelbutton=newPanel();
//定义一个button容器。
//button.setLayout(null);
//stopButton2.setBounds(30,30,101,101);
button.add(stopButton);
button.add(stopButton2);
c.add(Imgepanel,BorderLayout.CENTER);
//放置四季图片出现的地方的布局
c.add(button,BorderLayout.NORTH);
musice=getAudioClip(getCodeBase(),"
月半小夜曲.wav"
//得到背景音乐
//Imaget=getImage();
//Graphicsg=Imgepanel.getGraphics();
//Imgepanel.paintComponents(g);
//g.drawImage(t,0,0,this);
musice.loop();
//循环播放
}
publicvoidactionPerformed(ActionEvente)//按钮的事件监听器ActionEvente是事件类,e是事件对象
Buttonsource=(Button)e.getSource();
//点击Button获取事件源
Stringwhice=source.getLabel();
if(whice.contentEquals("
))//当括号内与设定相同是,执行语句。
{
Stringheat=first.getText();
Doublea=Double.parseDouble(heat);
//转换成double类型
Stringmess=(String)chose.getSelectedItem();
//(文本形式)得到用户选项是哪个
chose.setEnabled(true);
//设置下拉菜单可用
if(mess.contentEquals("
{
a=(a-32)/1.8;
pian(a);
//显示图片
three.setText(a.toString()+"
°
C"
//输出文本模式
}else{
a=a*1.8+32;
three.setText(a.toString()+"
F"
}
}
musice.stop();
musice.loop();
publicvoidpian(Doublea)//是画面板的图片//温度
Graphicsg=Imgepanel.getGraphics();
if(a<
10)
ImageIconat=newImageIcon("
冬.jpg"
//得到一个图片(冬天)
Imageimage=at.getImage();
g.drawImage(image,0,0,this);
//this所代表的对象作为参数进行传递
if(10<
=a&
&
a<
22)
ImageIconat=newImageIcon("
春.jpg"
//得到一个图片(春天)
if(22<
30)
秋.jpg"
//得到一个图片(秋天)
if(30<
=a)
夏.jpg"
//得到一个图片(夏天)
四.实验结果
1.(运行程序,背景音乐自动播放,可选择下面的按钮是否继续播放)
(当输入20摄氏度时,大约是春天的温度,系统自动切换到春天的图片)
2.(在下拉菜单中使用者可以选择自己需要的转换目标)
3.(当输入30摄氏度时,大约是夏天的温度,系统自动切换到夏天的图片)
.
4.(当输入22摄氏度时,大约是秋天的温度,系统自动切换到秋天的图片)
5.(当输入10华氏度时,大约是冬天的温度,系统自动切换到冬天的图片)
5.设计总结
这次的课程设计时间比较紧,所以总体的构思和设计都不是很紧凑。
比如(按钮的尺寸可以在有所调整,在刚开始没有输入温度时,面板中可以添加图片等。
)并且有不少内容都没有学过,属于边学边做,再加上自己java学的不是很精通,所以编写起来比较吃力,所以参考过网上内容,也问同学不少问题。
在刚开始,自己做了一个简单的温度转换器,只有摄氏度转换成华氏度,当某位同学提起有没有华氏转换成摄氏时,我就感觉应该把程序改改,让它更加的全面。
(原程序我也将它放入报告,在附录中。
)所以,在之后的完善中我添加了图片和背景音乐。
犹豫在applet中添加这两样比较简单,所以就看了书本再结合孙鑫老师讲的,编写了程序。
并且在报告里,我也把自己在编写过程中出错的地方也放入并注释起来,这样就能让自己更加一目了然的知道自己哪里错,为什么错。
不过当自己真正完成作业的时候,还是很有成就感的。
附录:
源代码:
packageless12;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassCimplementsActionListener
{
JFrameF;
JPanelP;
JTextFieldJF;
JLabelcL,fL;
JButtonB;
publicC()
F=newJFrame("
温度转换器"
F.setSize(40,40);
P=newJPanel();
P.setLayout(newGridLayout(2,2));
F.setLocation(800,300);
addWidgets();
F.getContentPane().add(P,BorderLayout.CENTER);
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
F.pack();
F.setVisible(true);
privatevoidaddWidgets()
JF=newJTextField
(2);
cL=newJLabel("
摄氏温度"
SwingConstants.LEFT);
B=newJButton("
转换..."
fL=newJLabel("
华氏温度"
SwingConstants.LEFT);
B.addActionListener(this);
P.add(JF);
P.add(cL);
P.add(B);
P.add(fL);
cL.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
fL.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
publicvoidactionPerformed(ActionEventevent)
inttempFahr=(int)((Double.parseDouble(JF.getText()))*1.8+32);
fL.setText(tempFahr+"
publicstaticvoidmain(String[]args)
try
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}catch(Exceptione){}
Cconverter=newC();
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 温度 转换器 原代码