diff --git a/build/classes/guimybank/ContoCorrente.class b/build/classes/guimybank/ContoCorrente.class index 36cdd01..5dad5c3 100644 Binary files a/build/classes/guimybank/ContoCorrente.class and b/build/classes/guimybank/ContoCorrente.class differ diff --git a/build/classes/guimybank/GUIMyBank$1.class b/build/classes/guimybank/GUIMyBank$1.class index 7d3609e..376bb1d 100644 Binary files a/build/classes/guimybank/GUIMyBank$1.class and b/build/classes/guimybank/GUIMyBank$1.class differ diff --git a/build/classes/guimybank/GUIMyBank$2.class b/build/classes/guimybank/GUIMyBank$2.class index fe3e1a7..b54f1d5 100644 Binary files a/build/classes/guimybank/GUIMyBank$2.class and b/build/classes/guimybank/GUIMyBank$2.class differ diff --git a/build/classes/guimybank/GUIMyBank$3.class b/build/classes/guimybank/GUIMyBank$3.class index f1016fa..184e5bb 100644 Binary files a/build/classes/guimybank/GUIMyBank$3.class and b/build/classes/guimybank/GUIMyBank$3.class differ diff --git a/build/classes/guimybank/GUIMyBank$4.class b/build/classes/guimybank/GUIMyBank$4.class index 59c429c..764548f 100644 Binary files a/build/classes/guimybank/GUIMyBank$4.class and b/build/classes/guimybank/GUIMyBank$4.class differ diff --git a/build/classes/guimybank/GUIMyBank$5.class b/build/classes/guimybank/GUIMyBank$5.class index 33cc3ce..8227be7 100644 Binary files a/build/classes/guimybank/GUIMyBank$5.class and b/build/classes/guimybank/GUIMyBank$5.class differ diff --git a/build/classes/guimybank/GUIMyBank.class b/build/classes/guimybank/GUIMyBank.class index 5c0db0a..9b0713e 100644 Binary files a/build/classes/guimybank/GUIMyBank.class and b/build/classes/guimybank/GUIMyBank.class differ diff --git a/build/classes/guimybank/GUIMyBank.form b/build/classes/guimybank/GUIMyBank.form index 2ab9e11..051ed83 100644 --- a/build/classes/guimybank/GUIMyBank.form +++ b/build/classes/guimybank/GUIMyBank.form @@ -23,8 +23,8 @@ - - + + @@ -68,6 +68,10 @@ + + + + @@ -107,7 +111,9 @@ - + + + @@ -196,6 +202,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/guimybank/ContoCorrente.java b/src/guimybank/ContoCorrente.java index c198e63..47a3118 100644 --- a/src/guimybank/ContoCorrente.java +++ b/src/guimybank/ContoCorrente.java @@ -16,6 +16,7 @@ private String nome; private String codiceFiscale; private double saldo;private int numeroContoCorrente; //private Date dataDiNascita; + private StringBuilder logOperazioni = new StringBuilder(); public ContoCorrente(String nome, String cognome, String codiceFiscale, /*Date dataDiNascita,*/ double saldo) { this.nome = nome; @@ -23,6 +24,7 @@ private String nome; this.codiceFiscale = codiceFiscale; //this.dataDiNascita = dataDiNascita; this.saldo = saldo; + logOperazione("Saldo iniziale di " + saldo); } public double getSaldo() { @@ -31,14 +33,24 @@ private String nome; public void versa(double quantita){ this.saldo += quantita; + logOperazione("Versameno di " + quantita); } - public void preleva(double quantita) throws IllegalArgumentException{ + public void preleva(double quantita) throws IllegalArgumentException { if (quantita > this.saldo) { throw new IllegalArgumentException("La quantità desiderata eccede il saldo corrente."); - } - else { + } else { this.saldo -= quantita; + logOperazione("Prelievo di " + quantita); } } + + private void logOperazione(String operazione) { + logOperazioni.append(operazione); + logOperazioni.append("\n"); + } + + public String getLogOperazioni() { + return logOperazioni.toString(); + } } \ No newline at end of file diff --git a/src/guimybank/GUIMyBank.form b/src/guimybank/GUIMyBank.form index 2ab9e11..051ed83 100644 --- a/src/guimybank/GUIMyBank.form +++ b/src/guimybank/GUIMyBank.form @@ -23,8 +23,8 @@ - - + + @@ -68,6 +68,10 @@ + + + + @@ -107,7 +111,9 @@ - + + + @@ -196,6 +202,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/guimybank/GUIMyBank.java b/src/guimybank/GUIMyBank.java index f6a0294..997e331 100644 --- a/src/guimybank/GUIMyBank.java +++ b/src/guimybank/GUIMyBank.java @@ -33,6 +33,8 @@ public class GUIMyBank extends javax.swing.JFrame { btnVersamento.setVisible(false); btnPrelievo.setVisible(false); btnListaMovimenti.setVisible(false); + txtaListaMovimenti.setVisible(false); + txtaListaMovimenti.setEditable(false); } /** @@ -43,7 +45,7 @@ public class GUIMyBank extends javax.swing.JFrame { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents + // //GEN-BEGIN:initComponents private void initComponents() { lblNome = new javax.swing.JLabel(); @@ -61,6 +63,8 @@ public class GUIMyBank extends javax.swing.JFrame { btnVersamento = new javax.swing.JButton(); btnPrelievo = new javax.swing.JButton(); btnListaMovimenti = new javax.swing.JButton(); + jScrollPane1 = new javax.swing.JScrollPane(); + txtaListaMovimenti = new javax.swing.JTextArea(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); @@ -116,115 +120,97 @@ public class GUIMyBank extends javax.swing.JFrame { btnPrelievo.addActionListener(this::btnPrelievoActionPerformed); btnListaMovimenti.setText("Lista movimenti"); + btnListaMovimenti.addActionListener(this::btnListaMovimentiActionPerformed); + + txtaListaMovimenti.setColumns(20); + txtaListaMovimenti.setRows(5); + jScrollPane1.setViewportView(txtaListaMovimenti); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout - .createSequentialGroup() - .addGap(17, 17, 17) - .addGroup(layout - .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(lblDataDiNascita) - .addComponent(lblSaldoIniziale)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING, - false) - .addGroup(layout.createSequentialGroup() - .addComponent(txtDataDiNascita, - javax.swing.GroupLayout.PREFERRED_SIZE, - 64, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(btnDataDiNascita, - javax.swing.GroupLayout.PREFERRED_SIZE, - 39, - javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(txtSaldoIniziale)) - .addGap(37, 37, 37) - .addGroup(layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(btnVersamento) - .addComponent(btnPrelievo) - .addComponent(btnListaMovimenti))) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(lblNome) - .addComponent(lblCognome) - .addComponent(lblCodiceFiscale)) - .addGap(26, 26, 26) - .addGroup(layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(txtNome, - javax.swing.GroupLayout.PREFERRED_SIZE, - 113, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(txtCodiceFiscale, - javax.swing.GroupLayout.PREFERRED_SIZE, - 115, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(txtCognome, - javax.swing.GroupLayout.PREFERRED_SIZE, - 113, - javax.swing.GroupLayout.PREFERRED_SIZE))))) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, - layout.createSequentialGroup() - .addGap(99, 99, 99) - .addComponent(btnAprireContoCorrente))) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(17, 17, 17) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(lblDataDiNascita) + .addComponent(lblSaldoIniziale)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(layout.createSequentialGroup() + .addComponent(txtDataDiNascita, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(btnDataDiNascita, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(txtSaldoIniziale)) + .addGap(37, 37, 37) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(btnVersamento) + .addComponent(btnPrelievo) + .addComponent(btnListaMovimenti))) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(lblNome) + .addComponent(lblCognome) + .addComponent(lblCodiceFiscale)) + .addGap(26, 26, 26) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(txtCodiceFiscale, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(txtCognome, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE))))) + .addGroup(layout.createSequentialGroup() + .addGap(99, 99, 99) + .addComponent(btnAprireContoCorrente)) + .addGroup(layout.createSequentialGroup() + .addGap(56, 56, 56) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(14, 14, 14) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblNome) - .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblCognome) - .addComponent(txtCognome, javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(btnVersamento)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblCodiceFiscale) - .addComponent(txtCodiceFiscale, javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(btnPrelievo)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblDataDiNascita) - .addComponent(txtDataDiNascita, javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(btnDataDiNascita) - .addComponent(btnListaMovimenti)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblSaldoIniziale) - .addComponent(txtSaldoIniziale, javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) - .addComponent(btnAprireContoCorrente) - .addContainerGap(58, Short.MAX_VALUE))); + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGap(14, 14, 14) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblNome) + .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblCognome) + .addComponent(txtCognome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(btnVersamento)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblCodiceFiscale) + .addComponent(txtCodiceFiscale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(btnPrelievo)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblDataDiNascita) + .addComponent(txtDataDiNascita, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(btnDataDiNascita) + .addComponent(btnListaMovimenti)) + .addGap(18, 18, 18) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblSaldoIniziale) + .addComponent(txtSaldoIniziale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(18, 18, 18) + .addComponent(btnAprireContoCorrente) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(9, Short.MAX_VALUE)) + ); pack(); }// //GEN-END:initComponents + private void btnListaMovimentiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnListaMovimentiActionPerformed + txtaListaMovimenti.setText(contoCorrente.getLogOperazioni()); + txtaListaMovimenti.setVisible(true); + }//GEN-LAST:event_btnListaMovimentiActionPerformed + private void txtNomeFocusGained(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_txtNomeFocusGained txtNome.setBorder(borderOriginale); }// GEN-LAST:event_txtNomeFocusGained @@ -408,6 +394,7 @@ public class GUIMyBank extends javax.swing.JFrame { private javax.swing.JButton btnListaMovimenti; private javax.swing.JButton btnPrelievo; private javax.swing.JButton btnVersamento; + private javax.swing.JScrollPane jScrollPane1; private javax.swing.JLabel lblCodiceFiscale; private javax.swing.JLabel lblCognome; private javax.swing.JLabel lblDataDiNascita; @@ -418,5 +405,6 @@ public class GUIMyBank extends javax.swing.JFrame { private javax.swing.JTextField txtDataDiNascita; private javax.swing.JTextField txtNome; private javax.swing.JTextField txtSaldoIniziale; + private javax.swing.JTextArea txtaListaMovimenti; // End of variables declaration//GEN-END:variables }