📄 texframe.java
字号:
package 实验一;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class TexFrame extends JFrame{ JTable table; Object name[]={"级别","应纳所得额(>)","应纳所得额(<=)","税率"}; Object level[][]={{1,0,500,0.05},{2,500,2000,0.10}, {3,2000,5000,0.15},{4,5000,20000,0.20}, {5,20000,"",0.25}}; //设置表格个单元的初始值 JPanel p,p1; JButton count; //计算按钮 JButton change; //修改免征基数按钮 JTextField start; //显示免征基数 JTextField input; //输入计算总额 JTextField output; //输出计算结果 TexFrame(String s) { super(s); start=new JTextField(10); start.setText(JumpoffPoint+""); //默认初始显示1600 change=new JButton("修改免征基数"); count=new JButton("计算"); input=new JTextField(10); output=new JTextField(10); table=new JTable(level,name){ public boolean isCellEditable(int row, int column){ if (column==0||column==1||column==2) return false; else return true; } }; //新建表格,并设置第一、二、三列不可修改 p1=new JPanel(); p1.add(new JLabel("免征基数")); p1.add(start); p1.add(change); p=new JPanel(); p.add(new JLabel("输入金额")); p.add(input); //input.setText(money+""); //输入金额初始显示0 p.add(count); ah=new ActionHandler(this); count.addActionListener(ah); //添加事件监听器 change.addActionListener(ah); //添加事件监听器 p.add(new JLabel("应纳的税额")); p.add(output); //设置窗口布局 getContentPane().add(p1,BorderLayout.NORTH); getContentPane().add(p,BorderLayout.SOUTH); getContentPane().add(new JScrollPane(table),BorderLayout.CENTER); setSize(500,250); setLocation(300,100); setVisible(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void setMoney(float m) { //设置计算金额 money=m; } public float getResult() { //获取计算结果 return result; } public void chJumpoffPoint(int m) {//修改免征基数 JumpoffPoint=m; } private int countLevel(float m) {//判断输入金额所在的层次 if (m<=JumpoffPoint) return 0; else if (m-JumpoffPoint<=Integer.parseInt(level[0][2].toString())) return 1; else if (m-JumpoffPoint<=Integer.parseInt(level[1][2].toString())) return 2; else if (m-JumpoffPoint<=Integer.parseInt(level[2][2].toString())) return 3; else if (m-JumpoffPoint<=Integer.parseInt(level[3][2].toString())) return 4; else return 5; } public void counter(){ //计算个人所得税 switch(countLevel(money)){ case 0: //收入未达到起征点 result=0; break; case 1: //第一层 result=((money - JumpoffPoint) * Float.parseFloat(level[0][3].toString())); break; case 2: //第二层 result= Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString()) +(money-JumpoffPoint-Integer.parseInt(level[1][1].toString()))*Float.parseFloat(level[1][3].toString()); break; case 3: //第三层 result= Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString()) +(Integer.parseInt(level[1][2].toString())-Integer.parseInt(level[1][1].toString()))*Float.parseFloat(level[1][3].toString()) +(money-JumpoffPoint-Integer.parseInt(level[2][1].toString()))*Float.parseFloat(level[2][3].toString()); break; case 4: //第四层 result= Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString()) +(Integer.parseInt(level[1][2].toString())-Integer.parseInt(level[1][1].toString())*Float.parseFloat(level[1][3].toString())) +(Integer.parseInt(level[2][2].toString())-Integer.parseInt(level[2][1].toString()))*Float.parseFloat(level[2][3].toString()) +(money-JumpoffPoint-Integer.parseInt(level[3][1].toString()))*Float.parseFloat(level[3][3].toString()); break; case 5: //第五层 result= Integer.parseInt(level[0][2].toString())*Float.parseFloat(level[0][3].toString()) +(Integer.parseInt(level[1][2].toString())-Integer.parseInt(level[1][1].toString())*Float.parseFloat(level[1][3].toString())) +(Integer.parseInt(level[2][2].toString())-Integer.parseInt(level[2][1].toString()))*Float.parseFloat(level[2][3].toString()) +(Integer.parseInt(level[3][2].toString())-Integer.parseInt(level[3][1].toString()))*Float.parseFloat(level[3][3].toString()) +(money-JumpoffPoint-Integer.parseInt(level[4][1].toString()))*Float.parseFloat(level[4][3].toString()); break; } } private float money=0; //输入计算金额 private float result; //计算结果 private int JumpoffPoint=1600; //起征点 private ActionHandler ah; //事件响应}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -