【第22期】观点:IT 行业加班,到底有没有价值?

汇率转换(java界面设计程序)

原创 2016年06月01日 21:59:58

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

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class Frist extends JFrame{
	private JLabel j1;//汇率提示
	private JTextField hl;//汇率值,初始化的值是2016年5月31号的值,可自行设置
	private JLabel j2;//人民币提示
	private JTextField rmb;//人民币金额
	private JLabel j3;//美元提示
	private JLabel dl;//转换后的美元值
	private JButton quit;//退出按钮
	private JButton run;//计算按钮
	public Frist(){
		JFrame jf=new JFrame("汇率转换");
		Container container=jf.getContentPane();
		jf.setSize(500, 200);
		jf.setResizable(false); 
		Font font=new Font("行书",Font.TRUETYPE_FONT,20);//字体
		jf.setLayout(new GridLayout(3,1,10,10));//3行1列的网格布局
		JPanel jp1=new JPanel(new  BorderLayout());//边界布局的第一个面板
		j1=new JLabel("汇率:");
		j1.setFont(font);//设置字体
		jp1.add(BorderLayout.WEST,j1);
		hl=new JTextField(getWidth()/3);
		hl.setText("6.5785");
		jp1.add(BorderLayout.CENTER,hl);
		container.add(jp1);//添加到容器中
		JPanel jp2=new JPanel(new GridLayout(1,4));//第二个面板,一行四列的网格布局
		j2=new JLabel("人民币:");
		j2.setFont(font);
		jp2.add(j2);
		rmb=new JTextField("");
		jp2.add(rmb);
		j3=new JLabel("美元:");
		j3.setFont(font);
		jp2.add(j3);
		dl=new JLabel("等价美元金额");
		dl.setFont(font);
		dl.setForeground(Color.BLUE);
		jp2.add(dl);
		container.add(jp2);
		JPanel jp3=new JPanel();
		quit=new JButton("退出");
		quit.addActionListener(new listener());//添加监听器
		jp3.add(quit);
		run=new JButton("计算");
		run.addActionListener(new listener());//添加监听器
		jp3.add(run);
		container.add(jp3);
		jf.setVisible(true);
		jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	class listener implements ActionListener{

		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			switch(e.getActionCommand().toString()){
			case "退出":
				System.exit(0);//退出按钮
				break;
			case "计算"://计算按钮
				boolean result=rmb.getText().matches("(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)");//判断人民币金额是否输入的全是数字
				if(result){//全部是数字,进行计算
					double hv=Double.parseDouble(hl.getText().toString());
					double r=Double.parseDouble(rmb.getText().toString());
					DecimalFormat    df   = new DecimalFormat("0.00");   //格式化
					dl.setText(df.format(r/hv)+"");
				}else{
					dl.setText("含有非法字符");//含有其他字符,提示错误
				}
				break;
			}
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Frist();//创建对象
	}

}


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

基于Java Processing的仿真程序界面设计开发

这个主要是自己的一个项目的一部分内容,该项目已申请专利。 前面主要是姿态结算、传感器校准算法等,不是讨论的重点,等专利授权可以展开简单讲一下原理。这里,只讨论其中的一个附件。 下面介绍一下Proc...

Java图形用户界面设计

<p style="margin-top: 0px; margin-righ

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Mac实用软件及功能吐血总结

转自:http://blog.sina.com.cn/s/blog_64ac3ab10101f4it.html 本人一年半来跟踪Mac志(http://www.isofts.org/category...

Android用户界面设计之创建列表视图程序

列表视图(ListView)是Android平台下用于显示不定数量的数据最有

曾曲评《Visual Basic 2005 程序开发与界面设计秘诀》

VB程序员走向成功的终南捷径 ----评《Visual Basic 2005 程序开发与界面设计秘诀》 北京华通人商用信息有限公司 曾曲 <div st
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)