JAVA SWING图形界面程序设计实验报告(附完整代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图形界面(GUI)程序设计
一、课题内容和要求
内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
要求:学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法。通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。二、设计思路分析
class RMBtoDollar:主类,调用主函数。
class change:设置界面,并通过界面上的事件触发实现汇率转换。
三、概要设计
public class RMBtoDollar{
public static void main(String[] args);
}
class change extends JFrame implements MouseListener { JLabel l1, l2,l3;
JTextField tf1, tf2;
JButton b;
double RMB, Dollar;
public change();
public void mousePressed(MouseEvent e);
public void mouseClicked(MouseEvent e);
public void mouseEntered(MouseEvent e);
public void mouseExited(MouseEvent e);
public void mouseReleaseed(MouseEvent e);//鼠标释放时进行转换}
四、详细设计
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RMBtoDollar {
public static void main(String[] args) {
new change();
}
}
class change extends JFrame implements MouseListener { JLabel l1, l2,l3;
JTextField tf1, tf2;
JButton b;
double RMB, Dollar;
public change() {//添加组件和设置布局
l1 = new JLabel("人民币/元:");
l2 = new JLabel("美元/dollar:");
l3=new JLabel("(汇率:6.17)");
tf1 = new JTextField(12);
tf2 = new JTextField(12);
b = new JButton("转换");
add(l1);
add(tf1);
add(l2);
add(tf2);
add(l3);
add(b);
setLayout(new FlowLayout(FlowLayout.CENTER));
setTitle("人民币转换为美元");
setBounds(300, 300, 300, 150);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.addMouseListener(this);//鼠标事件监视器
}
public void mousePressed(MouseEvent e) {
if (tf2.getText() != null) {// tf2 test 默认初始设为空
tf2.setText("");
}
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
if (tf1.getText() != null) {// 检查tf1 test 是否为空
try {// 取异常
RMB = Double.parseDouble(tf1.getText());// 字符转为double型
Dollar = RMB / 6.17;//转换
tf2.setText("" + Dollar);// 显示
} catch (Exception ex) {
tf1.setText("");// 如果输入不是数字,设为空
}
}
}
}
五、测试数据及其结果分析
1正常输入:
2输入字符串不能转为double型时清空输入框:
3结果:输出正常。
六、调试过程中的问题
一开始没有对输入流输入的字符串转为double型数据,导致不能转换,采用转为double型并抛出异常后解决了该问题。
七、程序设计总结
1、通过该实验掌握了JAVA图形界面程序设计的方法。
2、熟悉了JAVA SWING中的容器、组件、布局以及事件监视器和事件接口的使用。
3、在逐步地优化和调试中实现了一个较实用的界面。