汇率转换(java界面设计程序)
2016-06-01 21:59
711 查看
设计和编写一个用于将人民币转换为等值的美元的程序,界面要求可以输入人民币的金额并可以得到转换后的结果。
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);4000dl.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{@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubswitch(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 stubnew Frist();//创建对象}}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树