现在的位置: 首页 > 综合 > 正文

java代码写的图形化个人收入计算器

2013年10月11日 ⁄ 综合 ⁄ 共 1749字 ⁄ 字号 评论关闭
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()
		 * 因为实现了某个接口。然后还要实现该接口中的方法。监听方法对于这个类的实例化对象都成立。不需要额外的添加
		 * 
		 */
		
	}
	
}

抱歉!评论已关闭.