package MeinBudgetView; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JTextField; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import java.awt.Font; import javax.swing.JComboBox; import javax.swing.JTextArea; import java.awt.Color; import javax.swing.JSeparator; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.border.EtchedBorder; import javax.swing.border.MatteBorder; import javax.swing.border.BevelBorder; import javax.swing.border.TitledBorder; import javax.swing.UIManager; public class MeinGui extends JFrame implements ActionListener, KeyListener { private JPanel contentPane; public static JTextField text1; public static JTextField text2; JLabel labelBudgetImage; JLabel labelExpensesImage; JLabel labelBalancetImage; JLabel labelHauptImage; JButton senden; JButton berechne; JLabel leeren; JButton loeschen; JButton exit; public static JLabel budgetDispaly; public static JLabel expensesDisplay; public static JLabel balanceDisplay; public static double budget; public static double expenses; public static double balance; public static JTextField textExpensesName; public static JLabel ausgabenName; private static JLabel ausgabenBetrag; private static JLabel budgetBetrag; private static JTable myTable; public MeinGui() { setTitle("Budget"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 654, 368); contentPane = new JPanel(); contentPane.setBackground(Color.orange); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); this.berechne = new JButton("Berechne"); berechne.setBounds(78, 281, 110, 23); berechne.setToolTipText(""); contentPane.add(berechne); this.senden = new JButton("Senden"); senden.setBounds(78, 126, 110, 23); contentPane.add(senden); text1 = new JTextField(); text1.setBounds(60, 97, 128, 20); contentPane.add(text1); text1.setColumns(10); text2 = new JTextField(); text2.setBounds(60, 250, 128, 20); contentPane.add(text2); text2.setColumns(10); labelHauptImage = new JLabel(""); labelHauptImage.setBounds(10, 0, 86, 61); Image image0 = new ImageIcon(this.getClass().getResource("/budgetapp.png")).getImage(); labelHauptImage.setIcon(new ImageIcon(image0)); labelHauptImage.setFont(new Font("Tahoma", Font.BOLD, 13)); contentPane.add(labelHauptImage); JLabel budgetEingeben = new JLabel("Budget eingeben"); budgetEingeben.setBounds(10, 72, 110, 20); budgetEingeben.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14)); contentPane.add(budgetEingeben); JLabel labelBudget = new JLabel("Budget"); labelBudget.setBounds(255, 8, 46, 14); contentPane.add(labelBudget); JLabel labelExpenses = new JLabel("Expenses"); labelExpenses.setBounds(390, 8, 56, 14); contentPane.add(labelExpenses); JLabel labelBalance = new JLabel("Balance"); labelBalance.setBounds(543, 8, 46, 14); contentPane.add(labelBalance); labelBudgetImage = new JLabel(""); labelBudgetImage.setBounds(255, 22, 46, 55); Image image1 = new ImageIcon(this.getClass().getResource("/money.png")).getImage(); labelBudgetImage.setIcon(new ImageIcon(image1)); contentPane.add(labelBudgetImage); labelExpensesImage = new JLabel(""); labelExpensesImage.setBounds(400, 22, 46, 55); Image image2 = new ImageIcon(this.getClass().getResource("/wings-icon.png")).getImage(); labelExpensesImage.setIcon(new ImageIcon(image2)); contentPane.add(labelExpensesImage); labelBalancetImage = new JLabel("New labelBalance"); labelBalancetImage.setBounds(543, 22, 34, 55); Image image3 = new ImageIcon(this.getClass().getResource("/Money-icon.png")).getImage(); labelBalancetImage.setIcon(new ImageIcon(image3)); contentPane.add(labelBalancetImage); JLabel budgetAusgeben = new JLabel("Ausgaben"); budgetAusgeben.setBounds(10, 185, 63, 14); budgetAusgeben.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14)); contentPane.add(budgetAusgeben); this.leeren = new JLabel("Leeren"); leeren.setBounds(317, 253, 115, 14); leeren.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14)); contentPane.add(leeren); this.loeschen = new JButton("L\u00F6schen"); loeschen.setBounds(301, 281, 89, 23); contentPane.add(loeschen); this.exit = new JButton("Exit\r\n"); exit.setBounds(477, 281, 95, 23); contentPane.add(exit); JLabel beendne = new JLabel("Beenden"); beendne.setBounds(491, 253, 81, 14); beendne.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14)); contentPane.add(beendne); budgetDispaly = new JLabel("0.0 \u20AC"); budgetDispaly.setBounds(255, 82, 86, 14); budgetDispaly.setFont(new Font("Tahoma", Font.BOLD, 12)); contentPane.add(budgetDispaly); expensesDisplay = new JLabel("0.0 \u20AC"); expensesDisplay.setBounds(390, 82, 110, 14); expensesDisplay.setFont(new Font("Tahoma", Font.BOLD, 12)); contentPane.add(expensesDisplay); balanceDisplay = new JLabel("0.0 \u20AC"); balanceDisplay.setBounds(543, 82, 85, 14); balanceDisplay.setFont(new Font("Tahoma", Font.BOLD, 12)); contentPane.add(balanceDisplay); textExpensesName = new JTextField(); textExpensesName.setBounds(60, 221, 128, 20); textExpensesName.setToolTipText(""); contentPane.add(textExpensesName); textExpensesName.setColumns(10); ausgabenName = new JLabel(" Name"); ausgabenName.setBounds(10, 224, 46, 14); contentPane.add(ausgabenName); ausgabenBetrag = new JLabel(" Betrag"); ausgabenBetrag.setBounds(10, 253, 46, 14); contentPane.add(ausgabenBetrag); budgetBetrag = new JLabel(" Betrag"); budgetBetrag.setBounds(10, 100, 46, 14); contentPane.add(budgetBetrag); JScrollPane scrollPane_1 = new JScrollPane(); scrollPane_1.setBounds(347, 126, 136, 88); contentPane.add(scrollPane_1); myTable = new JTable(); myTable.setColumnSelectionAllowed(true); myTable.setCellSelectionEnabled(true); myTable.setBorder(UIManager.getBorder("Tree.editorBorder")); myTable.setFont(new Font("Tahoma", Font.BOLD, 11)); myTable.setModel(new DefaultTableModel(new Object[][] {}, new String[] { "Name", "Kosten" }) { Class[] columnTypes = new Class[] { String.class, Integer.class }; public Class getColumnClass(int columnIndex) { return columnTypes[columnIndex]; } boolean[] columnEditables = new boolean[] { false, false }; public boolean isCellEditable(int row, int column) { return columnEditables[column]; } }); scrollPane_1.setViewportView(myTable); text1.addActionListener(this); text1.addKeyListener(this); text2.addActionListener(this); text2.addKeyListener(this); senden.addActionListener(this); senden.addKeyListener(this); berechne.addActionListener(this); berechne.addKeyListener(this); loeschen.addActionListener(this); loeschen.addKeyListener(this); exit.addActionListener(this); exit.addKeyListener(this); } @Override public void actionPerformed(ActionEvent ae) { if (ae.getSource() == this.exit) { exitButton(); } if (ae.getSource() == this.loeschen) { leeren(); } budget = Double.parseDouble(text1.getText()); if (ae.getSource() == this.senden && (text1 != null && text2 != null)) { budgetDispaly.setText(setBudgetView()); } if (ae.getSource() == this.berechne && (text1 != null && text2 != null)) { DefaultTableModel tab = (DefaultTableModel) myTable.getModel(); tab.addRow(new Object[] { (textExpensesName.getText()), Double.parseDouble(text2.getText()) }); balance -= Double.parseDouble(text2.getText()); expenses += Double.parseDouble(text2.getText()); expensesDisplay.setText(setExpensesView()); balanceDisplay.setText(setBalanceView()); } } public static void exitButton() { System.exit(0); } public static void leeren() { text1.setText(""); text2.setText(""); budgetDispaly.setText("0.0 €"); expensesDisplay.setText("0.0 €"); balanceDisplay.setText("0.0 €"); textExpensesName.setText(""); ((DefaultTableModel) myTable.getModel()).setRowCount(0); } public static String setBudgetView() { String result = budget + " €"; return result; } public static String setBalanceView() { String result = budget - expenses + " €"; return result; } public static String setExpensesView() { String result = "-" + expenses + " €"; return result; } @Override public void keyTyped(KeyEvent e) { } @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_DELETE) { leeren(); } if (e.getKeyCode() == KeyEvent.VK_F5) { exitButton(); } } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } }