Controllo validità campi + salvataggio su file
This commit is contained in:
@@ -82,7 +82,7 @@
|
||||
<Component id="jScrollPane1" alignment="1" min="-2" pref="191" max="-2" attributes="0"/>
|
||||
<Group type="103" alignment="0" groupAlignment="1" max="-2" attributes="0">
|
||||
<Component id="pnlCorsi" alignment="0" pref="191" max="32767" attributes="0"/>
|
||||
<Component id="jComboBox1" alignment="0" pref="191" max="32767" attributes="0"/>
|
||||
<Component id="cmbCitta" alignment="0" pref="191" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
@@ -128,7 +128,7 @@
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="lblCittà" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jComboBox1" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="cmbCitta" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
@@ -210,6 +210,7 @@
|
||||
<Component class="javax.swing.JTextField" name="txtCodiceFiscale">
|
||||
<Events>
|
||||
<EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtCodiceFiscaleFocusGained"/>
|
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtCodiceFiscaleKeyReleased"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="txtEmail">
|
||||
@@ -222,7 +223,7 @@
|
||||
<EventHandler event="focusGained" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="txtPasswordFocusGained"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JComboBox" name="jComboBox1">
|
||||
<Component class="javax.swing.JComboBox" name="cmbCitta">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="6">
|
||||
|
||||
@@ -8,7 +8,10 @@ import javax.swing.BorderFactory;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.border.LineBorder;
|
||||
import java.awt.Color;
|
||||
import java.util.Arrays;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -33,7 +36,8 @@ public class RegistrazionePalestra 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() {
|
||||
|
||||
Sesso = new javax.swing.ButtonGroup();
|
||||
@@ -51,7 +55,7 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
txtCodiceFiscale = new javax.swing.JTextField();
|
||||
txtEmail = new javax.swing.JTextField();
|
||||
txtPassword = new javax.swing.JPasswordField();
|
||||
jComboBox1 = new javax.swing.JComboBox<>();
|
||||
cmbCitta = new javax.swing.JComboBox<>();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
txtaNote = new javax.swing.JTextArea();
|
||||
btnRegistra = new javax.swing.JButton();
|
||||
@@ -103,6 +107,11 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
txtCodiceFiscaleFocusGained(evt);
|
||||
}
|
||||
});
|
||||
txtCodiceFiscale.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||
public void keyReleased(java.awt.event.KeyEvent evt) {
|
||||
txtCodiceFiscaleKeyReleased(evt);
|
||||
}
|
||||
});
|
||||
|
||||
txtEmail.addFocusListener(new java.awt.event.FocusAdapter() {
|
||||
public void focusGained(java.awt.event.FocusEvent evt) {
|
||||
@@ -116,7 +125,8 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
}
|
||||
});
|
||||
|
||||
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Roma", "Londra", "Parigi", "Berlino", "Mosca", "Tjumen" }));
|
||||
cmbCitta.setModel(new javax.swing.DefaultComboBoxModel<>(
|
||||
new String[] { "Roma", "Londra", "Parigi", "Berlino", "Mosca", "Tjumen" }));
|
||||
|
||||
txtaNote.setColumns(20);
|
||||
txtaNote.setLineWrap(true);
|
||||
@@ -142,24 +152,22 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
javax.swing.GroupLayout pnlCorsiLayout = new javax.swing.GroupLayout(pnlCorsi);
|
||||
pnlCorsi.setLayout(pnlCorsiLayout);
|
||||
pnlCorsiLayout.setHorizontalGroup(
|
||||
pnlCorsiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(pnlCorsiLayout.createSequentialGroup()
|
||||
.addComponent(chkYoga)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(chkPilates)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(chkFitness)
|
||||
.addGap(0, 0, Short.MAX_VALUE))
|
||||
);
|
||||
pnlCorsiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(pnlCorsiLayout.createSequentialGroup()
|
||||
.addComponent(chkYoga)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(chkPilates)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(chkFitness)
|
||||
.addGap(0, 0, Short.MAX_VALUE)));
|
||||
pnlCorsiLayout.setVerticalGroup(
|
||||
pnlCorsiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlCorsiLayout.createSequentialGroup()
|
||||
.addGap(0, 0, Short.MAX_VALUE)
|
||||
.addGroup(pnlCorsiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(chkYoga)
|
||||
.addComponent(chkPilates)
|
||||
.addComponent(chkFitness)))
|
||||
);
|
||||
pnlCorsiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlCorsiLayout.createSequentialGroup()
|
||||
.addGap(0, 0, Short.MAX_VALUE)
|
||||
.addGroup(pnlCorsiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(chkYoga)
|
||||
.addComponent(chkPilates)
|
||||
.addComponent(chkFitness))));
|
||||
|
||||
Sesso.add(radSessoF);
|
||||
radSessoF.setText("F");
|
||||
@@ -176,126 +184,167 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
javax.swing.GroupLayout pnlSessoLayout = new javax.swing.GroupLayout(pnlSesso);
|
||||
pnlSesso.setLayout(pnlSessoLayout);
|
||||
pnlSessoLayout.setHorizontalGroup(
|
||||
pnlSessoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSessoLayout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(radSessoM)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(radSessoF)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(radSessoNB)
|
||||
.addContainerGap())
|
||||
);
|
||||
pnlSessoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSessoLayout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(radSessoM)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(radSessoF)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(radSessoNB)
|
||||
.addContainerGap()));
|
||||
pnlSessoLayout.setVerticalGroup(
|
||||
pnlSessoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(pnlSessoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(radSessoM)
|
||||
.addComponent(radSessoF)
|
||||
.addComponent(radSessoNB))
|
||||
);
|
||||
pnlSessoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(pnlSessoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(radSessoM)
|
||||
.addComponent(radSessoF)
|
||||
.addComponent(radSessoNB)));
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblNome)
|
||||
.addComponent(lblCognome)
|
||||
.addComponent(lblCodiceFiscale)
|
||||
.addComponent(lblEmail)
|
||||
.addComponent(lblPassword)
|
||||
.addComponent(lblSesso))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(35, 35, 35)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addComponent(txtNome, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
|
||||
.addComponent(txtCognome, javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(txtCodiceFiscale, javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(txtEmail, javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(txtPassword, javax.swing.GroupLayout.Alignment.LEADING)))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(51, 51, 51)
|
||||
.addComponent(pnlSesso, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap(9, Short.MAX_VALUE)
|
||||
.addComponent(btnRegistra)
|
||||
.addGap(35, 35, 35))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblCittà)
|
||||
.addComponent(lblCorsi)
|
||||
.addComponent(lblNote))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(btnCancella)
|
||||
.addGap(41, 41, 41)
|
||||
.addComponent(btnChiudi))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addComponent(pnlCorsi, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 191, Short.MAX_VALUE)
|
||||
.addComponent(jComboBox1, javax.swing.GroupLayout.Alignment.LEADING, 0, 191, Short.MAX_VALUE))))
|
||||
.addContainerGap())
|
||||
);
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblNome)
|
||||
.addComponent(lblCognome)
|
||||
.addComponent(lblCodiceFiscale)
|
||||
.addComponent(lblEmail)
|
||||
.addComponent(lblPassword)
|
||||
.addComponent(lblSesso))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(35, 35, 35)
|
||||
.addGroup(layout
|
||||
.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
|
||||
false)
|
||||
.addComponent(txtNome,
|
||||
javax.swing.GroupLayout.Alignment.LEADING,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE, 191,
|
||||
Short.MAX_VALUE)
|
||||
.addComponent(txtCognome,
|
||||
javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(txtCodiceFiscale,
|
||||
javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(txtEmail,
|
||||
javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(txtPassword,
|
||||
javax.swing.GroupLayout.Alignment.LEADING)))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(51, 51, 51)
|
||||
.addComponent(pnlSesso, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap(9, Short.MAX_VALUE)
|
||||
.addComponent(btnRegistra)
|
||||
.addGap(35, 35, 35))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(layout
|
||||
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblCittà)
|
||||
.addComponent(lblCorsi)
|
||||
.addComponent(lblNote))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(btnCancella)
|
||||
.addGap(41, 41, 41)
|
||||
.addComponent(btnChiudi))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 191,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
|
||||
layout.createParallelGroup(
|
||||
javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addComponent(pnlCorsi,
|
||||
javax.swing.GroupLayout.Alignment.LEADING,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE, 191,
|
||||
Short.MAX_VALUE)
|
||||
.addComponent(cmbCitta,
|
||||
javax.swing.GroupLayout.Alignment.LEADING, 0,
|
||||
191, Short.MAX_VALUE))))
|
||||
.addContainerGap()));
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.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.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtCognome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblCognome))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtCodiceFiscale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblCodiceFiscale))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblEmail))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblSesso, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblPassword))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(pnlSesso, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(lblCittà)
|
||||
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(pnlCorsi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblCorsi))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblNote)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(btnRegistra)
|
||||
.addComponent(btnCancella)
|
||||
.addComponent(btnChiudi))
|
||||
.addContainerGap())
|
||||
);
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.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.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtCognome, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblCognome))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtCodiceFiscale, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblCodiceFiscale))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtEmail, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblEmail))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblSesso, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout
|
||||
.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(txtPassword,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblPassword))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(pnlSesso, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(lblCittà)
|
||||
.addComponent(cmbCitta, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(pnlCorsi, javax.swing.GroupLayout.PREFERRED_SIZE,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lblCorsi))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(lblNote)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 121,
|
||||
javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
|
||||
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(btnRegistra)
|
||||
.addComponent(btnCancella)
|
||||
.addComponent(btnChiudi))
|
||||
.addContainerGap()));
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void txtCodiceFiscaleKeyReleased(java.awt.event.KeyEvent evt) {// GEN-FIRST:event_txtCodiceFiscaleKeyReleased
|
||||
txtCodiceFiscale.setText(txtCodiceFiscale.getText().toUpperCase());
|
||||
}// GEN-LAST:event_txtCodiceFiscaleKeyReleased
|
||||
|
||||
private void btnRegistraActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnRegistraActionPerformed
|
||||
String nome = txtNome.getText().trim();
|
||||
String cognome = txtCognome.getText().trim();
|
||||
@@ -334,16 +383,149 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
pnlCorsi.setBorder(new LineBorder(Color.red));
|
||||
}
|
||||
JOptionPane.showMessageDialog(null, "Inserire tutti i dati richiesti.");
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isCodiceFiscaleValid(codiceFiscale)) {
|
||||
JOptionPane.showMessageDialog(null, "Il codice fiscale non è valido.");
|
||||
txtCodiceFiscale.setBorder(new LineBorder(Color.red));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isEmailValid(email)) {
|
||||
JOptionPane.showMessageDialog(null, "L'indirizzo email non è valido.");
|
||||
txtEmail.setBorder(new LineBorder(Color.red));
|
||||
return;
|
||||
}
|
||||
|
||||
salvaSuFile();
|
||||
successMeassage(nome, cognome, getSelectedSesso(), getSelectedCorsi());
|
||||
}// GEN-LAST:event_btnRegistraActionPerformed
|
||||
|
||||
private boolean isCorsiEmpty() {
|
||||
return !(chkYoga.isSelected() || chkPilates.isSelected() || chkFitness.isSelected());
|
||||
}
|
||||
|
||||
private boolean isCodiceFiscaleValid(String codiceFiscale) {
|
||||
Pattern pattern = Pattern.compile("[A-Z]{6}[ABCDEHLMPRST]{3}\\d{2}[A-Z]\\d{3}[A-Z]");
|
||||
return pattern.matcher(codiceFiscale).find();
|
||||
}
|
||||
|
||||
private boolean isEmailValid(String email) {
|
||||
Pattern pattern = Pattern.compile("[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}");
|
||||
return pattern.matcher(email).find();
|
||||
}
|
||||
|
||||
private int getSelectedSesso() {
|
||||
int sessoSelected = -1;
|
||||
|
||||
if (radSessoM.isSelected()) {
|
||||
sessoSelected = 0;
|
||||
}
|
||||
if (radSessoF.isSelected()) {
|
||||
sessoSelected = 1;
|
||||
}
|
||||
if (radSessoNB.isSelected()) {
|
||||
sessoSelected = 2;
|
||||
}
|
||||
|
||||
return sessoSelected;
|
||||
}
|
||||
|
||||
private String getSelectedCorsi() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if (chkYoga.isSelected()) {
|
||||
sb.append("\n");
|
||||
sb.append(chkYoga.getText());
|
||||
}
|
||||
if (chkPilates.isSelected()) {
|
||||
sb.append("\n");
|
||||
sb.append(chkPilates.getText());
|
||||
}
|
||||
if (chkFitness.isSelected()) {
|
||||
sb.append("\n");
|
||||
sb.append(chkFitness.getText());
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private void salvaSuFile() {
|
||||
String nome = txtNome.getText().trim();
|
||||
String cognome = txtCognome.getText().trim();
|
||||
String codiceFiscale = txtCodiceFiscale.getText().trim().toUpperCase();
|
||||
String email = txtEmail.getText().trim();
|
||||
String password = new String(txtPassword.getPassword());
|
||||
String sesso;
|
||||
String note = txtaNote.getText();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
switch (getSelectedSesso()) {
|
||||
case 0:
|
||||
sesso = "M";
|
||||
break;
|
||||
case 1:
|
||||
sesso = "F";
|
||||
break;
|
||||
case 2:
|
||||
sesso = "NB";
|
||||
break;
|
||||
default:
|
||||
sesso = "";
|
||||
break;
|
||||
}
|
||||
|
||||
sb.append("Nome: ");
|
||||
sb.append(nome);
|
||||
sb.append("\nCognome: ");
|
||||
sb.append(cognome);
|
||||
sb.append("\nCodice fiscale: ");
|
||||
sb.append(codiceFiscale);
|
||||
sb.append("\nEmail: ");
|
||||
sb.append(email);
|
||||
sb.append("\nPassword: ");
|
||||
sb.append(password);
|
||||
sb.append("\nSesso: ");
|
||||
sb.append(sesso);
|
||||
sb.append("\nCittà: ");
|
||||
sb.append(cmbCitta.getSelectedItem());
|
||||
sb.append("\nCorsi: ");
|
||||
sb.append(getSelectedCorsi().replace("\n", ", ").replaceFirst(", ", ""));
|
||||
sb.append("\nNote: ");
|
||||
sb.append(note);
|
||||
sb.append("\n--FINE REGISTRAZIONE SOPRA--");
|
||||
|
||||
try (BufferedWriter bw = new BufferedWriter(new FileWriter("./src/registrazionepalestra/registrazioni.txt", true))) {
|
||||
bw.write(sb.toString());
|
||||
} catch (IOException _) {
|
||||
JOptionPane.showMessageDialog(null, "Errore nel salvataggio della registrazione.");
|
||||
}
|
||||
}
|
||||
|
||||
private void successMeassage(String nome, String cognome, int sesso, String corsi) {
|
||||
String letteraSignor;
|
||||
|
||||
switch (sesso) {
|
||||
case 0:
|
||||
letteraSignor = "e";
|
||||
break;
|
||||
case 1:
|
||||
letteraSignor = "a";
|
||||
break;
|
||||
case 2:
|
||||
letteraSignor = "ə";
|
||||
break;
|
||||
default:
|
||||
letteraSignor = "";
|
||||
break;
|
||||
}
|
||||
|
||||
JOptionPane.showMessageDialog(null, "Complimenti signor" + letteraSignor + " " + nome + " " + cognome
|
||||
+ ", la registrazione ai seguenti corsi è avvenuta con successo:" + corsi);
|
||||
}
|
||||
|
||||
private void txtNomeFocusGained(java.awt.event.FocusEvent evt) {// GEN-FIRST:event_txtNomeFocusGained
|
||||
txtNome.setBorder(null);
|
||||
}// GEN-LAST:event_txtNomeFocusGained
|
||||
@@ -425,7 +607,7 @@ public class RegistrazionePalestra extends javax.swing.JFrame {
|
||||
private javax.swing.JCheckBox chkFitness;
|
||||
private javax.swing.JCheckBox chkPilates;
|
||||
private javax.swing.JCheckBox chkYoga;
|
||||
private javax.swing.JComboBox<String> jComboBox1;
|
||||
private javax.swing.JComboBox<String> cmbCitta;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JLabel lblCittà;
|
||||
private javax.swing.JLabel lblCodiceFiscale;
|
||||
|
||||
Reference in New Issue
Block a user