Per il secondo problema vi mando questa classe:
codice:
public class PanSocieta extends JPanel implements ActionListener {
protected JTextField t1, t2, t3, t4, t5;
protected JLabel j1, j2, j3, j4, j5;
protected JButton b1, b2;
public ListNode CLIENTI;
public ClienteSocieta c;
public PanSocieta() {
super();
CLIENTI = new ListNode(); // Istanzio la lista
setBackground(new Color(65,208,223));
j1 = new JLabel("Codice cliente:");
j2 = new JLabel("Nome ditta:");
j3 = new JLabel("Indirizzo sede:");
j4 = new JLabel("Partita IVA:");
j5 = new JLabel("Telefono:");
t1 = new JTextField(20);
t2 = new JTextField(20);
t3 = new JTextField(20);
t4 = new JTextField(20);
t5 = new JTextField(20);
t1.setEditable(true);
t2.setEditable(true);
t3.setEditable(true);
t4.setEditable(true);
t5.setEditable(true);
b1 = new JButton("INSERISCI");
b2 = new JButton("RIMUOVI");
b1.addActionListener(this);
b2.addActionListener(this);
add(j1);
add(t1);
add(j2);
add(t2);
add(j3);
add(t3);
add(j4);
add(t4);
add(j5);
add(t5);
add(b1);
add(b2);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1) {
c = new ClienteDittaIndividuale(t1.getText(), t2.getText());
CLIENTI.insert(c); //Inserisco il cliente creato nella lista
c.salvaListaClienti(CLIENTI);
String[] NOMI = c.getNomiClienti(CLIENTI);
System.out.println("Clienti presenti nella ListNode: ");
int l = CLIENTI.length();
for(int i=0; i<l; i++) System.out.println(NOMI[i]);
c.leggiCliente();
FinestraLista fl = new FinestraLista("Lista clienti");
Container cont = fl.getContentPane();
PannelloLista pl = new PannelloLista(this);
cont.add(pl);
fl.setVisible(true);
FinestraDomanda fd = new FinestraDomanda();
Container c = fd.getContentPane();
PannelloDomanda pd = new PannelloDomanda();
c.add(pd);
fd.setVisible(true);
}
else {
CLIENTI.remove(new ClienteDittaIndividuale(t1.getText(), t2.getText()));
c.salvaListaClienti(CLIENTI);
c.leggiCliente();
}
}
}
Nel Costruttore del pannello istanzio la ListNode CLIENTI, perciò ogni volta che istanzio il pannello, mi istanzia una ListNode nuova, col risultato che in ogni ListNode ho un solo oggetto cliente, invece di averli tutti in una sola ListNode!
Quindi non devo istanziare qui la lista, ma allora dove?
GRAZIE!