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 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 { 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 int budget; public static int expenses; public static int balance; public static JTextField textExpensesName; public static JLabel ausgabenName; private static JLabel ausgabenBetrag; private static JLabel budgetBetrag; private static JTable myTable; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { MeinGui frame = new MeinGui(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public MeinGui() { setTitle("Budget"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 654, 368); contentPane = new JPanel(); 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); text2.addActionListener(this); senden.addActionListener(this); berechne.addActionListener(this); loeschen.addActionListener(this); exit.addActionListener(this); } @Override public void actionPerformed(ActionEvent ae) { if (ae.getSource() == this.exit) { exitButton(); } if (ae.getSource() == this.loeschen) { leerButton(); } budget = Integer.parseInt(text1.getText()); if (ae.getSource() == this.senden && (text1 != null && text2 != null)) { budgetDispaly.setText(setBudgetView()); } if (ae.getSource() == this.berechne && (text1 != null && text2 != null)) { expenses = budget - Integer.parseInt(text2.getText()); expensesDisplay.setText(setExpensesView()); balance = Integer.parseInt(text1.getText()) - Integer.parseInt(text2.getText()); balanceDisplay.setText(setBalanceView()); } DefaultTableModel tab = (DefaultTableModel)myTable.getModel(); tab.addRow(new Object [] {(textExpensesName.getText()) , Integer.parseInt(text2.getText())}); } public void exitButton() { System.exit(0); } public static void leerButton() { text1.setText(null); text2.setText(null); budgetDispaly.setText(null); expensesDisplay.setText(null); balanceDisplay.setText(null); textExpensesName.setText(null); ((DefaultTableModel)myTable.getModel()).setRowCount(0); } public static String setBudgetView() { String result = budget + " €"; return result; } public static String setExpensesView() { String result = expenses - budget + " €"; return result; } public static String setBalanceView() { String result = balance + " €"; return result; } }