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.
286 lines
7.9 KiB
286 lines
7.9 KiB
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;
|
|
|
|
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;
|
|
private JTextField textExpensesName;
|
|
private JLabel ausgabenName;
|
|
private JLabel ausgabenBetrag;
|
|
private JLabel budgetBetrag;
|
|
private 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("Eintr\u00E4ge leeren");
|
|
leeren.setBounds(363, 246, 115, 14);
|
|
leeren.setFont(new Font("Estrangelo Edessa", Font.BOLD, 14));
|
|
contentPane.add(leeren);
|
|
|
|
this.loeschen = new JButton("L\u00F6schen");
|
|
loeschen.setBounds(368, 273, 89, 23);
|
|
contentPane.add(loeschen);
|
|
|
|
this.exit = new JButton("Exit\r\n");
|
|
exit.setBounds(494, 273, 95, 23);
|
|
contentPane.add(exit);
|
|
|
|
JLabel beendne = new JLabel("Beenden");
|
|
beendne.setBounds(508, 246, 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(323, 126, 197, 88);
|
|
contentPane.add(scrollPane_1);
|
|
|
|
myTable = new JTable();
|
|
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, true
|
|
};
|
|
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());
|
|
}
|
|
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
|
|
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;
|
|
}
|
|
}
|