求java⽤⼈民币来转换美元,NJUPTJAVA语⾔综合图形界⾯程
序设计
⼀、 实验⽬的和要求
学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理⽅法。
通过编写和调试程序,掌握JAVA图形界⾯程序设计的基本⽅法。
实验内容:
设计和编写⼀个⽤于将⼈民币转换为等值的美元的程序,界⾯要求可以输⼊⼈民币的⾦额并可以得到转换后的结果。
附:程序使⽤的⼈民币外汇牌价参考
每100元美元等值买⼊⼈民币数:619.72 (2015/5/23 数据)
⼆、实验代码
package think;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class java_exp_01rmb {
public static void main(String[] args) {
JFrame frame = new JFrame("⼈民币转换成美元");
frame.setResizable(false);//固定⼤⼩
JPanel panel = new JPanel();
panel.setBackground(new Color(250,250,250));
panel.setLayout(new GridLayout(5,1,10,10));
JLabel text1 = new JLabel("⼈民币:");
javaswing酷炫界面JLabel text2 = new JLabel("美元:");
JTextField rmbInput = new JTextField("");
JTextField dollarOutput = new JTextField("");
JButton bt = new JButton("转换");
frame.setBounds(300, 300, 210, 250);
panel.setBounds(0, 0, 200, 200);
panel.add(text1);
panel.add(rmbInput);
panel.add(text2);
panel.add(dollarOutput);
panel.add(bt);
frame.add(panel);
frame.setVisible(true);
bt.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
/
/ TODO Auto-generated method stub
double temp;
JButton bt = (JButton) e.getSource();
try{
temp = Double.Text()); dollarOutput.setText(""+temp/6.1972);
} catch(NumberFormatException n)
{
dollarOutput.setText("你输⼊的⾦额错误!");
}
}
});
}
}
三、界⾯
四、⼩结
整体的思路:
* 布局——设置⼀个swing顶层容器,再设置⼀个通⽤容器jpanel,采⽤gridlayout布局。布局⾥⽤五个组件,jpanel和jtextfield和⼀个jbutton。之后再采⽤⼀个监听⼀下button按钮。
遇到的问题和解决的⽅法:
* ⼀开始没有设置布局为GridLayout,直接⽤label默认的布局。虽然设置了setbounds但是不能按照理想的位置输出。后来百度看例⼦+看书,采⽤了GridLayout布局。耗时⼤概⼀⼩时10分钟。
* 在获取textfield的组件⾥的输⼊内容的时候,由于gettext的返回值是string,所以需要转换成double,之前没有做过这⽅⾯的内容,所以百度了⼀下看了例⼦。
*  settext中输出的形式需要注意,不可以直接给⼀个double类型的数据,但是可以连接在字符串之后输出。
* 优化了程序:对输⼊类型进⾏了控制,如果输⼊的不是数字会有异常输出。
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。