codice:
public class Pnl_InserisciDatiCondominio extends JPanel {
private static final long serialVersionUID = 1L;
private JLabel lbl_id = null;
private JTextField txf_id = null;
private JLabel lbl_via = null;
private JTextField txf_via = null;
private JLabel lbl_civico = null;
private JTextField txf_civico = null;
private JLabel lbl_provincia = null;
private JComboBox combox_provincia = null;
private JLabel lbl_comune = null;
private JComboBox combox_comune = null;
private JLabel lbl_cap = null;
private JTextField txf_cap = null;
private boolean errorFields = false;
private String id=null;
private String via=null;
private String civ=null;
private String cap=null;
/**
* This is the default constructor
*/
public Pnl_InserisciDatiCondominio() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
GridBagConstraints gridBagConstraints11 = new GridBagConstraints();
gridBagConstraints11.fill = GridBagConstraints.BOTH;
gridBagConstraints11.gridy = 3;
gridBagConstraints11.weightx = 1.0;
gridBagConstraints11.insets = new Insets(0, 10, 5, 0);
gridBagConstraints11.weightx = 5.0;
gridBagConstraints11.gridx = 1;
GridBagConstraints gridBagConstraints10 = new GridBagConstraints();
gridBagConstraints10.gridx = 0;
gridBagConstraints10.insets = new Insets(0, 10, 0, 0);
gridBagConstraints10.anchor = GridBagConstraints.WEST;
gridBagConstraints10.gridy = 3;
lbl_cap = new JLabel();
lbl_cap.setText("CAP");
GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
gridBagConstraints9.fill = GridBagConstraints.BOTH;
gridBagConstraints9.gridy = 2;
gridBagConstraints9.weightx = 3.0;
gridBagConstraints9.insets = new Insets(0, 10, 5, 10);
gridBagConstraints9.weightx = 30.0;
gridBagConstraints9.gridwidth = 2;
gridBagConstraints9.gridx = 3;
GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
gridBagConstraints8.gridx = 2;
gridBagConstraints8.insets = new Insets(0, 10, 0, 0);
gridBagConstraints8.anchor = GridBagConstraints.EAST;
gridBagConstraints8.gridy = 2;
lbl_comune = new JLabel();
lbl_comune.setText("Comune");
GridBagConstraints gridBagConstraints7 = new GridBagConstraints();
gridBagConstraints7.fill = GridBagConstraints.BOTH;
gridBagConstraints7.gridy = 2;
gridBagConstraints7.weightx = 1.0;
gridBagConstraints7.insets = new Insets(0, 10, 5, 0);
gridBagConstraints7.gridx = 1;
GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
gridBagConstraints6.gridx = 0;
gridBagConstraints6.anchor = GridBagConstraints.WEST;
gridBagConstraints6.insets = new Insets(0, 10, 0, 0);
gridBagConstraints6.gridy = 2;
lbl_provincia = new JLabel();
lbl_provincia.setText("Provincia");
GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
gridBagConstraints5.fill = GridBagConstraints.BOTH;
gridBagConstraints5.gridy = 1;
gridBagConstraints5.weightx = 1.0;
gridBagConstraints5.insets = new Insets(0, 10, 5, 10);
gridBagConstraints5.weightx = 38.0;
gridBagConstraints5.gridx = 5;
GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
gridBagConstraints4.gridx = 4;
gridBagConstraints4.anchor = GridBagConstraints.EAST;
gridBagConstraints4.insets = new Insets(0, 10, 0, 0);
gridBagConstraints4.gridy = 1;
lbl_civico = new JLabel();
lbl_civico.setText("Civico");
GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
gridBagConstraints3.fill = GridBagConstraints.BOTH;
gridBagConstraints3.gridy = 1;
gridBagConstraints3.weightx = 1.0;
gridBagConstraints3.insets = new Insets(0, 10, 5, 40);
gridBagConstraints3.gridwidth = 3;
gridBagConstraints3.gridwidth = 4;
gridBagConstraints3.gridx = 1;
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.gridx = 0;
gridBagConstraints2.anchor = GridBagConstraints.WEST;
gridBagConstraints2.insets = new Insets(0, 10, 0, 0);
gridBagConstraints2.gridy = 1;
lbl_via = new JLabel();
lbl_via.setText("Via");
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.fill = GridBagConstraints.BOTH;
gridBagConstraints1.gridy = 0;
gridBagConstraints1.weightx = 1.0;
gridBagConstraints1.gridwidth = 5;
gridBagConstraints1.insets = new Insets(0, 10, 5, 10);
gridBagConstraints1.gridx = 1;
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.insets = new Insets(0, 10, 0, 0);
gridBagConstraints.gridy = 0;
lbl_id = new JLabel();
lbl_id.setText("Identificatore");
this.setSize(480, 200);
this.setLayout(new GridBagLayout());
this.setBorder(BorderFactory.createTitledBorder(null, "Dati Condominio", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Tahoma", Font.PLAIN, 11), Color.black));
this.add(lbl_id, gridBagConstraints);
this.add(getTxf_id(), gridBagConstraints1);
this.add(lbl_via, gridBagConstraints2);
this.add(lbl_civico, gridBagConstraints4);
this.add(lbl_provincia, gridBagConstraints6);
this.add(getCombox_provincia(), gridBagConstraints7);
this.add(lbl_comune, gridBagConstraints8);
this.add(lbl_cap, gridBagConstraints10);
this.setVisible(true);
this.add(getTxf_via(), gridBagConstraints3);
this.add(getTxf_civico(), gridBagConstraints5);
this.add(getCombox_comune(), gridBagConstraints9);
this.add(getTxf_cap(), gridBagConstraints11);
}
private JTextField getTxf_id() {
if (txf_id == null) {
txf_id = new JTextField();
txf_id.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
txf_id.setFont(new Font("Tahoma", Font.PLAIN, 11));
txf_id.setForeground(Color.black);
}
public void focusLost(java.awt.event.FocusEvent e) {
if(!checkId())
{
txf_id.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_id.setForeground(Color.red);
}
else
{
txf_id.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_id.setForeground(Color.green);
id=txf_id.getText();
}
}
});
}
return txf_id;
}
private JTextField getTxf_via() {
if (txf_via == null) {
txf_via = new JTextField();
txf_via.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
txf_via.setFont(new Font("Tahoma", Font.PLAIN, 11));
txf_via.setForeground(Color.black);
}
public void focusLost(java.awt.event.FocusEvent e) {
if (!checkVia()) {
txf_via.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_via.setForeground(Color.red);
} else {
txf_via.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_via.setForeground(Color.green);
via=txf_via.getText();
}
}
});
}
return txf_via;
}
private JTextField getTxf_civico() {
if (txf_civico == null) {
txf_civico = new JTextField();
txf_civico.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
txf_civico.setFont(new Font("Tahoma", Font.PLAIN, 11));
txf_civico.setForeground(Color.black);
}
public void focusLost(java.awt.event.FocusEvent e) {
if (!checkCivico()) {
txf_civico.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_civico.setForeground(Color.red);
} else {
txf_civico.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_civico.setForeground(Color.green);
civ=txf_civico.getText();
}
}
});
}
return txf_civico;
}
private JComboBox getCombox_provincia() {
if (combox_provincia == null) {
combox_provincia = new JComboBox(Provincia.values());
combox_provincia.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
combox_comune.removeAllItems();
for(String com : Parser.recuperaComuniDi(combox_provincia.getSelectedItem().toString()))
{
combox_comune.addItem(com);
}
combox_comune.repaint();
}
});
}
return combox_provincia;
}
private JComboBox getCombox_comune() {
if (combox_comune == null) {
combox_comune = new JComboBox(Parser.recuperaComuniDi(combox_provincia.getSelectedItem().toString()).toArray());
}
return combox_comune;
}
private JTextField getTxf_cap() {
if (txf_cap == null) {
txf_cap = new JTextField();
txf_cap.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
txf_cap.setFont(new Font("Tahoma", Font.PLAIN, 11));
txf_cap.setForeground(Color.black);
}
public void focusLost(java.awt.event.FocusEvent e) {
if (!checkCap()) {
txf_cap.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_cap.setForeground(Color.red);
} else {
txf_cap.setFont(new Font("Tahoma", Font.BOLD, 11));
txf_cap.setForeground(Color.green);
cap=txf_cap.getText();
}
}
});
}
return txf_cap;
}
private boolean checkId() {
final String patternId = "[a-zA-Z0-9_ ]++";
System.out.println("CheckID: " + Pattern.matches(patternId, getTxf_id().getText()) +" - "+ getTxf_id().getText());
return Pattern.matches(patternId, getTxf_id().getText());
}
private boolean checkVia() {
final String patternVia = "[a-zA-Z 'ìèéòàù]++";
return Pattern.matches(patternVia, getTxf_via().getText());
}
private boolean checkCivico() {
final String patternCivico = "[0-9]++(/[0-9]++)?+[A-Za-z]?+";
return Pattern.matches(patternCivico, getTxf_civico().getText());
}
private boolean checkCap() {
final String patternCap = "[0-9]{5}+";
return Pattern.matches(patternCap, getTxf_cap().getText());
}
private boolean checkErrors(){
boolean err = false;
String errormsg = "";
if(!checkId())
{
System.out.println("CheckID: " + getTxf_id().getText());
errormsg = errormsg + "L'identificatore è errato.\n";
err=true;
}
if(!checkVia())
{
errormsg = errormsg + "La via è errata.\n";
err=true;
}
if(!checkCivico())
{
errormsg = errormsg + "Il numero civico è errato.\n";
err=true;
}
if(!checkCap())
{
errormsg = errormsg + "Il CAP è è errato.\n";
err=true;
}
return err;
}
public DatiCondominio getDatiCondominio()
{
System.out.println("Errorfields: " + errorFields);
if(checkErrors())
//if(errorFields)
{
JOptionPane.showMessageDialog(null, "Errori nei campi, controllare", "Errore", JOptionPane.ERROR_MESSAGE);
return null;
}
else
{
String id = getTxf_id().getText();
String via = getTxf_via().getText();
String civico = getTxf_civico().getText();
Comune comune = new Comune(combox_comune.getSelectedItem().toString());
Provincia provincia = Provincia.valueOf( combox_provincia.getSelectedItem().toString());
String cap = getTxf_cap().getText();
Indirizzo indirizzo = new Indirizzo(via,civico,comune,provincia,cap);
DatiCondominio datiC = new DatiCondominio(id,indirizzo);
return datiC;
}
}
}
Il problema sorge quando da un'altra gui richiamo il getDatiCondominio();