Compare commits

...

18 Commits
main ... gui

Author SHA1 Message Date
Caner 6a3fffdc33 Fix: changed for loops to lambda & code refactor 2022-12-07 23:03:07 +01:00
Caner b837bddaa5 New: changed forEach to lambda
in kontoliste und kontoauszug
2022-12-05 16:01:20 +01:00
Caner 9423e4fe7a Fix: code refactoring 2022-12-05 14:32:16 +01:00
Caner 96aaf64dbe test commit 2022-12-05 14:26:58 +01:00
Caner e54748d16f Fix: fixed existing errors with frames 2022-12-05 13:46:05 +01:00
Caner Aliji 0405327506 Fix: added buttons to missing frames 2022-12-04 17:11:42 +01:00
Caner Aliji 1bbdf7aea5 New: frames for different kontotypes and methods 2022-12-04 14:10:36 +01:00
Caner Aliji d384b5ceac Fix: deleted non-working tests 2022-12-04 12:52:12 +01:00
Caner bc1c85afcd New: finished sparkontoframe 2022-12-04 00:18:39 +01:00
Caner e2666fb5a2 New: gui frames / Fix: order of frames 2022-12-03 18:53:18 +01:00
Caner d09bf5386f Fix: added & improved gui's / code refactoring 2022-12-02 14:33:14 +01:00
Caner 6f3e244767 Fix: improved gui & code refactoring 2022-12-02 13:09:54 +01:00
Caner Aliji 930c6b96b3 Fix: improved gui frames 2022-12-01 15:59:31 +01:00
Caner 0d4ec593e0 New: added/changed frames & code refactoring 2022-11-30 23:13:15 +01:00
Caner cdbd93c610 New: added/changed frames 2022-11-30 15:36:01 +01:00
Caner c0967d7fa2 New: KundeAnlegen panel 2022-11-30 14:41:17 +01:00
Caner 2b0940b5b5 New: added kundeanlegenframe 2022-11-28 15:19:18 +01:00
Caner 50e4fd4aaf New: removed ui & added gui 2022-11-28 14:26:04 +01:00
25 changed files with 2128 additions and 890 deletions

View File

@ -1,16 +1,20 @@
package de.hs_mannheim.informatik.bank; package de.hs_mannheim.informatik.bank;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
import de.hs_mannheim.informatik.bank.ui.UI; import de.hs_mannheim.informatik.bank.gui.AuswahlmenüFrame;
import de.hs_mannheim.informatik.bank.gui.HauptmenüFrame;
public class Main { public class Main {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
Banksystem bs = new Banksystem("Spaßkasse Mannheim"); Banksystem bs = new Banksystem("Spaßkasse Mannheim");
UI ui = new UI(bs); HauptmenüFrame hmf = new HauptmenüFrame(bs);
AuswahlmenüFrame amf = new AuswahlmenüFrame(bs);
} }
} }

View File

@ -1,27 +0,0 @@
// package de.hs_mannheim.informatik.bank.domain;
// import static org.junit.jupiter.api.Assertions.assertEquals;
// import static org.junit.jupiter.api.Assertions.assertFalse;
// import static org.junit.jupiter.api.Assertions.assertTrue;
// import org.junit.jupiter.api.Test;
// class GirokontoTest {
// @Test
// void testÜberziehung() {
// Konto k = new Girokonto("Müller", 0);
// k.einzahlen(10000, "Test", "Einzahlung", "JUnit");
// assertTrue(k.auszahlen(20000, "Test", "Einzahlung", "JUnit"));
// assertEquals(-10000, k.getKontostand());
// assertTrue(k.auszahlen(40000, "Test", "Einzahlung", "JUnit"));
// assertTrue(k.auszahlen(50000, "Test", "Einzahlung", "JUnit"));
// assertEquals(-100000, k.getKontostand());
// assertFalse(k.auszahlen(40000, "Test", "Einzahlung", "JUnit"));
// assertFalse(k.auszahlen(1, "Test", "Einzahlung", "JUnit"));
// }
// }

View File

@ -3,7 +3,7 @@ package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
public class Konto implements Serializable { public class Konto implements Serializable, Comparable<Konto>{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -38,14 +38,15 @@ public class Konto implements Serializable {
} }
public String[] getKontobewegungen() { public String[] getKontobewegungen() {
String[] auflistung = new String[kontobewegungen.size()]; String[] auflistung = new String[kontobewegungen.size()];
int i = 0; kontobewegungen.stream().forEach(kb -> {
for (Kontobewegung kb : kontobewegungen) { auflistung[kontobewegungen.indexOf(kb)] = kb.toString();
auflistung[i++] = kb.toString(); });
}
return auflistung; return auflistung;
} }
public long berechneSaldo(int anzahl) { public long berechneSaldo(int anzahl) {
@ -83,5 +84,13 @@ public class Konto implements Serializable {
return stand; return stand;
} }
@Override
public int compareTo(Konto o) {
Konto k = (Konto) o;
return (int) (this.getKontostand() - k.getKontostand());
}
} }

View File

@ -1,60 +0,0 @@
// package de.hs_mannheim.informatik.bank.domain;
// import static org.junit.jupiter.api.Assertions.*;
// import org.junit.jupiter.api.Test;
// class KontoTest {
// @Test
// void testKontoBasics() {
// Konto k = new Konto("Müller", 0);
// assertEquals("Müller", k.getInhaber());
// assertEquals(1000, k.getKontonummer());
// assertEquals(0, k.getKontostand());
// }
// @Test
// void testKontoEinUndAuszahlungUndSaldo() {
// Konto k = new Konto("Müller", 0);
// Konto k2 = new Konto("Mayer", 1);
// testKontoEinUndAuszahlungUndSaldo(k, k2);
// k = new Girokonto("Müller", 0);
// k2 = new Girokonto("Mayer", 1);
// testKontoEinUndAuszahlungUndSaldo(k, k2);
// }
// private void testKontoEinUndAuszahlungUndSaldo(Konto k, Konto k2) {
// assertEquals("Mayer", k2.getInhaber());
// assertNotEquals(k.getKontonummer(), k2.getKontonummer());
// k2.einzahlen(100, "Test", "Einzahlung", "JUnit");
// assertEquals(100, k2.getKontostand());
// assertTrue(k2.auszahlen(50, "Test", "Auszahlung", "JUnit"));
// assertEquals(50, k2.getKontostand());
// assertTrue(k2.auszahlen(50, "Test", "Auszahlung", "JUnit"));
// assertEquals(0, k2.getKontostand());
// k2.einzahlen(100, "Test", "Einzahlung", "JUnit");
// k2.einzahlen(100, "Test", "Einzahlung", "JUnit");
// k2.einzahlen(1, "Test", "Einzahlung", "JUnit");
// assertEquals(100, k2.berechneSaldo(1));
// assertEquals(100, k2.berechneSaldo(4));
// assertEquals(k2.getKontostand(), k2.berechneSaldo(6));
// }
// @Test
// void testKeineÜberziehungFürSparkonten() {
// Konto k = new Konto("Müller", 0);
// k.einzahlen(100, "Test", "Einzahlung", "JUnit");
// assertFalse(k.auszahlen(500, "Test", "Auszahlung", "JUnit"));
// k.auszahlen(50, "Test", "Auszahlung", "JUnit");
// assertFalse(k.auszahlen(100, "Test", "Auszahlung", "JUnit"));
// }
// }

View File

@ -3,6 +3,9 @@ package de.hs_mannheim.informatik.bank.facade;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Depot; import de.hs_mannheim.informatik.bank.domain.Depot;
@ -46,7 +49,7 @@ public class Banksystem {
} }
public int kontoAnlegen(Kunde kunde, Kontoart kontoart){ public int kontoAnlegen(Kunde kunde, Kontoart kontoart) {
int kontonummer = bank.addKonto(kunde, kontoart); int kontonummer = bank.addKonto(kunde, kontoart);
try { try {
@ -61,12 +64,16 @@ public class Banksystem {
public String[] getKontenlisteForKunde(){ public String[] getKontenlisteForKunde(){
Collection<Konto> konten = bank.getKundenKonto(currentKunde); Collection<Konto> konten = bank.getKundenKonto(currentKunde);
List<Konto> kontenList = (List<Konto>) konten;
String[] liste = new String[konten.size()]; String[] liste = new String[konten.size()];
int i = 0; kontenList.stream().forEach(
for (Konto k : konten) { konto -> {
liste[i++] = k.toString(); liste[kontenList.indexOf(konto)] = konto.toString();
} }
);
return liste; return liste;
@ -186,6 +193,7 @@ public class Banksystem {
} }
public String getBankname() { public String getBankname() {
return bank.getName(); return bank.getName();
} }

View File

@ -1,70 +0,0 @@
// package de.hs_mannheim.informatik.bank.facade;
// import static org.junit.jupiter.api.Assertions.assertEquals;
// import static org.junit.jupiter.api.Assertions.assertNotNull;
// import static org.junit.jupiter.api.Assertions.assertTrue;
// import java.io.File;
// import org.junit.jupiter.api.AfterAll;
// import org.junit.jupiter.api.BeforeAll;
// import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
// import org.junit.jupiter.api.Order;
// import org.junit.jupiter.api.Test;
// import org.junit.jupiter.api.TestMethodOrder;
// @TestMethodOrder(OrderAnnotation.class)
// class SystemTest {
// private static Banksystem bs;
// @BeforeAll
// static void initBanksystem() throws Exception {
// bs = new Banksystem("Testsystem");
// }
// @Test
// @Order(1)
// void smokeTest() {
// assertNotNull(bs);
// assertEquals(0, bs.getKontenliste().length);
// assertEquals("Testsystem", bs.getBankname());
// }
// @Test
// @Order(2)
// void einzahlenTest() throws Exception {
// int knr = bs.kontoAnlegen("Test1", 1);
// assertEquals(1000, bs.geldEinzahlen(knr, 1000));
// bs.geldEinzahlen(knr, 1);
// assertEquals(1001, bs.getKontostand(knr));
// assertEquals(1001, bs.geldEinzahlen(knr, 0));
// }
// @Test
// @Order(3)
// void persistenzTest() throws Exception {
// int knr = bs.kontoAnlegen("Test2", 2);
// int knr2 = bs.kontoAnlegen("Test3", 2);
// bs.geldEinzahlen(knr, 1000);
// bs.geldAuszahlen(knr, 500);
// assertTrue(bs.überweisungBeauftragen(knr, knr2, 100, "Überweisungstest."));
// assertEquals(400, bs.getKontostand(knr));
// bs = null;
// Banksystem bs2 = new Banksystem("Testsystem");
// assertEquals(400, bs2.getKontostand(knr));
// }
// @AfterAll
// static void cleanup() {
// File file = new File("/Users/oliver/git/Bank-System/Bank-Beispiel/Testsystem-bank-data.ser");
// file.delete();
// }
// }

View File

@ -0,0 +1,96 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class AktienAnzeigenFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JTextArea output;
private Banksystem bs;
public AktienAnzeigenFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Aktien anzeigen");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Aktien anzeigen");
button.setBounds(10, 10, 130, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Zurück");
button2.setBounds(245, 10, 130, 25);
button2.addActionListener(this);
panel.add(button2);
this.output = new JTextArea();
output.setBounds(10, 55, 365, 200);
output.setEditable(false);
panel.add(output);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Aktien anzeigen...");
if (e.getSource() == button) {
String[] aktien = bs.getAktienliste();
if (aktien.length > 0) {
for (String s : aktien) {
output.append(s);
}
} else {
output.append("Keine Aktien vorhanden");
}
}
else if (e.getSource() == button2) {
frame.dispose();
AuswahlmenüDepotFrame amdf = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
}

View File

@ -0,0 +1,147 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class AktienKaufenFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JLabel label;
private JLabel label2;
private JLabel label3;
private JLabel label4;
private JLabel label5;
private JLabel label6;
private JLabel label7;
private JLabel label8;
private JTextField input;
private JTextField input2;
private JTextField input3;
private JTextArea output;
private JButton button;
private JButton button2;
private String aktienName1 = "DBK.DE";
private String aktienName2 = "DCO.DE";
private Banksystem bs;
public AktienKaufenFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Aktien kaufen");
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Folgende Aktien sind verfügbar:");
label.setBounds(10, 10, 200, 25);
panel.add(label);
this.label2 = new JLabel("1. Deutsche Bank (DBK.DE)");
label2.setBounds(10, 30, 200, 25);
panel.add(label2);
this.label7 = new JLabel("Preis d. Aktie:" + " " + bs.getAktienPreis(aktienName1) + "€");
label7.setBounds(200, 30, 200, 25);
panel.add(label7);
this.label3 = new JLabel("2. Deere & Company (DCO.DE)");
label3.setBounds(10, 50, 200, 25);
panel.add(label3);
this.label8 = new JLabel("Preis d. Aktie:" + " " + bs.getAktienPreis(aktienName2) + "€");
label8.setBounds(200, 50, 200, 25);
panel.add(label8);
this.label4 = new JLabel("Name d. Aktie");
label4.setBounds(10, 85, 200, 25);
panel.add(label4);
this.input = new JTextField(20);
input.setBounds(120, 85, 80, 25);
panel.add(input);
this.label5 = new JLabel("Anzahl");
label5.setBounds(10, 115, 200, 25);
panel.add(label5);
this.input2 = new JTextField(20);
input2.setBounds(120, 115, 80, 25);
panel.add(input2);
this.label6 = new JLabel("Kontonummer");
label6.setBounds(10, 145, 200, 25);
panel.add(label6);
this.input3 = new JTextField(20);
input3.setBounds(120, 145, 80, 25);
panel.add(input3);
this.button = new JButton("Kaufen");
button.setBounds(250, 115, 80, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Zurück");
button2.setBounds(200, 415, 80, 25);
button2.addActionListener(this);
panel.add(button2);
this.output = new JTextArea();
output.setBounds(40, 200, 400, 200);
panel.add(output);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Aktien kaufen...");
if (e.getSource() == button) {
String aktienName = input.getText();
int anzahl = Integer.parseInt(input2.getText());
int kontonummer = Integer.parseInt(input3.getText());
boolean erg = bs.aktienKauf(kontonummer, anzahl, aktienName);
output.append("Aktienkauf" + ((!erg) ? " nicht" : "") + " erfolgreich. ");
}
else if (e.getSource() == button2) {
frame.dispose();
AuswahlmenüDepotFrame amdf = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
}

View File

@ -0,0 +1,146 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class AuswahlmenüDepotFrame implements ActionListener{
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JButton button6;
private JButton button7;
private Banksystem bs;
public AuswahlmenüDepotFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Auswahlmenü Depot");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Geld einzahlen");
button.setBounds(40, 20, 300, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Geld abheben");
button2.setBounds(40, 50, 300, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Kontoauszug");
button3.setBounds(40, 80, 300, 25);
button3.addActionListener(this);
panel.add(button3);
this.button4 = new JButton("Saldo");
button4.setBounds(40, 110, 300, 25);
button4.addActionListener(this);
panel.add(button4);
this.button5 = new JButton("Aktien kaufen");
button5.setBounds(40, 140, 300, 25);
button5.addActionListener(this);
panel.add(button5);
this.button6 = new JButton("Aktien anzeigen");
button6.setBounds(40, 170, 300, 25);
button6.addActionListener(this);
panel.add(button6);
this.button7 = new JButton("Auswahlmenü");
button7.setBounds(40, 200, 300, 25);
button7.addActionListener(this);
panel.add(button7);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Depot...");
if(e.getSource() == button) {
frame.dispose();
GeldEinzahlenFrame geldEinzahlenFrame = new GeldEinzahlenFrame(bs);
}
else if(e.getSource() == button2) {
frame.dispose();
GeldAuszahlenFrame geldAuszahlenFrame = new GeldAuszahlenFrame(bs);
}
else if(e.getSource() == button3) {
frame.dispose();
KontoauszugFrame kontoauszugFrame = new KontoauszugFrame(bs);
}
else if(e.getSource() == button4) {
frame.dispose();
SaldoFrame saldoFrame = new SaldoFrame(bs);
}
else if(e.getSource() == button5) {
frame.dispose();
AktienKaufenFrame aktienKaufenFrame = new AktienKaufenFrame(bs);
}
else if(e.getSource() == button6) {
frame.dispose();
AktienAnzeigenFrame aktienAnzeigenFrame = new AktienAnzeigenFrame(bs);
}
else if(e.getSource() == button7) {
frame.dispose();
AuswahlmenüFrame auswahlmenüFrame = new AuswahlmenüFrame(bs);
}
else {
frame.dispose();
FehlerFrame fehlerFrame = new FehlerFrame(bs);
}
}
}

View File

@ -0,0 +1,103 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class AuswahlmenüFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JButton button4;
private Banksystem bs;
public AuswahlmenüFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Auswahlmenü");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Konto anlegen");
button.setBounds(40, 50, 300, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Konten auflisten");
button2.setBounds(40, 80, 300, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Konto auswählen");
button3.setBounds(40, 110, 300, 25);
button3.addActionListener(this);
panel.add(button3);
this.button4 = new JButton("Hauptmenü");
button4.setBounds(40, 170, 300, 25);
button4.addActionListener(this);
panel.add(button4);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Auswahlmenü...");
if (e.getSource() == button) {
frame.dispose();
KontoAnlegenFrame kontoAnlegenFrame = new KontoAnlegenFrame(bs);
} else if (e.getSource() == button2) {
frame.dispose();
KontoListingFrame kontoListingFrame = new KontoListingFrame(bs);
} else if (e.getSource() == button3) {
frame.dispose();
KontoAuswahlFrame kontoAuswahlFrame = new KontoAuswahlFrame(bs);
}
else if (e.getSource() == button4) {
frame.dispose();
HauptmenüFrame hauptmenüFrame = new HauptmenüFrame(bs);
}
else {
frame.dispose();
FehlerFrame fehlerFrame = new FehlerFrame(bs);
}
}
}

View File

@ -0,0 +1,131 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class AuswahlmenüGirokontoFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JButton button6;
private Banksystem bs;
public AuswahlmenüGirokontoFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Auswahlmenü Girokonto");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Geld einzahlen");
button.setBounds(40, 50, 300, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Geld abheben");
button2.setBounds(40, 80, 300, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Kontoauszug");
button3.setBounds(40, 110, 300, 25);
button3.addActionListener(this);
panel.add(button3);
this.button4 = new JButton("Saldo");
button4.setBounds(40, 140, 300, 25);
button4.addActionListener(this);
panel.add(button4);
this.button5 = new JButton("Überweisung");
button5.setBounds(40, 170, 300, 25);
button5.addActionListener(this);
panel.add(button5);
this.button6 = new JButton("Auswahlmenü");
button6.setBounds(40, 200, 300, 25);
button6.addActionListener(this);
panel.add(button6);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Girokonto...");
if(e.getSource() == button) {
frame.dispose();
GeldEinzahlenFrame geldEinzahlenFrame = new GeldEinzahlenFrame(bs);
}
else if(e.getSource() == button2) {
frame.dispose();
GeldAuszahlenFrame geldAuszahlenFrame = new GeldAuszahlenFrame(bs);
}
else if(e.getSource() == button3) {
frame.dispose();
KontoauszugFrame kontoauszugFrame = new KontoauszugFrame(bs);
}
else if(e.getSource() == button4) {
frame.dispose();
SaldoFrame saldoFrame = new SaldoFrame(bs);
}
else if(e.getSource() == button5) {
frame.dispose();
ÜberweisungsFrame überweisungsFrame = new ÜberweisungsFrame(bs);
}
else if(e.getSource() == button6) {
frame.dispose();
AuswahlmenüFrame auswahlmenüFrame = new AuswahlmenüFrame(bs);
}
else {
frame.dispose();
FehlerFrame fehlerFrame = new FehlerFrame(bs);
}
}
}

View File

@ -0,0 +1,124 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class AuswahlmenüSparkontoFrame implements ActionListener{
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private Banksystem bs;
public AuswahlmenüSparkontoFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Auswahlmenü Sparkonto");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Geld einzahlen");
button.setBounds(40, 50, 300, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Geld abheben");
button2.setBounds(40, 80, 300, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Kontoauszug");
button3.setBounds(40, 110, 300, 25);
button3.addActionListener(this);
panel.add(button3);
this.button4 = new JButton("Saldo");
button4.setBounds(40, 140, 300, 25);
button4.addActionListener(this);
panel.add(button4);
this.button5 = new JButton("Auswahlmenü");
button5.setBounds(40, 170, 300, 25);
button5.addActionListener(this);
panel.add(button5);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Sparkonto...");
if(e.getSource() == button) {
frame.dispose();
GeldEinzahlenFrame geldEinzahlenFrame = new GeldEinzahlenFrame(bs);
}
else if(e.getSource() == button2) {
frame.dispose();
GeldAuszahlenFrame geldAuszahlenFrame = new GeldAuszahlenFrame(bs);
}
else if(e.getSource() == button3) {
frame.dispose();
KontoauszugFrame kontoauszugFrame = new KontoauszugFrame(bs);
}
else if(e.getSource() == button4) {
frame.dispose();
SaldoFrame saldoFrame = new SaldoFrame(bs);
}
else if(e.getSource() == button5) {
frame.dispose();
AuswahlmenüFrame auswahlmenüFrame = new AuswahlmenüFrame(bs);
}
else {
frame.dispose();
FehlerFrame fehlerFrame = new FehlerFrame(bs);
}
}
}

View File

@ -0,0 +1,72 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class FehlerFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JLabel label;
private JLabel label2;
private Banksystem bs;
public FehlerFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Fehlermeldung");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Ein Fehler ist aufgetreten");
label.setBounds(-10, 20, 300, 25);
label.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label);
this.label2 = new JLabel("Bitte kehren Sie zum Hauptmenü zurück.");
label2.setBounds(-10, 40, 300, 50);
label2.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label2);
this.button = new JButton("Zurück zum Hauptmenü");
button.setBounds(45, 120, 200, 25);
button.setHorizontalAlignment(SwingConstants.CENTER);
button.addActionListener(this);
panel.add(button);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Fehlermeldung...");
if (e.getSource() == button) {
frame.dispose();
HauptmenüFrame hmf = new HauptmenüFrame(bs);
}
}
}

View File

@ -0,0 +1,153 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class GeldAuszahlenFrame implements ActionListener{
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JTextArea output;
private JTextArea output2;
private JTextField input;
private JTextField input2;
private JLabel label;
private JLabel label2;
private Banksystem bs;
public GeldAuszahlenFrame(Banksystem bs){
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Geld auszahlen");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Kontonummer");
label.setBounds(10, 10, 100, 25);
panel.add(label);
this.input = new JTextField();
input.setBounds(140, 10, 120, 25);
panel.add(input);
this.label2 = new JLabel("Betrag (€)");
label2.setBounds(10, 40, 100, 25);
panel.add(label2);
this.input2 = new JTextField();
input2.setBounds(140, 40, 120, 25);
panel.add(input2);
this.output2 = new JTextArea();
output2.setBounds(70, 120, 250, 100);
output2.setEditable(false);
panel.add(output2);
this.button2 = new JButton("Geld auszahlen");
button2.setBounds(140, 85, 120, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Zurück");
button3.setBounds(140, 230, 120, 25);
button3.addActionListener(this);
panel.add(button3);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Geld auszahlen...");
if(e.getSource() == button){
long kontostand = bs.getKontostand(Integer.parseInt(input.getText())) / 100;
output.append("Kontostand beträgt " + kontostand + "€");
input.setText("");
}
else if(e.getSource() == button2) {
try {
boolean erfolg = bs.geldAuszahlen(Integer.parseInt(input.getText()), (long) Double.parseDouble(input2.getText()) * 100);
long neuerKontostand = bs.getKontostand(Integer.parseInt(input.getText()));
output2.append("Auszahlung" + ((!erfolg)? " nicht" : "" ) + " erfolgreich.\tneuer Kontostand: " + neuerKontostand / 100 + "€");
input.setText("");
input2.setText("");
} catch (NumberFormatException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
else if(e.getSource() == button3) {
if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Sparkonto) {
frame.dispose();
AuswahlmenüSparkontoFrame asf = new AuswahlmenüSparkontoFrame(bs);
}
else if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Girokonto) {
frame.dispose();
AuswahlmenüGirokontoFrame agf = new AuswahlmenüGirokontoFrame(bs);
}
else if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Depot) {
frame.dispose();
AuswahlmenüDepotFrame adf = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
}
}

View File

@ -0,0 +1,134 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class GeldEinzahlenFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JLabel label;
private JLabel label2;
private JTextField input;
private JTextField input2;
private JTextArea output;
private JButton button;
private JButton button2;
private JButton button3;
private Banksystem bs;
public GeldEinzahlenFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Geld einzahlen");
frame.setSize(400, 480);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Kontonummer");
label.setBounds(10, 20, 100, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(140, 20, 165, 25);
panel.add(input);
this.label2 = new JLabel("Betrag (€)");
label2.setBounds(10, 50, 80, 25);
panel.add(label2);
this.input2 = new JTextField(20);
input2.setBounds(140, 50, 165, 25);
panel.add(input2);
this.output = new JTextArea();
output.setBounds(40, 100, 300, 200);
output.setEditable(false);
panel.add(output);
this.button = new JButton("Einzahlen");
button.addActionListener(this);
button.setBounds(40, 305, 300, 25);
panel.add(button);
this.button2 = new JButton("Zurück");
button2.addActionListener(this);
button2.setBounds(40, 410, 300, 25);
panel.add(button2);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Geld einzahlen...");
if (e.getSource() == button) {
try {
bs.geldEinzahlen(Integer.parseInt(input.getText()),
(long) (Double.parseDouble(input2.getText()) * 100));
output.append("Einzahlung von " + input2.getText() + " erfolgreich\nNeuer Kontostand beträgt "
+ (bs.getKontostand(Integer.parseInt(input.getText())) / 100) + " €\n");
} catch (IOException e1) {
e1.printStackTrace();
}
}
else if (e.getSource() == button2) {
if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Sparkonto) {
frame.dispose();
AuswahlmenüSparkontoFrame asf = new AuswahlmenüSparkontoFrame(bs);
}
else if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Girokonto) {
frame.dispose();
AuswahlmenüGirokontoFrame agf = new AuswahlmenüGirokontoFrame(bs);
}
else if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Depot) {
frame.dispose();
AuswahlmenüDepotFrame adf = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
}
}

View File

@ -0,0 +1,94 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class HauptmenüFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JLabel label;
private JLabel label2;
private Banksystem bs;
public HauptmenüFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Hauptmenü");
frame.setSize(300, 250);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel(bs.getBankname());
label.setBounds(10, 10, 200, 25);
panel.add(label);
this.label2 = new JLabel("Hauptmenü");
label2.setBounds(10, 30, 200, 25);
panel.add(label2);
this.button = new JButton("Neuen Kunden anlegen");
button.setBounds(17, 80, 250, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Bei Kunden einloggen");
button2.setBounds(17, 110, 250, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Beenden");
button3.setBounds(17, 140, 250, 25);
button3.addActionListener(this);
panel.add(button3);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Hauptmenü...");
if (e.getSource() == button) {
frame.dispose();
KundeAnlegen kundeAnlegen = new KundeAnlegen(bs);
}
else if (e.getSource() == button2) {
frame.dispose();
LoginFrame loginFrame = new LoginFrame(bs);
}
else if (e.getSource() == button3) {
frame.dispose();
}
}
}

View File

@ -0,0 +1,105 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class KontoAnlegenFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JButton button3;
private JButton button4;
private JTextArea output;
private Banksystem bs;
public KontoAnlegenFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Konto anlegen");
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Girokonto");
button.setBounds(10, 10, 95, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Sparkonto");
button2.setBounds(145, 10, 95, 25);
button2.addActionListener(this);
panel.add(button2);
this.button3 = new JButton("Depot");
button3.setBounds(280, 10, 95, 25);
button3.addActionListener(this);
panel.add(button3);
this.button4 = new JButton("Auswahlmenü");
button4.setBounds(10, 320, 120, 25);
button4.addActionListener(this);
panel.add(button4);
this.output = new JTextArea();
output.setBounds(10, 50, 365, 250);
output.setEditable(false);
panel.add(output);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Konto anlegen...");
try {
if (e.getSource() == button) {
int kontonummer = bs.kontoAnlegen(bs.getCurrentKunde(), Kontoart.Girokonto);
output.append("Girokonto mit der Kontonummer " + kontonummer + " wurde angelegt\n");
} else if (e.getSource() == button2) {
int kontonummer = bs.kontoAnlegen(bs.getCurrentKunde(), Kontoart.Sparkonto);
output.append("Sparkonto mit der Kontonummer " + kontonummer + " wurde angelegt\n");
} else if (e.getSource() == button3) {
int kontonummer = bs.kontoAnlegen(bs.getCurrentKunde(), Kontoart.Depot);
output.append("Depot mit der Kontonummer " + kontonummer + " wurde angelegt\n");
} else if (e.getSource() == button4) {
frame.dispose();
AuswahlmenüFrame amf = new AuswahlmenüFrame(bs);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}

View File

@ -0,0 +1,95 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class KontoAuswahlFrame implements ActionListener{
private JPanel panel;
private JFrame frame;
private JButton button;
private JLabel label;
private JTextField input;
private Banksystem bs;
public KontoAuswahlFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Kontoauswahl");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Kontonummer");
label.setBounds(10, 17, 80, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(120, 20, 80, 20);
panel.add(input);
this.button = new JButton("Login");
button.setBounds(100, 100, 80, 25);
button.addActionListener(this);
panel.add(button);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Login...");
try {
if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Sparkonto) {
frame.dispose();
AuswahlmenüSparkontoFrame auswahlmenüSparkontoFrame = new AuswahlmenüSparkontoFrame(bs);
} else if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Girokonto) {
frame.dispose();
AuswahlmenüGirokontoFrame auswahlmenüGirokontoFrame = new AuswahlmenüGirokontoFrame(bs);
} else if(bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Depot) {
frame.dispose();
AuswahlmenüDepotFrame auswahlmenüDepotFrame = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame fehlerFrame = new FehlerFrame(bs);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

View File

@ -0,0 +1,84 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class KontoListingFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JButton button2;
private JTextArea output;
private Banksystem bs;
public KontoListingFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Kontoliste");
frame.setSize(500, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.button = new JButton("Kontoliste abrufen");
button.setBounds(10, 10, 160, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Auswahlmenü");
button2.setBounds(215, 10, 260, 25);
button2.addActionListener(this);
panel.add(button2);
this.output = new JTextArea();
output.setBounds(10, 60, 465, 280);
output.setEditable(false);
panel.add(output);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Kontenliste abrufen...");
if (e.getSource() == button) {
String[] konten = bs.getKontenlisteForKunde();
if (konten.length > 0) {
Arrays.stream(konten).forEach(output::append);
}
output.append("Keine Konten vorhanden.");
} else if (e.getSource() == button2) {
frame.dispose();
AuswahlmenüFrame auswahlmenü = new AuswahlmenüFrame(bs);
}
}
}

View File

@ -0,0 +1,130 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class KontoauszugFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JLabel label;
private JTextField input;
private JTextArea output;
private JButton button;
private JButton button2;
private Banksystem bs;
public KontoauszugFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Kontoauszug");
frame.setSize(450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Kontonummer");
label.setBounds(10, 20, 100, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(100, 20, 60, 25);
panel.add(input);
this.output = new JTextArea();
output.setBounds(10, 50, 414, 150);
output.setEditable(false);
panel.add(output);
this.button = new JButton("Kontoauszug drucken");
button.setBounds(265, 20, 160, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Zurück");
button2.setBounds(170, 220, 100, 25);
button2.addActionListener(this);
panel.add(button2);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Kontoauszug drucken...");
if (e.getSource() == button) {
if (e.getSource() == button) {
String[] kontoauszug = bs.erstelleKontoauszug(Integer.parseInt(input.getText()));
if (kontoauszug.length > 0) {
for (String ka : kontoauszug) {
output.append(ka + "\n");
}
} else {
output.setText("Keine Transaktionen vorhanden!");
}
}
}
else if (e.getSource() == button2) {
if (bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Sparkonto) {
frame.dispose();
AuswahlmenüSparkontoFrame asf = new AuswahlmenüSparkontoFrame(bs);
}
else if (bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Girokonto) {
frame.dispose();
AuswahlmenüGirokontoFrame agf = new AuswahlmenüGirokontoFrame(bs);
}
else if (bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Depot) {
frame.dispose();
AuswahlmenüDepotFrame adf = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
}
}

View File

@ -0,0 +1,119 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class KundeAnlegen extends JFrame implements ActionListener {
private JPanel panel;
private JLabel label;
private JLabel label2;
private JLabel label3;
private JTextField input;
private JTextField input2;
private JTextField input3;
private JFrame frame;
private JButton button;
private JButton button2;
private JTextArea output;
private Banksystem bs;
public KundeAnlegen(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Kunde anlegen");
frame.setSize(400, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.add(panel);
frame.setResizable(false);
panel.setLayout(null);
this.label = new JLabel("Name");
label.setBounds(10, 20, 80, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(120, 20, 165, 20);
panel.add(input);
this.label2 = new JLabel("Nachname");
label2.setBounds(10, 50, 80, 25);
panel.add(label2);
this.input2 = new JTextField(20);
input2.setBounds(120, 50, 165, 20);
panel.add(input2);
this.label3 = new JLabel("Alter");
label3.setBounds(10, 80, 80, 25);
panel.add(label3);
this.input3 = new JTextField(20);
input3.setBounds(120, 80, 165, 20);
panel.add(input3);
this.button = new JButton("Kunde anlegen");
button.addActionListener(this);
button.setBounds(120, 400, 165, 20);
panel.add(button);
this.button2 = new JButton("Hauptmenü");
button2.addActionListener(this);
button2.setBounds(120, 430, 165, 20);
panel.add(button2);
this.output = new JTextArea();
output.setBounds(10, 140, 365, 230);
output.setEditable(false);
panel.add(output);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Kunde anlegen...");
if (e.getSource() == button) {
try {
bs.addNewKunde(input.getText(), input2.getText(), Integer.parseInt(input3.getText()));
output.append("Ihr Kundenkonto mit der ID [" + bs.getKundenID() + "] wurde erfolgreich angelegt.\n");
input.setText("");
input2.setText("");
input3.setText("");
} catch (Exception ex) {
ex.printStackTrace();
}
} else if (e.getSource() == button2) {
frame.dispose();
HauptmenüFrame hmf = new HauptmenüFrame(bs);
}
}
}

View File

@ -0,0 +1,85 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class LoginFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JButton button;
private JTextField input;
private JLabel label;
private Banksystem bs;
public LoginFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Login");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Kunden-ID");
label.setBounds(10, 17, 80, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(120, 20, 80, 20);
panel.add(input);
this.button = new JButton("Login");
button.setBounds(100, 100, 80, 25);
button.addActionListener(this);
panel.add(button);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Login...");
try {
bs.setCurrentKunde(bs.getKunde(Integer.parseInt(input.getText())));
if (bs.getCurrentKunde() != null) {
frame.dispose();
AuswahlmenüFrame amf = new AuswahlmenüFrame(bs);
} else {
frame.dispose();
FehlerFrame lff = new FehlerFrame(bs);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

View File

@ -0,0 +1,130 @@
package de.hs_mannheim.informatik.bank.gui;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class SaldoFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JLabel label;
private JTextField input;
private JTextField input2;
private JTextArea output;
private JButton button;
private JButton button2;
private Banksystem bs;
public SaldoFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Saldo");
frame.setSize(450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Kontonummer");
label.setBounds(10, 10, 100, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(100, 10, 60, 25);
panel.add(input);
this.label = new JLabel("Anzahl");
label.setBounds(10, 40, 100, 25);
panel.add(label);
this.input2 = new JTextField(20);
input2.setBounds(100, 40, 60, 25);
panel.add(input2);
this.output = new JTextArea();
output.setBounds(10, 80, 414, 170);
output.setEditable(false);
panel.add(output);
this.button = new JButton("Saldo drucken");
button.setBounds(265, 10, 160, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Zurück");
button2.setBounds(265, 40, 160, 25);
button2.addActionListener(this);
panel.add(button2);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Saldo...");
try {
if (e.getSource() == button) {
long saldo = bs.saldoBestimmen(Integer.parseInt(input.getText()), Integer.parseInt(input2.getText()));
output.append(
"Der Saldo nach " + input2.getText() + " Kontobewegungen beträgt " + (saldo / 100d) + " Euro.");
} else if (e.getSource() == button2) {
if (bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Sparkonto) {
frame.dispose();
AuswahlmenüSparkontoFrame asf = new AuswahlmenüSparkontoFrame(bs);
}
else if (bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Girokonto) {
frame.dispose();
AuswahlmenüGirokontoFrame agf = new AuswahlmenüGirokontoFrame(bs);
}
else if (bs.checkKontoart(Integer.parseInt(input.getText())) == Kontoart.Depot) {
frame.dispose();
AuswahlmenüDepotFrame adf = new AuswahlmenüDepotFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

View File

@ -0,0 +1,144 @@
package de.hs_mannheim.informatik.bank.gui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class ÜberweisungsFrame implements ActionListener {
private JPanel panel;
private JFrame frame;
private JLabel label;
private JLabel label2;
private JLabel label3;
private JLabel label4;
private JTextField input;
private JTextField input2;
private JTextField input3;
private JTextField input4;
private JTextArea output;
private JButton button;
private JButton button2;
private Banksystem bs;
public ÜberweisungsFrame(Banksystem bs) {
this.bs = bs;
this.panel = new JPanel();
this.frame = new JFrame();
frame.setTitle(bs.getBankname() + " - Überweisung");
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.add(panel);
panel.setLayout(null);
this.label = new JLabel("Starkonto");
label.setBounds(40, 50, 80, 25);
panel.add(label);
this.input = new JTextField(20);
input.setBounds(120, 50, 165, 25);
panel.add(input);
this.label2 = new JLabel("Zielkonto");
label2.setBounds(40, 80, 80, 25);
panel.add(label2);
this.input2 = new JTextField(20);
input2.setBounds(120, 80, 165, 25);
panel.add(input2);
this.label3 = new JLabel("Betrag");
label3.setBounds(40, 110, 80, 25);
panel.add(label3);
this.input3 = new JTextField(20);
input3.setBounds(120, 110, 165, 25);
panel.add(input3);
this.label4 = new JLabel("Verwendungszweck");
label4.setBounds(40, 140, 80, 25);
panel.add(label4);
this.input4 = new JTextField(20);
input4.setBounds(120, 140, 165, 25);
panel.add(input4);
this.output = new JTextArea();
output.setBounds(40, 170, 300, 100);
output.setEditable(false);
panel.add(output);
this.button = new JButton("Überweisung durchführen");
button.setBounds(40, 280, 300, 25);
button.addActionListener(this);
panel.add(button);
this.button2 = new JButton("Zurück");
button2.setBounds(40, 310, 300, 25);
button2.addActionListener(this);
panel.add(button2);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Überweisung durchführen...");
if (e.getSource() == button) {
try {
int startkonto = Integer.parseInt(input.getText());
int zielkonto = Integer.parseInt(input2.getText());
double betrag = Double.parseDouble(input3.getText());
String verwendungszweck = input4.getText();
boolean erfolg = bs.überweisungBeauftragen(startkonto, zielkonto, (long) (betrag * 100),
verwendungszweck);
output.append("Überweisung" + ((!erfolg) ? " nicht" : "") + " erfolgreich ausgeführt.");
input.setText("");
input2.setText("");
input3.setText("");
input4.setText("");
} catch (Exception ex) {
ex.printStackTrace();
}
}
else if (e.getSource() == button2) {
frame.dispose();
AuswahlmenüGirokontoFrame amgk = new AuswahlmenüGirokontoFrame(bs);
} else {
frame.dispose();
FehlerFrame ff = new FehlerFrame(bs);
}
}
}

View File

@ -1,718 +0,0 @@
package de.hs_mannheim.informatik.bank.ui;
import java.io.IOException;
import java.util.Scanner;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI {
private Banksystem bs;
Scanner sc = new Scanner(System.in);
public UI(Banksystem bs) {
this.bs = bs;
hauptmenü();
}
private void hauptmenü() {
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
mainloop: while (true) {
System.out.println();
System.out.println("--------");
System.out.println("Hauptmenü");
System.out.println("0 -> Kundenkonto erstellen");
System.out.println("1 -> Login");
System.out.println("2 -> Konto anlegen");
System.out.println("3 -> Konten anzeigen");
System.out.println("4 -> Konto auswählen");
System.out.println("5 -> Beenden");
System.out.println();
System.out.print("> ");
int input = Integer.parseInt(sc.nextLine());
System.out.println();
try {
switch (input) {
case 0:
kundeRegistrieren();
break;
case 1:
login();
break;
case 2:
kontoAnlegen();
break;
case 3:
kontenAnzeigen();
break;
case 4:
kontoAuswählen();
break;
case 5:
break mainloop;
}
} catch (Exception e) {
System.err.println(e.getLocalizedMessage());
}
System.out.println();
}
System.out.println("Auf Wiedersehen!");
} // HAUPTMENÜ // HAUPTMENÜ // HAUPTMENÜ // HAUPTMENÜ // HAUPTMENÜ // HAUPTMENÜ // HAUPTMENÜ // HAUPTMENÜ
private void kundeRegistrieren(){
boolean running = true;
while(running){
System.out.println("Bitte geben Sie die folgenden Daten ein: ");
System.out.print("Vorname: ");
String vorname = sc.nextLine();
System.out.print("Nachname: ");
String nachname = sc.nextLine();
System.out.print("Alter:");
int alter = Integer.parseInt(sc.nextLine());
try {
bs.setCurrentKunde(bs.addNewKunde(vorname, nachname, alter));
} catch (Exception e) {
System.err.println("Kundenkonto konnte nicht erstellt werden!");
e.printStackTrace();
break;
}
System.out.println("Ihr Kundenkonto mit der ID [" + bs.getKundenID() + "] wurde erstellt.");
running = false;
}
}
private void login(){
boolean running = true;
while(running){
try {
System.out.println("Bitte geben Sie Ihre Kunden ID ein: ");
System.out.print("> ");
int kundenID = Integer.parseInt(sc.nextLine());
bs.setCurrentKunde(bs.getKunde(kundenID));
if(bs.getCurrentKunde() != null){
System.out.println("Login erfolgreich!");
running = false;
} else {
System.err.println("Kunde nicht gefunden!");
break;
}
} catch (Exception e) {
System.err.println("Login fehlgeschlagen!");
e.printStackTrace();
running = false;
}
}
}
private void kontoAnlegen() throws IOException{
boolean running = true;
while(running){
try {
System.out.println("Bitte geben Sie Ihre Kunden ID ein: ");
System.out.print("> ");
int kundenID = Integer.parseInt(sc.nextLine());
bs.setCurrentKunde(bs.getKunde(kundenID));
if(bs.getCurrentKunde() != null){
System.out.println("Welche Art von Konto möchten Sie anlegen?");
Kontoart[] kontoarten = Kontoart.values();
for (int i = 0; i < kontoarten.length; i++) {
System.out.println(" " + kontoarten[i] + " " + "(" + (i+1) + ")");
}
System.out.print("> ");
int auswahl = Integer.parseInt(sc.nextLine());
int kontonummer = bs.kontoAnlegen(bs.getCurrentKunde(),kontoarten[auswahl-1]);
System.out.println("Ihr ausgewähltes Konto mit der " + kontonummer + " neu angelegt.");
running = false;
} else {
System.err.println("Kunde nicht gefunden!");
break;
}
} catch (Exception e) {
System.err.println("Konto konnte nicht angelegt werden!");
e.printStackTrace();
running = false;
}
}
}
private void kontenAnzeigen() {
try {
String[] konten = bs.getKontenlisteForKunde();
if (konten.length > 0) {
System.out.println("Sie haben aktuell folgende Konten zur Verfügung:");
for (String s : konten) {
System.out.println(s);
}
} else {
System.out.println("Sie haben bisher keine Konten angelegt");
}
} catch (Exception e) {
System.err.println("Konten konnten nicht laden!");
e.printStackTrace();
}
}
private void aktienAnzeigen(){
try {
String[] aktien = bs.getAktienliste();
if (aktien.length > 0) {
System.out.println("Sie haben folgende Aktien im Besitz: ");
for (String s : aktien) {
System.out.println(s);
}
} else {
System.out.println("Bisher keine Aktien gekauft.");
}
} catch (Exception e) {
System.err.println("Aktien konnten nicht laden!");
e.printStackTrace();
}
}
private void kontoAuswählen(){
boolean running = true;
kontenAnzeigen();
System.out.println("Bitte geben Sie die Kontonummer ihres Kontos ein mit dem Sie weiterarbeiten wollen");
int kontonummer = Integer.parseInt(sc.nextLine());
if(bs.checkKontoart(kontonummer).equals(Kontoart.Sparkonto)){
if(bs.getKonten().containsKey(kontonummer)){
while(running){
System.out.println("--------");
System.out.println("Kontomenü");
System.out.println("0 -> Geld einzahlen");
System.out.println("1 -> Geld auszahlen");
System.out.println("2 -> Kontoauszug drucken");
System.out.println("3 -> Saldo abfragen");
System.out.println("4 -> Zurück zum Hauptmenü");
System.out.print("> ");
int input = Integer.parseInt(sc.nextLine());
System.out.println();
try {
switch (input) {
case 0:
geldEinzahlen();
break;
case 1:
geldAuszahlen();
break;
case 2:
kontoauszugDrucken();
break;
case 3:
saldoAbfragen();
break;
case 4:
running = false;
break;
}
} catch (Exception e) {
System.err.println(e.getLocalizedMessage());
}
System.out.println();
}
} else {
System.out.println("Kontonummer nicht gefunden");
}
}
else if (bs.checkKontoart(kontonummer).equals(Kontoart.Girokonto)){
if(bs.getKonten().containsKey(kontonummer)){
while(running) {
System.out.println("--------");
System.out.println("Kontomenü");
System.out.println("0 -> Geld einzahlen");
System.out.println("1 -> Geld auszahlen");
System.out.println("2 -> Kontoauszug drucken");
System.out.println("3 -> Überweisung beauftragen");
System.out.println("4 -> Saldo abfragen");
System.out.println("5 -> Zurück zum Hauptmenü");
System.out.println();
System.out.print("> ");
int input = Integer.parseInt(sc.nextLine());
System.out.println();
try {
switch (input) {
case 0:
geldEinzahlen();
break;
case 1:
geldAuszahlen();
break;
case 2:
kontoauszugDrucken();
break;
case 3:
überweisungBeauftragen();
break;
case 4:
saldoAbfragen();
break;
case 5:
running = false;
break;
}
} catch (Exception e) {
System.err.println(e.getLocalizedMessage());
}
System.out.println();
}
} else {
System.out.println("Kontonummer nicht gefunden");
}
}
else if (bs.checkKontoart(kontonummer).equals(Kontoart.Depot)){
if(bs.getKonten().containsKey(kontonummer)){
while(running) {
System.out.println("--------");
System.out.println("Kontomenü");
System.out.println("0 -> Geld einzahlen");
System.out.println("1 -> Geld auszahlen");
System.out.println("2 -> Kontoauszug drucken");
System.out.println("3 -> Überweisung beauftragen");
System.out.println("4 -> Saldo abfragen");
System.out.println("5 -> Aktien kaufen");
System.out.println("6 -> Aktien anzeigen");
System.out.println("7 -> Zurück zum Hauptmenü");
System.out.println();
System.out.print("> ");
int input = Integer.parseInt(sc.nextLine());
System.out.println();
try {
switch (input) {
case 0:
geldEinzahlen();
break;
case 1:
geldAuszahlen();
break;
case 2:
kontoauszugDrucken();
break;
case 3:
überweisungBeauftragen();
break;
case 4:
saldoAbfragen();
break;
case 5:
aktienKaufen();
break;
case 6:
aktienAnzeigen();
break;
case 7:
running = false;
break;
}
} catch (Exception e) {
System.err.println(e.getLocalizedMessage());
}
System.out.println();
}
} else {
System.out.println("Kontonummer nicht gefunden");
}
} else {
System.out.println("Kontonummer nicht gefunden");
}
}
private void geldEinzahlen() throws Exception {
int kontonummer = 0;
double betrag = 0;
boolean running = true;
while(running) {
System.out.print("Bitte geben Sie ihre Kontonummer ein: ");
try {
kontonummer = Integer.parseInt(sc.nextLine());
if(bs.getKonten().containsKey(kontonummer)){
System.out.print("Bitte geben Sie den Betrag ein: ");
try {
betrag = Double.parseDouble(sc.nextLine());
} catch (NumberFormatException nfe) {
System.err.println("Betrag muss eine Zahl sein!");
continue;
}
} else {
System.out.println("Kontonummer existiert nicht!");
break;
}
} catch (NumberFormatException nfe) {
System.err.println("Kontonummer muss eine Zahl sein!");
continue;
}
running = false;
}
long neuerKontostand = bs.geldEinzahlen(kontonummer, (long) betrag * 100);
System.out.printf("Einzahlung erfolgreich, Ihr neuer Kontostand beträgt: %.2f€", (neuerKontostand) / 100.0);
}
private void geldAuszahlen() throws Exception {
int kontonummer = 0;
double betrag = 0;
boolean running = true;
while(running){
System.out.print("Bitte geben Sie ihre Kontonummer ein: ");
try {
kontonummer = Integer.parseInt(sc.nextLine());
if(bs.getKonten().containsKey(kontonummer)){
System.out.println("Ihr aktueller Kontostand beträgt " + bs.getKontostand(kontonummer) / 100 + "€");
System.out.print("Bitte geben Sie den Betrag zum abheben ein: ");
try {
betrag = Double.parseDouble(sc.nextLine());
} catch (NumberFormatException nfe) {
System.err.println("Betrag muss eine Zahl sein!");
continue;
}
} else {
System.out.println("Kontonummer existiert nicht!");
break;
}
} catch (NumberFormatException nfe) {
System.err.println("Kontonummer muss eine Zahl sein!");
continue;
}
running = false;
}
boolean erfolg = bs.geldAuszahlen(kontonummer, (long) betrag * 100);
long neuerKontostand = bs.getKontostand(kontonummer) / 100;
System.out.printf("Auszahlung" + ((!erfolg)? " nicht" : "" ) + " erfolgreich. ");
System.out.println("Ihr neuer Kontostand beträgt: " + neuerKontostand + "€");
}
private void kontoauszugDrucken() {
boolean running = true;
while(running){
try {
System.out.print("Bitte die gewünschte Kontonummer für den Auszug eingeben: ");
int kontonummer = Integer.parseInt(sc.nextLine());
System.out.println("Auszug für Konto " + kontonummer);
String[] kontobewegungen = bs.erstelleKontoauszug(kontonummer);
try {
if (kontobewegungen.length > 0)
for (String kb : kontobewegungen) {
System.out.println(kb);
}
running = false;
} catch (Exception e) {
System.out.println("Keine Kontobewegungen vorhanden");
running = false;
}
} catch (Exception e) {
System.err.println("Kontoauszug fehlgeschlagen!");
e.printStackTrace();
break;
}
}
}
private void überweisungBeauftragen() throws Exception {
boolean running = true;
int startkonto = 0;
int zielkonto = 0;
double betrag = 0;
String verwendungszweck = "";
while (running) {
System.out.print("Bitte geben Sie die Kontonummer des Ausgangskontos der Überweisung ein: ");
try {
startkonto = Integer.parseInt(sc.nextLine());
if(bs.getKonten().containsKey(startkonto)){
System.out.print("Bitte geben Sie die Kontonummer des Zielkontos der Überweisung ein: ");
try {
zielkonto = Integer.parseInt(sc.nextLine());
if(bs.getKonten().containsKey(zielkonto)){
System.out.print("Bitte geben Sie den gewünschten Überweisungsbetrag ein: ");
try {
betrag = Double.parseDouble(sc.nextLine());
} catch (Exception e) {
System.err.println("Betrag muss eine Zahl sein!");
e.printStackTrace();
break;
}
System.out.print("Bitte geben Sie den Verwendungszweck ein: ");
verwendungszweck = sc.nextLine();
} else {
System.out.println("Zielkonto existiert nicht!");
break;
}
} catch (Exception e) {
System.err.println("Kontonummer muss eine Zahl sein!");
e.printStackTrace();
break;
}
} else {
System.out.println("Startkonto existiert nicht!");
break;
}
} catch (Exception e) {
System.err.println("Kontonummer muss eine Zahl sein!");
e.printStackTrace();
break;
}
running = false;
}
boolean erfolgreich = bs.überweisungBeauftragen(startkonto, zielkonto, (long) (betrag * 100), verwendungszweck);
System.out.println("Überweisung" + ((!erfolgreich) ? " nicht" : "") + " erfolgreich ausgeführt.");
}
private void saldoAbfragen() {
boolean running = true;
int kontonummer = 0;
int anzahl = 0;
while(running) {
System.out.print("Geben Sie bitte die Kontonummer des gewünschten Kontos ein: ");
try {
kontonummer = Integer.parseInt(sc.nextLine());
if(bs.getKonten().containsKey(kontonummer)){
System.out.print("Bitte geben Sie die Anzahl der Kontobewegungen für den Saldo ein: ");
try {
anzahl = Integer.parseInt(sc.nextLine());
} catch (Exception e) {
System.err.println("die Anzahl muss eine Zahl sein!");
e.printStackTrace();
break;
}
} else {
System.out.println("Kontonummer existiert nicht");
break;
}
} catch (Exception e) {
System.err.println("Kontonummer muss eine Zahl sein!");
e.printStackTrace();
break;
}
running = false;
}
long saldo = bs.saldoBestimmen(kontonummer, anzahl);
System.out.printf("Der Saldo nach %d Kontobewegungen beträgt %.2f Euro.%n", anzahl, (saldo / 100d));
}
private void aktienKaufen() {
boolean running = true;
int kontonummer = 0;
int anzahl = 0;
String aktienName = "";
while (running) {
System.out.println("Aktien kaufen");
System.out.print("Bitte geben Sie die Kontonummer ein: ");
try {
kontonummer = Integer.parseInt(sc.nextLine());
if(bs.getKonten().containsKey(kontonummer)){
System.out.println("Folgende Aktien sind Verfügbar");
System.out.println("1 -> Deutsche Bank AG (DBK.DE)\n2 -> Deere & Company (DCO.DE)");
System.out.print("Bitte geben Sie den Namen in Klammern ein um den Preis zu sehen:");
aktienName = sc.nextLine();
System.out.println("Preis der Aktie");
System.out.println(bs.getAktienPreis(aktienName));
System.out.print("Bitte geben Sie die Anzahld er Aktien ein, die sie kaufen möchten: ");
try {
anzahl = Integer.parseInt(sc.nextLine());
} catch (Exception e) {
System.err.println("Die Anzahl muss eine Zahl sein!");
e.printStackTrace();
break;
}
} else {
System.out.println("Kontonummer existiert nicht!");
break;
}
} catch (Exception e) {
System.err.println("Kontonummer muss eine Zahl sein!");
e.printStackTrace();
break;
}
running = false;
}
boolean erg = bs.aktienKauf(kontonummer, anzahl, aktienName);
System.out.printf("Aktienkauf" + ((!erg)? " nicht" : "" ) + " erfolgreich. ");
}
}