欢迎光临
我们一直在努力

南邮学报审稿周期,南邮 专升本

实验目的和要求:学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法。通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法。

?

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

?

附:程序使用的人民币外汇牌价参考

每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());香港vpsthis.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);}});}}

14996507

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。