JAVASWING图形界面程序设计实验报告(附完整代码)
一、 课题内容和要求内容设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。要求学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法。通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。 二、设计思路分析class RMBtoDollar主类,调用主函数。class change设置界面,并通过界面上的事件触发实现汇率转换。 三、概要设计
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(); public void mousePressed(MouseEvent e); public void mouseClicked(MouseEvent e); public void mouseEntered(MouseEvent e); public void mouseExited(MouseEvent e); public void mouseReleased(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); this.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){ //tf2 test 默认初始设为空 if (tf2.getText() != null) { tf2.setText(""); } } public void mouseClicked(MouseEvent e){ } public void mouseEntered(MouseEvent e){ } public void mouseExited(MouseEvent e){ } public void mouseReleased(MouseEvent e){ //检查tf1 test 是否为空 if(tf1.getText() != null) { 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、熟悉了JAVASWING中的容器、组件、布局以及事件监视器和事件接口的使用 3、在逐步地优化和调试中实现了一个较实用的界面。