您的位置:首页 > 其它

计算个人所得税程序

2014-02-19 10:53 375 查看
计算个人所得税程序,经过计算,真实可用
import java.awt.Choice;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.List;
import java.awt.ScrollPane;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.lang.String;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

//用户登录界面
public class GRS extends Frame implements ActionListener {
private static final long serialVersionUID = 6347084101268070174L;
static double base = 1600; // 免征基数
static double[] taxRate = { 0.05, 0.10, 0.15, 0.20, 0.25 };// 各级税率

public static void main(String[] args) {
Frame frame = new Frame();
new GRS(frame);
}

Label Label1 = new Label("用户名:");
TextField textfieldialog = new TextField("密码:123");
Label Label2 = new Label("用户密码:");
TextField textfield2 = new TextField(10);
Label Label5 = new Label("用户地区:");
Choice choice = new Choice();
Label Label6 = new Label("用户类别:");
List list = new List(2, false);
JButton button1 = new JButton("确定");
JButton button2 = new JButton("取消");
Dialog dialog = new Dialog(this, "提示信息", false);
ScrollPane sp = new ScrollPane();

public GRS(Frame frame) {
super("个人所得税查询");

add(Label1);
add(textfieldialog);
add(Label2);
textfield2.setEchoChar('*');
add(textfield2);
add(Label5);
choice.addItem("广东");
choice.addItem("上海");
choice.addItem("北京");
add(choice);
add(Label6);
list.add("普通用户");
list.add("管理员");
sp.add(list);
add(sp);
add(button1);
button1.addActionListener(this);
add(button2);
button2.addActionListener(this);
setLayout(new GridLayout(5, 2, 5, 20));
setBounds(430, 430, 300, 200);
setResizable(false);
setVisible(true);
addWindowListener(new windowclose());
}

public class windowclose extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);

}
}

// 主菜单
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("确定")) {
if (textfield2.getText().trim().equals("123")) {
addWindowListener(new windowclose());
JFrame f = new JFrame("主菜单");

JButton button5 = new JButton("1: 计算个人所得税");
JButton button6 = new JButton("2: 查询免征基数和税率");
JButton button7 = new JButton("3: 修改免征基数");
JButton button8 = new JButton("4: 修改税率");
f.add(button5);
f.add(button6);
f.add(button7);
f.add(button8);
button5.addActionListener(new ButAL());
button6.addActionListener(new ChaXun());
button7.addActionListener(new XiuGai1());
button8.addActionListener(new XiuGai2());
f.setLayout(new GridLayout(2, 2, 5, 20));
f.setBounds(385, 420, 400, 220);
f.setResizable(false);
f.setVisible(true);
}

else {
dialog.setLayout(new FlowLayout(FlowLayout.CENTER));
Label tf = new Label("对不起,密码错误,请重试");
dialog.add(tf);
dialog.setBounds(455, 430, 250, 60);
dialog.setResizable(false);
dialog.setVisible(true);
dialog.addWindowListener(new windowclose());
}
} else

System.exit(0);

}

// 计算个人所得税
private class ButAL implements ActionListener {
double income = -1; // 个人收入
double revenue = -1; // 个人所得税
JTextField testField;
JTextField resultField;
GRS r;

public void actionPerformed(ActionEvent event) {
JFrame f = new JFrame("个人所得税的计算");
JLabel jl = new JLabel("请输入你的工资:");
JLabel result = new JLabel("计算的结果:");
testField = new JTextField(5);
resultField = new JTextField(5);
JButton calculate = new JButton("计算");
calculate.addActionListener(new Calculate());
f.add(jl);
f.add(testField);
f.add(calculate);
f.add(result);
f.add(resultField);
f.setLayout(new GridLayout(2, 3, 3, 20));
f.setBounds(380, 500, 400, 100);
f.setResizable(false);

f.setVisible(true);
}

private class Calculate implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {
String s1 = testField.getText().trim();
income = Double.valueOf(s1);

double taxible = income - r.base;
if (taxible > 20000)
revenue = (taxible - 20000) * r.taxRate[4] + 15000
* r.taxRate[3] + 3000 * r.taxRate[2] + 1500
* r.taxRate[1] + 500 * r.taxRate[0];
else if (taxible > 5000)
revenue = (taxible - 5000) * r.taxRate[3] + 3000
* r.taxRate[2] + 1500 * r.taxRate[1] + 500
* r.taxRate[0];
else if (taxible > 2000)
revenue = (taxible - 2000) * r.taxRate[2] + 1500
* r.taxRate[1] + 500 * r.taxRate[0];
else if (taxible > 500)
revenue = (taxible - 500) * r.taxRate[1] + 500
* r.taxRate[0];
else if (taxible > 0)
revenue = taxible * r.taxRate[0];
else if (taxible <= 0)
revenue = 0;

String s2 = String.valueOf(revenue);
resultField.setText(s2);

}

}
}

// 查询免征基数和税率

private class ChaXun implements ActionListener {

GRS r;

@Override
public void actionPerformed(ActionEvent e) {

final JFrame f = new JFrame("查询"); // 窗体1
JTextField f1 = new JTextField();
JTextField f2 = new JTextField();
JTextField f3 = new JTextField();
JTextField f4 = new JTextField();
JTextField f5 = new JTextField();
JTextField f6 = new JTextField();
f.add(f1);
f1.setText("  免征基数为:" + String.valueOf(r.base)); // 输入免征基数
f.setLayout(new GridLayout(6, 1, 3, 5));
f.add(f2);
f.add(f3);
f.add(f4);
f.add(f5);
f.add(f6);
f2.setText("  一 级税率为:" + r.taxRate[0]);
f3.setText("  二 级税率为:" + r.taxRate[1]);
f4.setText("  三 级税率为:" + r.taxRate[2]);
f5.setText("  四 级税率为:" + r.taxRate[3]);
f6.setText("  五 级税率为:" + r.taxRate[4]);

f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
f.setVisible(false);
}
});
f.setBounds(385, 420, 400, 200);
f.setResizable(false);
f.setVisible(true);
}

}

// 修改免征基数

private class XiuGai1 implements ActionListener {

GRS r;
TextField tf = new TextField(10);
Frame f = new Frame("修改免征基数");

@Override
public void actionPerformed(ActionEvent e) {

f.add(new Label("现在的免征基数为:" + r.base), BorderLayout.NORTH);
f.add(new Label("请输入新的免征基数: "), BorderLayout.CENTER);
f.add(tf, BorderLayout.EAST);
tf.addActionListener(new TextFieldListener());

f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
f.setVisible(false);

}
});

f.setBounds(425, 460, 300, 120);
f.setResizable(false);
f.setVisible(true);
}

private class TextFieldListener implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {
String s = tf.getText().trim();
r.base = Double.valueOf(s);
tf.setText("修改成功!");
}
}

}

// 修改税率

private class XiuGai2 implements ActionListener {

int rateLevel = 0; // 客户要修改的税率级别
double newTaxRate = 0; // 修改后的税率

GRS r;
Frame f = null;
TextField tf1 = null;
TextField tf2 = null;

@Override
public void actionPerformed(ActionEvent e) {

f = new Frame("修改税率"); // 创建窗体
tf1 = new TextField(6);
tf2 = new TextField(6);
Panel p1 = new Panel();
Panel p2 = new Panel();

JButton ok1 = new JButton("确定");
ok1.addActionListener(new TF1Listener());

p1.add(new Label("请输入要修改的税率的级别:"), BorderLayout.WEST);
p1.add(tf1, BorderLayout.EAST);
p1.add(ok1, BorderLayout.EAST);
f.add(p1, BorderLayout.NORTH);

JButton ok2 = new JButton("确定");
ok2.addActionListener(new TF2Listener());

f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
f.setVisible(false);

}
});

p2.add(new Label(" 请输入你确定修改后的税率:"), BorderLayout.WEST);
p2.add(tf2, BorderLayout.EAST);
p2.add(ok2);
f.add(p2, BorderLayout.SOUTH);
f.setLayout(new GridLayout(2, 3, 3, 15));
f.setBounds(425, 460, 550, 120);
f.pack();
f.setVisible(true);

}

private class TF1Listener implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {
String s1 = tf1.getText().trim();
rateLevel = Integer.valueOf(s1);
if (rateLevel > 0 && rateLevel < 6) {
r.taxRate[rateLevel - 1] = rateLevel; // 修改税率级别
tf1.setText("请继续!");
} else {
tf1.setText("税率级别错误,修改失败!");
}
}

}

private class TF2Listener implements ActionListener {

@Override
public void actionPerformed(ActionEvent e) {
String s2 = tf2.getText().trim();
double d = Double.valueOf(s2);
r.taxRate[rateLevel - 1] = d;
tf2.setText("修改成功!");

}

}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: