Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.GridLayout;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.swing.border.EmptyBorder;
- public class IncomeTax2 extends JFrame implements ItemListener
- {
- private JTextField jtfIncome;
- private JTextField jtfTax;
- private JButton jbCalculate;
- private JComboBox jcb;
- private JLabel info;
- private String[] fsChoice =
- {
- "", "Single", "Married filing jointly", "Married filing separately",
- "Head of Household"
- };
- int income;
- double tax;
- private String fillingStatus;
- public static void main(String[] args)
- {
- JFrame frame = new IncomeTax2();
- frame.pack();
- frame.setTitle("Income Tax Calculator");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setLocationRelativeTo(null);
- frame.setVisible(true);
- }
- public IncomeTax2()
- {
- JPanel p = new JPanel();
- p.setLayout(new GridLayout(3, 2, 5, 5));
- p.setBorder(new EmptyBorder(5, 5, 5, 5));
- p.add(jcb = new JComboBox(fsChoice));
- p.add(jtfIncome = new JTextField(8));
- p.add(info = new JLabel("Pick filling status and "
- + "enter taxable income"));
- p.add(jbCalculate = new JButton("Calculate"));
- p.add(jtfTax = new JTextField(16));
- jtfTax.setEditable(false);
- setLayout(new BorderLayout());
- jtfTax.setHorizontalAlignment(JTextField.RIGHT);
- add(p, BorderLayout.CENTER);
- jtfIncome.addKeyListener(new KeyAdapter()
- {
- public void keyTyped(KeyEvent e)
- {
- char c = e.getKeyChar();
- if (!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) ||
- c == KeyEvent.VK_DELETE || c == KeyEvent.VK_ENTER))
- {
- Toolkit.getDefaultToolkit().beep();
- System.out.println("User must enter a digit.");
- e.consume();
- }
- }
- });
- jcb.addItemListener(this);
- jbCalculate.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- calculate();
- }
- });
- jtfIncome.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- String inputStr = jtfIncome.getText();
- income = Integer.parseInt(inputStr);
- }
- });
- }
- public void itemStateChanged(ItemEvent e)
- {
- if (e.getStateChange() == ItemEvent.SELECTED)
- {
- fillingStatus = (String) jcb.getSelectedItem();
- switch (fillingStatus)
- {
- case "Single":
- if (income <= 8350)
- {
- tax = income * 0.10;
- System.out.println("case[1]");
- System.out.println("Tax = " + tax);
- }
- ;
- break;
- }
- }
- }
- public void calculate()
- {
- jtfTax.setText(((int)(tax * 100) / 100.0 + ""));
- }
- }
- tax = income * 0.10;
- income = Integer.parseInt(jtfIncome.getText());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement