Lista movimenti

This commit is contained in:
La Programmatrice Verde
2026-02-17 18:35:35 +01:00
parent 7884fa4c75
commit 5525a4af02
11 changed files with 158 additions and 110 deletions

View File

@@ -23,8 +23,8 @@
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="1" attributes="0">
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
@@ -68,6 +68,10 @@
<EmptySpace min="-2" pref="99" max="-2" attributes="0"/>
<Component id="btnAprireContoCorrente" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="56" max="-2" attributes="0"/>
<Component id="jScrollPane1" min="-2" pref="272" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace max="32767" attributes="0"/>
</Group>
@@ -107,7 +111,9 @@
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="btnAprireContoCorrente" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="58" max="32767" attributes="0"/>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="jScrollPane1" min="-2" pref="65" max="-2" attributes="0"/>
<EmptySpace pref="9" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@@ -196,6 +202,24 @@
<Properties>
<Property name="text" type="java.lang.String" value="Lista movimenti"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnListaMovimentiActionPerformed"/>
</Events>
</Component>
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
<AuxValues>
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents>
<Component class="javax.swing.JTextArea" name="txtaListaMovimenti">
<Properties>
<Property name="columns" type="int" value="20"/>
<Property name="rows" type="int" value="5"/>
</Properties>
</Component>
</SubComponents>
</Container>
</SubComponents>
</Form>

View File

@@ -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();
}
}

View File

@@ -23,8 +23,8 @@
<Layout>
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Group type="103" groupAlignment="1" attributes="0">
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
@@ -68,6 +68,10 @@
<EmptySpace min="-2" pref="99" max="-2" attributes="0"/>
<Component id="btnAprireContoCorrente" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<EmptySpace min="-2" pref="56" max="-2" attributes="0"/>
<Component id="jScrollPane1" min="-2" pref="272" max="-2" attributes="0"/>
</Group>
</Group>
<EmptySpace max="32767" attributes="0"/>
</Group>
@@ -107,7 +111,9 @@
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Component id="btnAprireContoCorrente" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="58" max="32767" attributes="0"/>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="jScrollPane1" min="-2" pref="65" max="-2" attributes="0"/>
<EmptySpace pref="9" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@@ -196,6 +202,24 @@
<Properties>
<Property name="text" type="java.lang.String" value="Lista movimenti"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnListaMovimentiActionPerformed"/>
</Events>
</Component>
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
<AuxValues>
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents>
<Component class="javax.swing.JTextArea" name="txtaListaMovimenti">
<Properties>
<Property name="columns" type="int" value="20"/>
<Property name="rows" type="int" value="5"/>
</Properties>
</Component>
</SubComponents>
</Container>
</SubComponents>
</Form>

View File

@@ -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")
// <editor-fold defaultstate="collapsed" desc="Generated
// <editor-fold defaultstate="collapsed" desc="Generated
// Code">//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">//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();
}// </editor-fold>//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
}