南邮JAVA实验1--综合图形界面程序设计
2015-11-15 19:28
519 查看
实验目的和要求:学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法。通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。
实验内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
附:程序使用的人民币外汇牌价参考
每100元美元等值买入人民币数:619.72 (2015/5/23 数据)
下面这个是传统的,并没有使用JAVA的Swing拓展包
代码:
下面用了swing
代码:
实验内容:设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
附:程序使用的人民币外汇牌价参考
每100元美元等值买入人民币数:619.72 (2015/5/23 数据)
下面这个是传统的,并没有使用JAVA的Swing拓展包
代码:
//package cn.zhang.experiment_1; import java.awt.*; import java.awt.event.*; import java.math.BigDecimal; public class NotSwing { public static void main(String[] args){ new MyFrame("汇率转换").Run(); } } class MyFrame extends Frame{ private static final long serialVersionUID = 1L; TextField num1,num2; public MyFrame(String s) { super(s); } @SuppressWarnings("deprecation") public void Run(){ num1=new TextField(15); num2=new TextField(15); num2.enable(false);//设置美元文本框只读属性,横线表示这个方法已被废弃,SUN公司不推荐用,但还是可以用 Label lbplus1=new Label("人民币(元)");//设置标签 Label lbplus2=new Label("美元($)");//设置标签 Button button=new Button("汇率转换为"); button.addActionListener(new Listener()); this.addWindowListener(new MywindowCloseing() ); setLayout(new FlowLayout()); setBackground(Color.CYAN);//背景颜色 setSize(200,200); setLocation(400,300); add(lbplus1); add(num1); add(button); add(num2); add(lbplus2); setVisible(true); } /* 设置监听,按下按钮进行转换 */ public class Listener implements ActionListener{ public void actionPerformed(ActionEvent e) { double n1 = Double.parseDouble(num1.getText()); double ans=(double)(n1*100.00/619.72); //保留两位数 BigDecimal b = new BigDecimal(ans); double ans2 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); num2.setText("" + ans2); } } /* 设置监听,按下按钮关闭窗口*/ class MywindowCloseing extends WindowAdapter { public void windowClosing(WindowEvent e) { setVisible(false); System.exit(0); } } }
下面用了swing
代码:
package cn.zhang.experiment_1; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.math.BigDecimal; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; /** * 使用Swing; * @author zyq_zhang * */ public class UseSwing { public static void main(String[] args){ new MyFrame2("汇率转换").Run(); } } class MyFrame2 extends Frame{ private static final long serialVersionUID = 1L; public MyFrame2(String s) { super(s); } public void Run(){ JPanel jp=new JPanel(); JLabel label1=new JLabel("人民币"); JTextField rmb=new JTextField(10); JButton button=new JButton("汇率转换为"); JTextField my=new JTextField(10); my.setEnabled(false);//设置美元文本框只读属性 JLabel label2=new JLabel("美元"); this.setBackground(Color.GRAY); this.add(jp); jp.setLayout(new FlowLayout()); jp.add(label1); jp.add(rmb); jp.add(button); jp.add(my); jp.add(label2); button.setActionCommand("rmb"); this.setSize(300, 300); this.setLocation(500, 300); this.setVisible(true); //事件监听,关闭窗口 this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { System.exit(0); } }); //事件监听,汇率转换 button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String s1 = rmb.getText(); double rmbnumber = Double.parseDouble(s1); double mynumber = rmbnumber * 100.00 / 619.72; BigDecimal b = new BigDecimal(mynumber); double ans = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); String s2 = String.valueOf(ans); my.setText(s2); } }); } }
相关文章推荐
- Java包重点总结
- java开发环境配置(1)——JDK配置
- Java记录 -80- 深入理解枚举(Enums)
- Java记录 -79- 枚举(Enums)
- Java 正则表达式详解
- 关于eclipse导工程或移植工程常碰到的错误汇总
- 运用java求逻辑性相关的题目
- JAVA相关基础知识
- Java中的设计模式应用(23种)
- java设计模式--模板模式
- 【Java基础】用LinkedList实现一个简单栈的功能
- java.lang.OutOfMemoryError: PermGen space从解决方法中认识堆与非堆
- Java Callable接口应用举例
- guava文件操作
- gradle入门到实践2
- eclipse连接数据库
- java WebService简单使用案例
- java字符串中多个空格替换成一个空格
- java笔记 IO流
- 《Spring实战》第三版笔记