南邮Java实验报告材料1综合图形界面程序设计.docx

上传人:b****1 文档编号:10292119 上传时间:2023-05-24 格式:DOCX 页数:10 大小:305.08KB
下载 相关 举报
南邮Java实验报告材料1综合图形界面程序设计.docx_第1页
第1页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第2页
第2页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第3页
第3页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第4页
第4页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第5页
第5页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第6页
第6页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第7页
第7页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第8页
第8页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第9页
第9页 / 共10页
南邮Java实验报告材料1综合图形界面程序设计.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

南邮Java实验报告材料1综合图形界面程序设计.docx

《南邮Java实验报告材料1综合图形界面程序设计.docx》由会员分享,可在线阅读,更多相关《南邮Java实验报告材料1综合图形界面程序设计.docx(10页珍藏版)》请在冰点文库上搜索。

南邮Java实验报告材料1综合图形界面程序设计.docx

南邮Java实验报告材料1综合图形界面程序设计

 

实验报告

(2016/2017学年第2学期)

 

课程名称

JAVA程序设计

实验名称

综合图形界面程序设计

实验时间

2017

6

2

指导单位

计算机学院计算机系统与网络教学中心

指导教师

 

学生姓名

班级学号

学院(系)

计算机学院

专业

计算机科学与技术

 

实验报告

实验名称

综合图形界面程序设计

指导教师

实验类型

上机

实验学时

2

实验时间

2017.06.02

一、实验目的和要求

学习和理解JAVASWING中的容器,部件,布局管理器和部件事件处理方法。

通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。

二、实验环境(实验设备)

1.PC微型计算机系统

2.MicrosoftWindows操作系统

3.SUNJavaDevelopmentKit开发工具包

4.NetBeans开发工具

 

三、实验原理及内容

1.实验原理:

利用JAVASWING中的容器,部件,布局管理器和部件事件处理方法编写程序。

2.实验内容:

设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。

 

实验报告

3.实验关键代码:

(省略了设计产生的格式、字体、样式等代码,保留主要代码)

publicclassNewJFrameextendsjavax.swing.JFrame{

privatefinalStrings[]={"美元USD","人民币CNY","日元JPY","欧元EUR","英镑GBP","澳元AUD"};

privatefinalfloatrate[]={1,(float)6.88,(float)111.599,(float)0.892,(float)0.778,(float)1.353};

privatedoublesum;//兑换后的金额

JButtonbutton;

publicNewJFrame(){

initComponents();

}

privatevoidinitComponents(){

jPanel1=newjavax.swing.JPanel();

jLabel1=newjavax.swing.JLabel();

jTextField1=newjavax.swing.JTextField();

jTextField2=newjavax.swing.JTextField();

jButton1=newjavax.swing.JButton();

jButton2=newjavax.swing.JButton();

jComboBox1=newjavax.swing.JComboBox<>();

jComboBox2=newjavax.swing.JComboBox<>();

jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

jLabel1.setText("汇率转换");

jComboBox1.setModel(newjavax.swing.DefaultComboBoxModel<>(newString[]{"美元USD","人民币CNY","日元JPY","欧元EUR","英镑GBP","澳元AUD"}));

jTextField1.setFont(newjava.awt.Font("宋体",0,18));//NOI18N

jTextField2.setFont(newjava.awt.Font("宋体",0,18));//NOI18N

jButton1.setText("转换");

jButton1.addActionListener(newjava.awt.event.ActionListener(){

publicvoidactionPerformed(java.awt.event.ActionEventevt){

jButton1ActionPerformed(evt);

}

});

jButton2.setText("清零");

jButton2.addActionListener(newjava.awt.event.ActionListener(){

publicvoidactionPerformed(java.awt.event.ActionEventevt){

jButton2ActionPerformed(evt);

}

});

jComboBox2.setModel(newjavax.swing.DefaultComboBoxModel<>(newString[]{"美元USD","人民币CNY","日元JPY","欧元EUR","英镑GBP","澳元AUD",""}));

pack();

}

//button1“转换”按钮功能的实现

privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){

//TODOaddyourhandlingcodehere:

JButtonbutton3=(JButton)evt.getSource();

java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.000000");

Stringtext=jTextField1.getText();

Stringsum1;

intcbx=jComboBox1.getSelectedIndex();//记录下标

intcb1x=jComboBox2.getSelectedIndex();

if(button3==jButton1)

{

sum=Float.parseFloat(text);

if(sum>0)

{

sum1=df.format((double)rate[cb1x]/(double)rate[cbx]*sum);

jTextField2.setText(sum1);

}

else

jTextField2.setText("你输入的金额错误!

");

}

}

//button2“清零”按钮功能的实现

privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){

//TODOaddyourhandlingcodehere:

jTextField1.setText(null);

jTextField2.setText(null);

}

}

4.实验结果:

(1)我的汇率转换器主界面:

 

 

 

(2)测试输入结果页面:

 

 

实验报告

实验报告

四、实验小结(包括问题和解决方法、心得体会、意见与建议等)

1.通过本次试验,我大概理解了JAVASWING中的容器,部件,布局管理器和部件事件处理方法,学会了使用JAVASWING来设计简单的java程序。

通过编写调试程序,也掌握JAVA图形界面程序设计的基本方法。

本实验做了属于自己的第一个Java汇率转换器,收获了很多东西,成就感满满。

2.原来上课时候没有认真听讲,导致实验开始做时存在困难,不知从何下手。

通过求教同学和老师还有网络资源,找到了大致思路。

虽然最终自己实践是还是很多的错误需要调试,但是程序成功运行时的确非常开心。

3.此次实验,自己设计界面,总体算比较成功,但是仍有一些小bug使得程序不那么完美,比如:

 

 

可以看到,当转换结果小于1时,计算机自动省略了0.778000、0.012124中小数点前面的“0”,由于时间有限,且不影响整体使用效果,就暂时没有思考修改这个问题的解决办法。

待有时间时将尽力改好这个问题。

4.在设计的时候,不知道怎么不知相对布局,导致程序运行时小窗口的时候比较合适,一旦放大或者缩小窗口时,内容却不会相应变化,无法实现响应式布局。

期待后续能够解决这个问题。

5.本次实验,设计并不难,毕竟只需要部件拖拽即可实现设计布局。

于我而言,难在如何给按钮增加触发事件处理、和如何获取文本框和复选按钮的值并进行运算。

(1)获取文本信息:

Stringtext=jTextField1.getText();

sum=Float.parseFloat(text);//并转换为可运算的数据浮点型格式

(2)获取复选按钮信息:

intcbx=jComboBox1.getSelectedIndex();//记录下标

intcb1x=jComboBox2.getSelectedIndex();

(3)“转换”计算过程:

if(sum>0)

{

sum1=df.format((double)rate[cb1x]/(double)rate[cbx]*sum);

jTextField2.setText(sum1);

}

else

jTextField2.setText("你输入的金额错误!

");

(4)“清零”功能实现:

JTextField1.setText(null);

jTextField2.setText(null);

 

五、指导教师评语

成绩

批阅人

日期

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2