KontoVerwalten 1.0 (Alpha) und 1.1 (Final) [DEUTSCH]



Vor paar Stunden haben wir auf unserer Facebookseite und auf Twitter über das Programm oder App welches den Namen “KontoVerwalten“ besitzt mitgeteilt, dass wir es auf GitHub hochladen werden. Somit lade ich die Versionen 1.0 und 1.1 auf GitHub hoch und möchte hier auf Java2Enterprise die Rezension darüberschreiben. Das Programm Verwaltet die Kontodaten eines Kunden bei einer beliebigen Bankinstitut wie Kontoinhaber, Kontonummer, Kontostand, BIC, IBAN, Bank und Zustand der Konto. Das Programm speichert die angegebenen String, double und integer Werte nicht nur im Arbeitsspeicher sondern hat ebenfalls Zugriff auf die Festplatte. Dies hat den Vorteil, dass die angegebenen Informationen nicht nur dann gespeichert werden wenn das Programm läuft sondern kann jederzeit vom Speicher abgerufen werden. Bis jetzt hatten wir Programme geschrieben, in denen die jeweiligen Werte/Attribute nur dann gespeichert wurden, wenn das Programm im Betrieb war. Sobald das Programm beendet wurde oder vom Speicher gelöscht worden war, wurden ebenfalls die gespeicherten Attribute vom Speicher gelöscht. Als Beispiel könnt ihr euch den Beispiel >>HIER<< mit dem ArrayList und LinkedList nehmen. Dort haben wir eine ArrayList und LinkedList programmiert in dem wir Werte als String und Integer sowie Double Werte eingespeichert haben. Diese wurden von dem Compiler solange gemerkt solange das Programm aufgeführt wurde. Nach dem Beenden der Konsole Anwendung wurden diese wieder vom Speicher gelöscht. Das wurde vom Betriebssystem kontrolliert unternommen damit mehr Speicher für das Betriebssystem zur Verfügung steht. Kommen wir wieder zu unserem Programm. Obwohl wir bis Heute keinerlei GUI (GRAPHICAL USER INTERFACE) Applikationen programmiert haben ist es unwahrscheinlich den Quellcode zu verstehen. Jedoch diejenigen, die sich mit den Beispielen, welches ich in den Vergangenen Wochen hier auf der Webseite und auf GitHub hochgeladen habe, auseinander setzten kann, werden sich nicht schwer tun und meine Hingehens Weise nachvollziehen können.
Wir wenden uns zu unserem Programm. Ich habe das identische Datei, welches ich >>Version 1.1<< und >>Version 1.0<< hochgeladen habe, unten eingetragen und werde euch den Codeverlauf Schritt für Schritt erklären. Sobald ihr Fragen habt bitte ich euch mich mit einem Kommentar oder per Mail zu benachrichtigen.

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
Zeile 000 definieren wir unsere Package in denen sich unsere Klassen befinden.
Zeile 002 – 005 importieren wir die Pakete mit denen wir voreingestellte Funktionen bedienen.
In der Klasse „KontoVerwalten“ welches wir in der Zeile 007 programmiert haben befindet sich insgesamt drei Klassenattribute mit dem Datentypen String, double und boolean.
Diese Klasse beinhaltet ebenfalls zwei Konstruktoren. Der erste Konstruktor ist ein defaultkonstruktor und das zweite ist ein Konstruktor welches bestimmte Parameter von dem Benutzer erwartet. Ohne diese Parameter würde das Programm nichts machen können da in dem Default Konstruktor keine Funktion einprogrammiert worden ist.
Ab der Zeile 020 fängt die Methode an, die den Kontostand der Benutzer abfrägt.
In der Zeile 024 wird der Kontostand, sobald diese Methode aufgerufen wird, geleert was bedeutet, dass die Variable stand = 0 gesetzt wird.
In der Zeile 028 wird ein double Parameter von der Methode erwartet. Dieses Wert wird zu dem aktuellen Kontostand addiert und mit dem return Statement zurückgegeben.
In der Zeile 032 kann der Benutzer diesmal das Geld von dem aktuellen Kontostand abbuchen. Hier ist eine Verzweigung nötig. Falls der Benutzer mehr Geld abheben möchte, also wenn der Betrag größer als das Betrag welches im Konto verfügbar ist, dann  wird -1 ausgeliefert was in der Programmiersprache meistens als False gewertet wird. Sobald der Geldbetrag welches wir abbuchen möchten kleiner gleich dem Kontostand ist, wird das Geld ausgezahlt.
Ab der Zeile 042 wird die Klasse zur Entwicklung der JFrame programmiert. In dieser Klasse  werden die Tasten, Textfelder, Farben etc. programmiert. Natürlich wird hier die Größe, Startposition, Schriftart, -größe, etc. programmiert.
In der Zeile 044 wird die Klasse “KontoAnzeigen“ mit der Klasse “KontoVerwalten“ verkettet.
In der Zeile 104 wird die Klasse Listener programmiert. Diese Klasse implementiert von dem Paketen ActionListener. Auf deutsch Aktion hörer. Das bedeutet, dass diese Funktion auf eine Eingabe des Benutzers wartet, sobald diese die Anwendung gestartet hat. Also der ActionListener ist stets immer da, sobald das Programm läuft. Wenn wir den Button “Laden“ tätigen wird die Methode “liesKonto“ auf der Zeile 143 ausgelöst. Diese Methode ruft die beiden Funktionen FileReader und BufferedReader. Mithilfe von FileReader können wir Textdateien einlesen und mit FileWriter können wir Textdateien schreiben. Zudem benötigen wir BufferedReader welches wir über dem FileReader legen ansonsten müssten wir die Zeichen/Buchstaben/Ziffern etc einzeln lesen und überprüfen. Genau das wird ebenfalls in der Zeile 158 ebenfalls unternommen. In dieser Methode werden die Angaben welches der Benutzer in das Programm eingegeben hat, in einer Textdatei eingespeichert welches sich in dem Ordner befindet, in denen sich ebenfalls die Anwendung befindet.

In der Main Methode der beiden Versionen wird der Konstruktor, welches Parameter erwartet, aufgerufen. Bei der Objekterzeugung müssen wir die Variablen an der richtigen stelle einordnen. Der Konstruktor erwartet als erstes den Namen, welches am Anfang im Speicher angelegt werden soll. In diesem fall ist das der Donald Duck. Danach kommt sein Kontostand. Herr Duck hat diesmal sehr wenig Geld. Dieses ist 200.00 Im Entenhausen hatte er es viel besser. Danach kommt als boolean der Zustand der Konto.
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/

Programm KontoVerwalten 1.0 (ALPHA)

000 package java2enterprise;
001
002 import java.io.*;
003 import java.awt.*;
004 import java.awt.event.*;
005 import javax.swing.*;
006
007 public class KontoVerwalten {
008    public String inhaber;
009    private double stand;
010    public boolean gesperrt;
011
012    KontoVerwalten() { }
013
014    KontoVerwalten(String inhaber, double stand, boolean gesperrt) {
015           this.inhaber = inhaber;
016           this.stand = stand;
017           this.gesperrt = gesperrt;
018    }
019
020    public double abfragen() {
021           return stand;
022    };
023
024    public void leeren() {
025           stand = 0;
026    };
027
028    public void einzahlen(double betrag) {
029           stand += betrag;
030    };
031
032    public double abheben(double betrag) {
033           if (betrag<=stand) {
034                  stand -= betrag;
035                  return betrag; }
036           else {
037                  return -1;
038           }
039    };
040 }
041
042 class KontoAnzeige extends JFrame {
043
044    KontoVerwalten konto;
045
046    JTextField feldInhaber, feldStand, feldGesperrt;
047
048    KontoAnzeige(KontoVerwalten konto) {
049
050           this.konto = konto;
051 
052           setLayout(new GridLayout(0, 1));
053
054           JLabel lab = new JLabel("Inhaber:");
055           lab.setFont(new Font("Arial",Font.BOLD,24));
056           add(lab);
057           feldInhaber = new JTextField();
058           feldInhaber.setFont(new Font("Arial",Font.BOLD,24));
059           add(feldInhaber);
060           lab = new JLabel("Stand:");
061           lab.setFont(new Font("Arial",Font.BOLD,24));
062           add(lab);
063           feldStand = new JTextField();
064           feldStand.setFont(new Font("Arial",Font.BOLD,24));
065           add(feldStand);
066           lab = new JLabel("Gesperrt:");
067           lab.setFont(new Font("Arial",Font.BOLD,24));
068           add(lab);
069           feldGesperrt = new JTextField();
070           feldGesperrt.setFont(new Font("Arial",Font.BOLD,24));
071           add(feldGesperrt);
072 
073           Listener lis = new Listener();
074 
075           JButton but = new JButton("Anzeigen");
076           but.setFont(new Font("Arial",Font.BOLD,24));
077           but.addActionListener(lis);
078           add(but);
079           but = new JButton("Übernehmen");
080           but.setFont(new Font("Arial",Font.BOLD,24));
081           but.addActionListener(lis);
082           add(but);
083           but = new JButton("Laden");
084           but.setFont(new Font("Arial",Font.BOLD,24));
085           but.addActionListener(lis);
086           add(but);
087           but.setFont(new Font("Arial",Font.BOLD,24));
088           but = new JButton("Speichern");
089           but.setFont(new Font("Arial",Font.BOLD,24));
090           but.addActionListener(lis);
091           add(but);
092           but = new JButton("Quit");
093           but.setFont(new Font("Arial",Font.BOLD,24));
094           but.addActionListener(lis);
095           add(but);
096           setLocation(200,200);
097           pack();
098           setVisible(true);
099           setSize(300, 400);
100           setTitle("KontoVerwalten Version 1.0");
101           setResizable(false);
102    }
103
104    class Listener implements ActionListener {
105
106           public void actionPerformed(ActionEvent e) {
107
108                  if (e.getActionCommand().equals("Anzeigen")) {
109                        feldInhaber.setText(konto.inhaber);
110                        feldStand.setText((new Double(konto.abfragen())).toString());
111                        feldGesperrt.setText((new Boolean(konto.gesperrt)).toString());
112                  }
113
114                  if (e.getActionCommand().equals("Übernehmen")) {
115                        konto.inhaber = feldInhaber.getText();
116                        konto.leeren();
117                        konto.einzahlen(Double.parseDouble(feldStand.getText()));
118                        konto.gesperrt = Boolean.parseBoolean(feldGesperrt.getText());
119                  }
120
121                  if (e.getActionCommand().equals("Laden")) {
122                        JFileChooser jfc = new JFileChooser();
123                        int auswahl = jfc.showOpenDialog(null);
124                        if (auswahl==JFileChooser.APPROVE_OPTION) {
125                                           liesKonto(jfc.getSelectedFile().getName());
126                                           feldInhaber.setText(konto.inhaber);
127                                           feldStand.setText((new Double(konto.abfragen())).toString());
128                                           feldGesperrt.setText((new Boolean(konto.gesperrt)).toString());
129                                  }
130                  }
131
132                  if (e.getActionCommand().equals("Speichern")) {
133                        String dateiname = JOptionPane.showInputDialog("Dateiname:");
134                        speichereKonto(dateiname);
135                  }
136
137                  if (e.getActionCommand().equals("Quit")) {
138                        System.exit(0);
139                  }
140           }
141    }
142
143    public void liesKonto(String dateiname) {
144           try {
145                  FileReader frd = new FileReader(dateiname);
146                  BufferedReader brd = new BufferedReader(frd);
147                  konto.inhaber = brd.readLine();
148                  konto.leeren();
149                  konto.einzahlen(Double.parseDouble(brd.readLine()));
150                  konto.gesperrt = Boolean.parseBoolean(brd.readLine());
151                  frd.close();
152           }
153           catch (Exception exc) {
154                  JOptionPane.showMessageDialog(null,"Fehler beim Laden");
155           }
156    }
157
158    public void speichereKonto(String dateiname) {
159           try {
160                  FileWriter fwri = new FileWriter(dateiname);
161                  PrintWriter pwri = new PrintWriter(fwri);
162                  pwri.println(konto.inhaber);
163                  pwri.println(konto.abfragen());
164                  pwri.println(konto.gesperrt);
165                  fwri.close();
166           }
167           catch (Exception exc) {
168                  JOptionPane.showMessageDialog(null,"Fehler beim Speichern");
169           }
170    }
171 }







000 package java2enterprise;
001 import java.io.IOException;
002 public class KontoIOGrafisch {
003    public static void main(String[] args) throws IOException, ClassNotFoundException {
004           KontoVerwalten meinKonto = new KontoVerwalten("Donald Duck",200.0,false);
006           new KontoAnzeige(meinKonto);
007    }
008 }


Programm KontoVerwalten 1.1 (FINAL)

000 package java2enterpriseVersion1_1;
001
002 import java.io.*;
003 import java.awt.*;
004 import java.awt.event.*;
005 import javax.swing.*;
006 import javax.swing.border.EmptyBorder;
007
008 public class KontoVerwalten {
009
010    public String inhaber;
011    private double stand;
012    public boolean gesperrt;
013
014    KontoVerwalten() {
015    }
016    KontoVerwalten(String inhaber, double stand, boolean gesperrt) {
017           this.inhaber = inhaber;
018           this.stand = stand;
019           this.gesperrt = gesperrt;
020    }
021
022    public double abfragen() {
023           return stand;
024    };
025
026    public void leeren() {
027           stand = 0;
028    };
029
030    public void einzahlen(double betrag) {
031           stand += betrag;
032    };
033
034    public double abheben(double betrag) {
035           if (betrag<=stand) {
036                  stand -= betrag;
037                  return betrag;
038             }
039           else {
040                  return -1;
041           }
042    };
043 }
044
045 class KontoAnzeige extends JFrame {
046
047    KontoVerwalten konto;
048
049    JTextField feldInhaber, feldStand, feldGesperrt;
050
051    KontoAnzeige(KontoVerwalten konto) {
052
053           this.konto = konto;
054
055           setLayout(new GridLayout(0, 1));
056
057           JLabel lab = new JLabel("Inhaber:");
058           lab.setFont(new Font("Arial",Font.BOLD,24));
059           add(lab);
060           feldInhaber = new JTextField();
061           feldInhaber.setFont(new Font("Arial",Font.BOLD,24));
062           add(feldInhaber);
063           lab = new JLabel("Stand:");
064           lab.setFont(new Font("Arial",Font.BOLD,24));
065           add(lab);
066           feldStand = new JTextField();
067           feldStand.setFont(new Font("Arial",Font.BOLD,24));
068           add(feldStand);
069           lab = new JLabel("Gesperrt:");
070           lab.setFont(new Font("Arial",Font.BOLD,24));
071           add(lab);
072           feldGesperrt = new JTextField();
073           feldGesperrt.setFont(new Font("Arial",Font.BOLD,24));
074           add(feldGesperrt);
075 
076           Listener lis = new Listener();
077 
078           JButton but = new JButton("Anzeigen");
079          
080           but.setFont(new Font("Arial",Font.BOLD,24));
081           but.addActionListener(lis);
082           add(but);
083          
084           but = new JButton("Übernehmen");
085           but.setFont(new Font("Arial",Font.BOLD,24));
086           but.addActionListener(lis);
087           add(but);
088          
089           but = new JButton("Laden");
090           but.setFont(new Font("Arial",Font.BOLD,24));
091           but.addActionListener(lis);
092           add(but);
093          
094           but.setFont(new Font("Arial",Font.BOLD,24));
095           but = new JButton("Speichern");
096           but.setFont(new Font("Arial",Font.BOLD,24));
097           but.addActionListener(lis);
098           add(but);
099          
100           but.setFont(new Font("Arial",Font.BOLD,24));
101           but = new JButton("Support");
102           but.setFont(new Font("Arial",Font.BOLD,24));
103           but.addActionListener(lis);
104           add(but);
105          
106           but = new JButton("Quit");
107           but.setFont(new Font("Arial",Font.BOLD,24));
108           but.addActionListener(lis);
109           add(but);
110          
111           setLocation(200,200);
112           pack();
113           setVisible(true);
114           setSize(350, 600);
115           setTitle("KontoVerwalten Version 1.1");
116           setResizable(false);
117           setBackground(Color.BLUE);
118    }
119
120    class Listener implements ActionListener {
121
122           public void actionPerformed(ActionEvent e) {
123
124                  if (e.getActionCommand().equals("Anzeigen")) {
125                        feldInhaber.setText(konto.inhaber);
126                        feldStand.setText((new Double(konto.abfragen())).toString());
127                        feldGesperrt.setText((new Boolean(konto.gesperrt)).toString());
128                  }
129
130                  if (e.getActionCommand().equals("Übernehmen")) {
131                        konto.inhaber = feldInhaber.getText();
132                        konto.leeren();
133                        konto.einzahlen(Double.parseDouble(feldStand.getText()));
134                        konto.gesperrt = Boolean.parseBoolean(feldGesperrt.getText());
135                  }
136
137                  if (e.getActionCommand().equals("Laden")) {
138                                  JFileChooser jfc = new JFileChooser();
139                                  int auswahl = jfc.showOpenDialog(null);
140                                  if (auswahl==JFileChooser.APPROVE_OPTION) {
141                                            liesKonto(jfc.getSelectedFile().getName());
142                                            feldInhaber.setText(konto.inhaber);
143                                            feldStand.setText((new Double(konto.abfragen())).toString());
144                                            feldGesperrt.setText((new Boolean(konto.gesperrt)).toString());
145                                  }
146                         }
147
148                  if (e.getActionCommand().equals("Speichern")) {
149                        String dateiname = JOptionPane.showInputDialog("Dateiname:");
150                        speichereKonto(dateiname);
151                  }
152                 
153                  if (e.getActionCommand().equals("Support")) {
154                                  setIconImage(Toolkit.getDefaultToolkit().getImage("E:\\icons\\gjICOx3n_400x400.jpg"));
155                                  setTitle("Support");
156                        setResizable(false);
157                        setBounds(100, 100, 450, 300);
158                        JPanel contentPane = new JPanel();
159                        contentPane.setForeground(Color.WHITE);
160                        contentPane.setBackground(Color.MAGENTA);
161                        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
162                        setContentPane(contentPane);
163                        contentPane.setLayout(null);
164                       
165                        JLabel lblNewLabel = new JLabel("Java2Enterprise TEAM");
166                        lblNewLabel.setFont(new Font("Arial", Font.BOLD, 16));
167                        lblNewLabel.setBounds(130, 11, 189, 29);
168                        contentPane.add(lblNewLabel);
169                       
170                        JLabel lblNewLabel_1 = new JLabel("Online :");
171                        lblNewLabel_1.setBackground(Color.MAGENTA);
172                        lblNewLabel_1.setForeground(Color.BLACK);
173                        lblNewLabel_1.setFont(new Font("Arial", Font.PLAIN, 11));
174                        lblNewLabel_1.setBounds(10, 51, 54, 14);
175                        contentPane.add(lblNewLabel_1);
176                       
177                        JLabel lblNewLabel_2 = new JLabel("Facebook -> ");
178                        lblNewLabel_2.setFont(new Font("Arial", Font.PLAIN, 11));
179                        lblNewLabel_2.setBackground(Color.MAGENTA);
180                        lblNewLabel_2.setForeground(Color.BLACK);
181                        lblNewLabel_2.setBounds(83, 51, 94, 14);
182                        contentPane.add(lblNewLabel_2);
183                       
184                        JLabel lblTwitter = new JLabel("Twitter -> ");
185                        lblTwitter.setFont(new Font("Arial", Font.PLAIN, 11));
186                        lblTwitter.setBackground(Color.MAGENTA);
187                        lblTwitter.setForeground(Color.BLACK);
188                        lblTwitter.setBounds(83, 72, 94, 14);
189                        contentPane.add(lblTwitter);
190                        
191                        JLabel lblInstagram = new JLabel("Instagram -> ");
192                        lblInstagram.setFont(new Font("Arial", Font.PLAIN, 11));
193                        lblInstagram.setBackground(Color.MAGENTA);
194                        lblInstagram.setForeground(Color.BLACK);
195                        lblInstagram.setBounds(83, 91, 94, 14);
196                        contentPane.add(lblInstagram);
197                       
198                        JLabel lblServiceLine = new JLabel("Service :");
199                        lblServiceLine.setFont(new Font("Arial", Font.PLAIN, 11));
200                        lblServiceLine.setBackground(Color.MAGENTA);
201                        lblServiceLine.setForeground(Color.BLACK);
202                        lblServiceLine.setBounds(10, 152, 67, 14);
203                        contentPane.add(lblServiceLine);
204                       
205                        JLabel lblTelefon = new JLabel("Telefon ->");
206                        lblTelefon.setFont(new Font("Arial", Font.PLAIN, 11));
207                        lblTelefon.setBackground(Color.MAGENTA);
208                        lblTelefon.setForeground(Color.BLACK);
209                        lblTelefon.setBounds(83, 152, 94, 14);
210                        contentPane.add(lblTelefon);
211                       
212                        JLabel label = new JLabel("EMail -> ");
213                        label.setFont(new Font("Arial", Font.PLAIN, 11));
214                        label.setBackground(Color.MAGENTA);
215                        label.setForeground(Color.BLACK);
216                        label.setBounds(83, 172, 94, 14);
217                        contentPane.add(label);
218                       
219                        JLabel lblNewLabel_3 = new JLabel("Anschrift :");
220                        lblNewLabel_3.setFont(new Font("Arial", Font.PLAIN, 11));
221                        lblNewLabel_3.setBackground(Color.MAGENTA);
222                        lblNewLabel_3.setForeground(Color.BLACK);
223                        lblNewLabel_3.setBounds(10, 196, 67, 14);
224                        contentPane.add(lblNewLabel_3);
225                        
226                        JLabel lblJavaenterpriseTeam = new JLabel("Java2Enterprise TEAM");
227                                  lblJavaenterpriseTeam.setFont(new Font("Arial", Font.PLAIN, 11));
228                        lblJavaenterpriseTeam.setBackground(Color.MAGENTA);
229                        lblJavaenterpriseTeam.setForeground(Color.BLACK);
230                        lblJavaenterpriseTeam.setBounds(83, 196, 152, 14);
231                        contentPane.add(lblJavaenterpriseTeam);
232                       
233                        JLabel lblMuhammetEsmer = new JLabel("Muhammet Esmer");
234                        lblMuhammetEsmer.setFont(new Font("Arial", Font.PLAIN, 11));
235                        lblMuhammetEsmer.setBackground(Color.MAGENTA);
236                        lblMuhammetEsmer.setForeground(Color.BLACK);
237                        lblMuhammetEsmer.setBounds(83, 212, 152, 14);
238                        contentPane.add(lblMuhammetEsmer);
239                       
240                        JLabel lblBreitscheidstrae = new JLabel("Breitscheidstra\u00DFe 100");
241                        lblBreitscheidstrae.setFont(new Font("Arial", Font.PLAIN, 11));
242                        lblBreitscheidstrae.setBackground(Color.MAGENTA);
243                        lblBreitscheidstrae.setForeground(Color.BLACK);
244                        lblBreitscheidstrae.setBounds(83, 229, 152, 14);
245                        contentPane.add(lblBreitscheidstrae);
246                       
247                        JLabel lblStuttgart = new JLabel("70176 Stuttgart");
248                        lblStuttgart.setFont(new Font("Arial", Font.PLAIN, 11));
249                        lblStuttgart.setBackground(Color.MAGENTA);
250                        lblStuttgart.setForeground(Color.BLACK);
251                        lblStuttgart.setBounds(83, 246, 152, 14);
252                        contentPane.add(lblStuttgart);
253                       
254                        JLabel lblNewLabel_4 = new JLabel("https://facebook.com/developerjava2enterprise/");
255                        lblNewLabel_4.setFont(new Font("Arial", Font.PLAIN, 11));
256                        lblNewLabel_4.setBackground(Color.MAGENTA);
257                        lblNewLabel_4.setForeground(Color.BLACK);
258                        lblNewLabel_4.setBounds(187, 51, 247, 14);
259                        contentPane.add(lblNewLabel_4);
260                       
261                        JLabel lblHttpstwittercomjedev = new JLabel("https://twitter.com/J2E_Dev");
262                        lblHttpstwittercomjedev.setFont(new Font("Arial", Font.PLAIN, 11));
263                        lblHttpstwittercomjedev.setBackground(Color.MAGENTA);
264                        lblHttpstwittercomjedev.setForeground(Color.BLACK);
265                        lblHttpstwittercomjedev.setBounds(187, 72, 247, 14);
266                        contentPane.add(lblHttpstwittercomjedev);
267                       
268                        JLabel lblHttpsinstagramcomjavaenterprise = new JLabel("https://instagram.com/java2enterprise/");
269                        lblHttpsinstagramcomjavaenterprise.setFont(new Font("Arial", Font.PLAIN, 11));
270                        lblHttpsinstagramcomjavaenterprise.setBackground(Color.MAGENTA);
271                        lblHttpsinstagramcomjavaenterprise.setForeground(Color.BLACK);
272                        lblHttpsinstagramcomjavaenterprise.setBounds(187, 91, 247, 14);
273                        contentPane.add(lblHttpsinstagramcomjavaenterprise);
274                       
275                        JLabel label_3 = new JLabel("+49 176 3685 3169");
276                        label_3.setFont(new Font("Arial", Font.PLAIN, 11));
277                        label_3.setBackground(Color.MAGENTA);
278                        label_3.setForeground(Color.BLACK);
279                        label_3.setBounds(187, 152, 247, 14);
280                        contentPane.add(label_3);
281                       
282                        JLabel lblMuhammetesmergmailcom = new JLabel("muhammetesmer61@gmail.com");
283                        lblMuhammetesmergmailcom.setFont(new Font("Arial", Font.PLAIN, 11));
284                        lblMuhammetesmergmailcom.setBackground(Color.MAGENTA);
285                        lblMuhammetesmergmailcom.setForeground(Color.BLACK);
286                        lblMuhammetesmergmailcom.setBounds(187, 172, 247, 14);
287                        contentPane.add(lblMuhammetesmergmailcom);
288                       
289                        JLabel lblTelegram = new JLabel("Telegram -> ");
290                        lblTelegram.setFont(new Font("Arial", Font.PLAIN, 11));
291                        lblTelegram.setBackground(Color.MAGENTA);
292                        lblTelegram.setForeground(Color.BLACK);
293                        lblTelegram.setBounds(83, 110, 94, 14);
294                        contentPane.add(lblTelegram);
295                       
296                        JLabel lblHttpstmejavaenterprisesupport = new JLabel("https://t.me/java2enterprise4support");
297                        lblHttpstmejavaenterprisesupport.setFont(new Font("Arial", Font.PLAIN, 11));
298                        lblHttpstmejavaenterprisesupport.setBackground(Color.MAGENTA);
299                        lblHttpstmejavaenterprisesupport.setForeground(Color.BLACK);
300                        lblHttpstmejavaenterprisesupport.setBounds(187, 110, 247, 14);
301                        contentPane.add(lblHttpstmejavaenterprisesupport);
302                       
303                        JLabel lblWebseite = new JLabel("Webseite -> ");
304                        lblWebseite.setFont(new Font("Arial", Font.PLAIN, 11));
305                        lblWebseite.setBackground(Color.MAGENTA);
306                        lblWebseite.setForeground(Color.BLACK);
307                        lblWebseite.setBounds(83, 127, 94, 14);
308                        contentPane.add(lblWebseite);
309                       
310                        JLabel lblHttpswwwjavaenterpriseblogspotde = new JLabel("https://www.java2enterprise.blogspot.de/");
311                        lblHttpswwwjavaenterpriseblogspotde.setFont(new Font("Arial", Font.PLAIN, 11));
312                        lblHttpswwwjavaenterpriseblogspotde.setBackground(Color.MAGENTA);
313                        lblHttpswwwjavaenterpriseblogspotde.setForeground(Color.BLACK);
314                        lblHttpswwwjavaenterpriseblogspotde.setBounds(187, 127, 247, 14);
315                        contentPane.add(lblHttpswwwjavaenterpriseblogspotde);
316                       
317                        JButton btnNewButton = new JButton("Zur\u00FCck");
318                        btnNewButton.addActionListener(new ActionListener() {
319                               public void actionPerformed(ActionEvent arg0) {
320                                      // Geht wieder zum Programm Zurück
321                                      KontoVerwalten meinKonto = new KontoVerwalten("Donald Duck",200.0,false);
322                                      new KontoAnzeige(meinKonto);
323                               }
324                        });
325                        btnNewButton.setBounds(345, 242, 89, 23);
326                        contentPane.add(btnNewButton);
327                  }
328
329                  if (e.getActionCommand().equals("Quit")) {
330                        System.exit(0);
331                  }
332           }
333    }
334
335    public void liesKonto(String dateiname) {
336           try {
337                  FileReader frd = new FileReader(dateiname);
338                  BufferedReader brd = new BufferedReader(frd);
339                  konto.inhaber = brd.readLine();
340                  konto.leeren();
341                  konto.einzahlen(Double.parseDouble(brd.readLine()));
342                  konto.gesperrt = Boolean.parseBoolean(brd.readLine());
343                  frd.close();
344           }
345           catch (Exception exc) {
346                  JOptionPane.showMessageDialog(null,"Fehler beim Laden");
347           }
348    }
349
350    public void speichereKonto(String dateiname) {
351           try {
352                  FileWriter fwri = new FileWriter(dateiname);
353                  PrintWriter pwri = new PrintWriter(fwri);
354                  pwri.println(konto.inhaber);
355                  pwri.println(konto.abfragen());
356                  pwri.println(konto.gesperrt);
357                  fwri.close();
358           }
359           catch (Exception exc) {
360                  JOptionPane.showMessageDialog(null,"Fehler beim Speichern");
361           }
362    }
363 }
364
365


000 package java2enterprise;
001 import java.io.IOException;
002 public class KontoIOGrafisch {
003    public static void main(String[] args) throws IOException, ClassNotFoundException {
004           KontoVerwalten meinKonto = new KontoVerwalten("Donald Duck",200.0,false);
006           new KontoAnzeige(meinKonto);
007    }
008 }

Die Versionen 1.0 und 1.1 sehen wie folgt aus: 

Version 1.0:







Version 1.1:


Kommentare

Beliebte Posts aus diesem Blog

How can I transform a .jar file to a .bat file?

Raspberry Pi als echten Web- und Mailserver einsetzen (German)

Umrechnung von Grad Celsius nach Grad Fahrenheit