|
|
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_L) { leeren(); } if (e.getKeyCode() == KeyEvent.VK_F5) { exitButton(); } }
@Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub
}
}
|