Advertisement
Guest User

Untitled

a guest
Apr 25th, 2014
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.GridLayout;
  3. import java.awt.Toolkit;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.awt.event.ItemEvent;
  7. import java.awt.event.ItemListener;
  8. import java.awt.event.KeyAdapter;
  9. import java.awt.event.KeyEvent;
  10. import javax.swing.JButton;
  11. import javax.swing.JComboBox;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JPanel;
  15. import javax.swing.JTextField;
  16. import javax.swing.border.EmptyBorder;
  17.  
  18. public class IncomeTax2 extends JFrame implements ItemListener
  19. {
  20.  
  21. private JTextField jtfIncome;
  22. private JTextField jtfTax;
  23. private JButton jbCalculate;
  24. private JComboBox jcb;
  25. private JLabel info;
  26. private String[] fsChoice =
  27. {
  28. "", "Single", "Married filing jointly", "Married filing separately",
  29. "Head of Household"
  30. };
  31. int income;
  32. double tax;
  33. private String fillingStatus;
  34.  
  35. public static void main(String[] args)
  36. {
  37. JFrame frame = new IncomeTax2();
  38. frame.pack();
  39. frame.setTitle("Income Tax Calculator");
  40. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  41. frame.setLocationRelativeTo(null);
  42. frame.setVisible(true);
  43. }
  44.  
  45. public IncomeTax2()
  46. {
  47. JPanel p = new JPanel();
  48. p.setLayout(new GridLayout(3, 2, 5, 5));
  49. p.setBorder(new EmptyBorder(5, 5, 5, 5));
  50. p.add(jcb = new JComboBox(fsChoice));
  51. p.add(jtfIncome = new JTextField(8));
  52. p.add(info = new JLabel("Pick filling status and "
  53. + "enter taxable income"));
  54. p.add(jbCalculate = new JButton("Calculate"));
  55. p.add(jtfTax = new JTextField(16));
  56. jtfTax.setEditable(false);
  57. setLayout(new BorderLayout());
  58. jtfTax.setHorizontalAlignment(JTextField.RIGHT);
  59. add(p, BorderLayout.CENTER);
  60.  
  61. jtfIncome.addKeyListener(new KeyAdapter()
  62. {
  63. public void keyTyped(KeyEvent e)
  64. {
  65. char c = e.getKeyChar();
  66. if (!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) ||
  67. c == KeyEvent.VK_DELETE || c == KeyEvent.VK_ENTER))
  68. {
  69. Toolkit.getDefaultToolkit().beep();
  70. System.out.println("User must enter a digit.");
  71. e.consume();
  72. }
  73. }
  74. });
  75.  
  76. jcb.addItemListener(this);
  77.  
  78. jbCalculate.addActionListener(new ActionListener()
  79. {
  80. @Override
  81. public void actionPerformed(ActionEvent e)
  82. {
  83. calculate();
  84. }
  85. });
  86.  
  87. jtfIncome.addActionListener(new ActionListener()
  88. {
  89. public void actionPerformed(ActionEvent e)
  90. {
  91. String inputStr = jtfIncome.getText();
  92. income = Integer.parseInt(inputStr);
  93. }
  94. });
  95. }
  96.  
  97. public void itemStateChanged(ItemEvent e)
  98. {
  99. if (e.getStateChange() == ItemEvent.SELECTED)
  100. {
  101. fillingStatus = (String) jcb.getSelectedItem();
  102. switch (fillingStatus)
  103. {
  104. case "Single":
  105. if (income <= 8350)
  106. {
  107. tax = income * 0.10;
  108. System.out.println("case[1]");
  109. System.out.println("Tax = " + tax);
  110. }
  111. ;
  112. break;
  113. }
  114. }
  115. }
  116.  
  117. public void calculate()
  118. {
  119. jtfTax.setText(((int)(tax * 100) / 100.0 + ""));
  120. }
  121.  
  122. }
  123.  
  124. tax = income * 0.10;
  125.  
  126. income = Integer.parseInt(jtfIncome.getText());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement