From 5525a4af02b1e8c7e50227e1d4754f5400b38d3f Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 17 Feb 2026 18:35:35 +0100 Subject: [PATCH] Lista movimenti --- build/classes/guimybank/ContoCorrente.class | Bin 1142 -> 2150 bytes build/classes/guimybank/GUIMyBank$1.class | Bin 835 -> 835 bytes build/classes/guimybank/GUIMyBank$2.class | Bin 838 -> 838 bytes build/classes/guimybank/GUIMyBank$3.class | Bin 844 -> 844 bytes build/classes/guimybank/GUIMyBank$4.class | Bin 844 -> 844 bytes build/classes/guimybank/GUIMyBank$5.class | Bin 844 -> 844 bytes build/classes/guimybank/GUIMyBank.class | Bin 12002 -> 12545 bytes build/classes/guimybank/GUIMyBank.form | 30 +++- src/guimybank/ContoCorrente.java | 18 +- src/guimybank/GUIMyBank.form | 30 +++- src/guimybank/GUIMyBank.java | 190 +++++++++----------- 11 files changed, 158 insertions(+), 110 deletions(-) diff --git a/build/classes/guimybank/ContoCorrente.class b/build/classes/guimybank/ContoCorrente.class index 36cdd010e9e6b9f2768ab4b12b46bb5b8a094b76..5dad5c375f84bce6d51cf07c8a0c5930aba9e6e3 100644 GIT binary patch literal 2150 zcmaJ?ZBr9h6n-uVByJbbm?&t~s8Eui1kh?L)+(TtHYyeyOYPfbb0@BBcGJywm-cVMP4 zY+?kXw5_-8#`cDEH_J<&8+c2e?<+S@0>h41f6!FEd~SQLEihhri`xb5@`#BHjtV4Q zuffZi9^=p|XX2Q)N?BfA8|s^5CdRdH*z#(&rS8}*OFH4nNfYnll)zw1IyFx~EN7UM zGbZvlOXdx^smR%q!DBmkN~sk{H)sju3d_Y_e1ll$O-x|&jo3&xSLn4bRx=PdlR`n@ z+f8q z!v64B<*M{;{T(Zl!Bd;%8?U^jCl}cN_f+uItF203HdLT|ny2e3Sc@8jFJPJNvPHcl zINN|6(s4nkNi}`ts4YsvYk{;j@5yEiZFK5LkB0YO+mq>Gy00933C5b&_I0O*ksQd` zjBXTOTJ*f275K6l@olB?fJqK%=J{No+idZC&CZK79tw<9HDk7u7wgu@aFtwbwH2vG zhwz1gDjuisrSAWAfraKKaj%rO*Ja4nz z>{G(7q8_;TXuGNUm_O;VkA~Aicdx}RmZamX*@0p)%@x;G{*ohGE!9flYk|q0nEFvo z;ah>z|8L6Y6UBwIeD?#K8$(<8I`j-`_*bKHGIi_1hM4sPIM?po5kMJQ?JI+|HMG|5Oyntc*CDIZDF z6m$(9g9qTXTUg|(Ln!mAb~9M|9VdRJFaXU<$H}=GVw;gcj4iN)saDXxkpM_Qx+~b~QNRQ~_ez>lN>*x52CkC}o J@D0Ah_`hKi(nA0M delta 667 zcmY+BTTa426o&t4sX!?T6e*%q@rKq5nix0WWe+}@YKV#22N!@VFd=>LO_yMdB1RK^ zcOfppNA*8L<0VbzoH=vm|GzVRFMMR|x6h{+06SRk+O0ws8D!J29pvCBc=4Cvbsznm z42B(yNGTmg?bGPwP&$haN>a;*(ZNx8xO;RK?jP%uvV&1n6s)uT+ZKqL>v@i5`QLOniJ)w{?jsQB8P?4UtWgESUb0x&bgRYyAMNL?L$OfsfG6HKwM!QDAb z3^CS%K2)&OLpoUQAs?*tPzb829^6}fcUpRMXPFA4$Wn6{9S<(X_|-7Oh7Af!+brf7 zB@-m2Gl3G&nmhnaB@?g|=9w2$Yz4`|WAFgH*2Dr=p=|N0$XLNW+#4na1Zb$Et95NY zFtQSJg+&C(j9bJK!(6b(>&@`rP`0LOz^0j3RU z+;0loce?+Uw3C>N_t$4LUqWv7!oG`WC{iVVE+e+ delta 23 fcmX@Zc7|=kJSN7-$@7^)S)&;^7-A;>WC{iVV2cNR diff --git a/build/classes/guimybank/GUIMyBank$4.class b/build/classes/guimybank/GUIMyBank$4.class index 59c429c35d28a81a99cea84c9715ae04188e84e3..764548fb19f0df211fb4f3fc0f4d8870c01b6e1a 100644 GIT binary patch delta 23 fcmX@Zc7|=kJSN8E$@7^)SyLG}7}6&HWC{iVVXX(7 delta 23 fcmX@Zc7|=kJSN8Y$@7^)SrZvJ7?LLcWC{iVVL1nn diff --git a/build/classes/guimybank/GUIMyBank$5.class b/build/classes/guimybank/GUIMyBank$5.class index 33cc3ce80f3b658d3ab6afdf365facf85035e4da..8227be70098784ae422d0efaa0e4f239aa0a0de0 100644 GIT binary patch delta 23 fcmX@Zc7|=kJSN7>$@7^)S+f~97;+~6WC{iVVp|8T delta 23 fcmX@Zc7|=kJSN7}$@7^)S<@Lf7&0dRWC{iVVdn>- diff --git a/build/classes/guimybank/GUIMyBank.class b/build/classes/guimybank/GUIMyBank.class index 5c0db0a06b4040d001050be09816313ae7bb0ec7..9b0713e74db1682ce9692a8b6f7b4762f8b02992 100644 GIT binary patch literal 12545 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 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 }