Rimando tutto il codice utile con le modifiche, se non non ci si capisce niente!
FinestraLista:
codice:
public class FinestraLista extends JFrame {
public FinestraLista(String titolo) {
super(titolo);
setBounds(150,150, 165,200);
}
public void nascondiFinestra(FinestraLista f) {
f.setVisible(false);
}
}
PanSocieta:
codice:
public class PanSocieta extends JPanel implements ActionListener {
.......
protected FinestraLista fl;
public PanSocieta(ListNode CLIENTI) {
............
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1) {
c = new ClienteDittaIndividuale(t1.getText(), t2.getText());
CLIENTI.insert(c);
CLIENTI = c.ordinaLista(CLIENTI); /** Ordino la lista prima di salvarla su file. */
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]);
System.out.println("Clienti presenti nel file: ");
c.leggiCliente(CLIENTI.length());
FinestraLista fl = new FinestraLista("Lista clienti");
Container cont = fl.getContentPane();
PannelloLista pl = new PannelloLista(this.fl, 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(c /*= new ClienteDittaIndividuale(t1.getText(), t2.getText())*/);
CLIENTI = c.ordinaLista(CLIENTI);
c.salvaListaClienti(CLIENTI);
c.leggiCliente(CLIENTI.length());
FinestraLista fl = new FinestraLista("Lista clienti");
Container cont = fl.getContentPane();
PannelloLista pl = new PannelloLista(this.fl, this);
cont.add(pl);
fl.setVisible(true);
}
}
}
PannelloLista (dove mi da errore!):
codice:
public class PannelloLista extends JPanel implements ActionListener {
private JTextField txt;
private JList lista;
private JButton b;
private FinestraLista rife;
private PanSocieta riferimento;
public PannelloLista(FinestraLista chia, PanSocieta chiamante) {
super();
setBackground(new Color(102,255,102));
rife = chia;
riferimento = chiamante;
txt = new JTextField("Lista dei clienti inseriti");
txt.setEditable(false);
int lunghezza = riferimento.CLIENTI.length();
String[] clienti = new String[lunghezza];
clienti = riferimento.c.getNomiClienti(riferimento.CLIENTI);
lista = new JList(clienti);
b = new JButton(" OK ");
b.addActionListener(this);
add(txt);
add(lista);
add(b);
}
public void actionPerformed(ActionEvent e) {
rife.nascondiFinestra(riferimento.fl); //ERRORE QUI
}
}
GRAZIE MILLE!!!