You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

249 lines
7.1 KiB

4 years ago
  1. package MeinBudgetView;
  2. import java.awt.EventQueue;
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.border.EmptyBorder;
  6. import javax.swing.JTextField;
  7. import java.awt.Image;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import javax.swing.ImageIcon;
  11. import javax.swing.JButton;
  12. import javax.swing.JLabel;
  13. import javax.swing.JOptionPane;
  14. import java.awt.Font;
  15. import javax.swing.JComboBox;
  16. import javax.swing.JTextArea;
  17. import java.awt.Color;
  18. import javax.swing.JSeparator;
  19. import javax.swing.JScrollPane;
  20. import javax.swing.JTable;
  21. import javax.swing.table.DefaultTableModel;
  22. import javax.swing.border.EtchedBorder;
  23. import javax.swing.border.MatteBorder;
  24. import javax.swing.border.BevelBorder;
  25. import javax.swing.border.TitledBorder;
  26. import javax.swing.UIManager;
  27. public class MeinGui extends JFrame implements ActionListener {
  28. private JPanel contentPane;
  29. public static JTextField text1;
  30. public static JTextField text2;
  31. JLabel labelBudgetImage;
  32. JLabel labelExpensesImage;
  33. JLabel labelBalancetImage;
  34. JLabel labelHauptImage;
  35. JButton senden;
  36. JButton hinzuf�gen;
  37. JLabel leeren;
  38. JButton loeschen;
  39. JButton exit;
  40. public static JLabel budgetDispaly;
  41. public static JLabel expensesDisplay;
  42. public static JLabel balanceDisplay;
  43. private JTextField textExpensesName;
  44. /**
  45. * Launch the application.
  46. */
  47. public static void main(String[] args) {
  48. EventQueue.invokeLater(new Runnable() {
  49. public void run() {
  50. try {
  51. MeinGui frame = new MeinGui();
  52. frame.setVisible(true);
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. });
  58. }
  59. /**
  60. * Create the frame.
  61. */
  62. public MeinGui() {
  63. setTitle("Budget");
  64. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  65. setBounds(100, 100, 654, 368);
  66. contentPane = new JPanel();
  67. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  68. setContentPane(contentPane);
  69. contentPane.setLayout(null);
  70. this.hinzuf�gen = new JButton("Hinzuf�gen");
  71. hinzuf�gen.setToolTipText("");
  72. hinzuf�gen.setBounds(78, 281, 110, 23);
  73. contentPane.add(hinzuf�gen);
  74. this.senden = new JButton("Senden");
  75. senden.setBounds(78, 126, 110, 23);
  76. contentPane.add(senden);
  77. text1 = new JTextField();
  78. text1.setBounds(60, 97, 128, 20);
  79. contentPane.add(text1);
  80. text1.setColumns(10);
  81. text2 = new JTextField();
  82. text2.setBounds(60, 250, 128, 20);
  83. contentPane.add(text2);
  84. text2.setColumns(10);
  85. labelHauptImage = new JLabel("");
  86. Image image0 = new ImageIcon(this.getClass().getResource("/budgetapp.png")).getImage();
  87. labelHauptImage.setIcon(new ImageIcon(image0));
  88. labelHauptImage.setFont(new Font("Tahoma", Font.BOLD, 13));
  89. labelHauptImage.setBounds(10, 0, 86, 61);
  90. contentPane.add(labelHauptImage);
  91. JLabel budgetEingeben = new JLabel("Budget eingeben");
  92. budgetEingeben.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14));
  93. budgetEingeben.setBounds(10, 72, 110, 20);
  94. contentPane.add(budgetEingeben);
  95. JLabel labelBudget = new JLabel("Budget");
  96. labelBudget.setBounds(255, 8, 46, 14);
  97. contentPane.add(labelBudget);
  98. JLabel labelExpenses = new JLabel("Expenses");
  99. labelExpenses.setBounds(390, 8, 56, 14);
  100. contentPane.add(labelExpenses);
  101. JLabel labelBalance = new JLabel("Balance");
  102. labelBalance.setBounds(543, 8, 46, 14);
  103. contentPane.add(labelBalance);
  104. labelBudgetImage = new JLabel("");
  105. Image image1 = new ImageIcon(this.getClass().getResource("/money.png")).getImage();
  106. labelBudgetImage.setIcon(new ImageIcon(image1));
  107. labelBudgetImage.setBounds(255, 22, 46, 55);
  108. contentPane.add(labelBudgetImage);
  109. labelExpensesImage = new JLabel("");
  110. Image image2 = new ImageIcon(this.getClass().getResource("/wings-icon.png")).getImage();
  111. labelExpensesImage.setIcon(new ImageIcon(image2));
  112. labelExpensesImage.setBounds(400, 22, 46, 55);
  113. contentPane.add(labelExpensesImage);
  114. labelBalancetImage = new JLabel("New labelBalance");
  115. Image image3 = new ImageIcon(this.getClass().getResource("/Money-icon.png")).getImage();
  116. labelBalancetImage.setIcon(new ImageIcon(image3));
  117. labelBalancetImage.setBounds(543, 22, 34, 55);
  118. contentPane.add(labelBalancetImage);
  119. JLabel budgetAusgeben = new JLabel("Ausgaben");
  120. budgetAusgeben.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14));
  121. budgetAusgeben.setBounds(10, 185, 63, 14);
  122. contentPane.add(budgetAusgeben);
  123. this.leeren = new JLabel("Eintr\u00E4ge leeren");
  124. leeren.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14));
  125. leeren.setBounds(363, 246, 115, 14);
  126. contentPane.add(leeren);
  127. this.loeschen = new JButton("L\u00F6schen");
  128. loeschen.setBounds(368, 273, 89, 23);
  129. contentPane.add(loeschen);
  130. this.exit = new JButton("Exit\r\n");
  131. exit.setBounds(494, 273, 95, 23);
  132. contentPane.add(exit);
  133. JLabel beendne = new JLabel("Beenden");
  134. beendne.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14));
  135. beendne.setBounds(508, 246, 81, 14);
  136. contentPane.add(beendne);
  137. budgetDispaly = new JLabel("0.0 \u20AC");
  138. budgetDispaly.setFont(new Font("Tahoma", Font.BOLD, 12));
  139. budgetDispaly.setBounds(255, 82, 86, 14);
  140. contentPane.add(budgetDispaly);
  141. expensesDisplay = new JLabel("0.0 \u20AC");
  142. expensesDisplay.setFont(new Font("Tahoma", Font.BOLD, 12));
  143. expensesDisplay.setBounds(390, 82, 110, 14);
  144. contentPane.add(expensesDisplay);
  145. balanceDisplay = new JLabel("0.0 \u20AC");
  146. balanceDisplay.setFont(new Font("Tahoma", Font.BOLD, 12));
  147. balanceDisplay.setBounds(543, 82, 85, 14);
  148. contentPane.add(balanceDisplay);
  149. textExpensesName = new JTextField();
  150. textExpensesName.setToolTipText("");
  151. textExpensesName.setBounds(60, 221, 128, 20);
  152. contentPane.add(textExpensesName);
  153. textExpensesName.setColumns(10);
  154. text1.addActionListener(this);
  155. text2.addActionListener(this);
  156. senden.addActionListener(this);
  157. hinzuf�gen.addActionListener(this);
  158. loeschen.addActionListener(this);
  159. exit.addActionListener(this);
  160. }
  161. @Override
  162. public void actionPerformed(ActionEvent ae) {
  163. if (ae.getSource() == this.exit) {
  164. exitButton();
  165. }
  166. if (ae.getSource() == this.loeschen) {
  167. leerButton();
  168. }
  169. Calculations.setBudget(Integer.parseInt(text1.getText()));
  170. if (ae.getSource() == this.senden && (text1 != null && text2 != null)) {
  171. budgetDispaly.setText(setBudgetView());
  172. }
  173. if (ae.getSource() == this.hinzuf�gen && (text1 != null && text2 != null)) {
  174. int temp = Integer.parseInt(text2.getText());
  175. Calculations.setExpense(Calculations.getBudget() - temp);
  176. expensesDisplay.setText(setExpensesView());
  177. Calculations.setBalance(Integer.parseInt(text1.getText()) - Integer.parseInt(text2.getText())) ;
  178. balanceDisplay.setText(setBalanceView());
  179. }
  180. }
  181. public void exitButton() {
  182. System.exit(0);
  183. }
  184. public static void leerButton() {
  185. text1.setText("");
  186. text2.setText("");
  187. budgetDispaly.setText("");
  188. expensesDisplay.setText("");
  189. balanceDisplay.setText("");
  190. }
  191. public static String setBudgetView() {
  192. String result = Calculations.getBudget() + " �";
  193. return result;
  194. }
  195. public static String setExpensesView() {
  196. String result = Calculations.getExpense() - Calculations.getBudget() + " �";
  197. return result;
  198. }
  199. public static String setBalanceView() {
  200. String result = Calculations.getBalance() + " �";
  201. return result;
  202. }
  203. }