import java.awt.BorderLayout;
import java.awt.FlowLayout;
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;
/**
* 图形化界面的个人计算器
* @author 码农小江
* PersonalFax.java
* 2012-8-8下午11:29:25
*/
public class PersonalFax extends JFrame implements ActionListener{
JPanel panel1,panel2;
JButton button;
JTextField textField1,textField2,textField3;
/**
* 构造函数初始化完成各种组件
*/
public PersonalFax(){
textField1 = new JTextField();
textField2 = new JTextField();
textField3 = new JTextField();
button = new JButton("初始化带字符串的按钮");
panel1 = new JPanel();
panel2 = new JPanel();
panel1.setLayout(new GridLayout(3,2));
panel2.setLayout(new FlowLayout());
panel1.add(new JLabel("居民收入:"));
panel1.add(textField1);
panel1.add(new JLabel("扣除个人所得税金额:"));
panel1.add(textField2);
panel1.add(new JLabel("税后收入:"));
panel1.add(textField3);
panel2.add(button);
add(panel1,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
button.addActionListener(this);
setSize(400,300);
setVisible(true);
setAlwaysOnTop(true);
setTitle("个人计算器图形版");
}
@Override
public void actionPerformed(ActionEvent e) {
double n1, s1=1, s2=1;
DecimalFormat format = new DecimalFormat("0.00");//精确到小数点后两位
n1 = Double.parseDouble(textField1.getText());//获得用户输入
if(n1>=0 && n1 <=1500){
s1=n1*0;
}
if(n1>=1500 && n1<=3000){
s1=n1*0.05;
}
if(n1>=3000){
s1=3000*0.1;
}
s2 = n1-s1;
textField2.setText("个人所得税是:"+format.format(s1));//显示结果
textField3.setText("税后收入是:"+format.format(s2));
}
public static void main(String args[]){
new PersonalFax();
/**
* 这儿直接初始化,相当于调用了构造函数,而构造函数里边初始化了好多的组件;
* 相当于继承自JFrame,然后往里边添加了两个面板。面板一上显示标签和数据。
* 面板而上显示按钮,在按钮上设置监听。这儿并不需要像android代码一样的addActionListen()
* 因为实现了某个接口。然后还要实现该接口中的方法。监听方法对于这个类的实例化对象都成立。不需要额外的添加
*
*/
}
}
java代码写的图形化个人收入计算器
最新推荐文章于 2023-01-07 00:00:00 发布
