codice:
public class PannelloLista extends JPanel implements ActionListener, ListSelectionListener {
    private JTextField txt1;
    private JList lista;
    private JButton b;
    private JLabel txt2;
    private PanSocieta riferimento;
    private PanDitta riferimento2;
    private FinestraLista RIFERIMENTO;
    private ClienteDittaIndividuale c2;
    

    /** Metodo costruttore se chiamante è PanSocieta. */
    public PannelloLista(PanSocieta chiamante, FinestraLista CHIAMANTE) {
        super();
        
        setBackground(new Color(102,255,102));
        
        RIFERIMENTO = CHIAMANTE;
        riferimento = chiamante;
        
        txt1 = new JTextField("Lista dei clienti inseriti");
        txt1.setEditable(false);
        txt2 = new JLabel("Premere OK per chiudere la finestra");
        
        int lunghezza = riferimento.CLIENTI.length();
        String[] clienti = new String[lunghezza];
        clienti = riferimento.gc.getNomiClienti(riferimento.CLIENTI);
        lista = new JList(clienti);
        
        b = new JButton("  OK  ");
        b.addActionListener(this);
        
        add(txt1);
        add(lista);
        add(txt2);
        add(b);
    }
    
    
    
    /** Metodo costruttore se chiamente è PanDitta. */
    public PannelloLista(PanDitta chiamante, FinestraLista CHIAMANTE) {
        super();
        
        setBackground(new Color(102,255,102));
        
        RIFERIMENTO = CHIAMANTE;
        riferimento2 = chiamante;
        
        txt1 = new JTextField("Lista dei clienti inseriti");
        txt1.setEditable(false);
        txt2 = new JLabel("Premere OK per chiudere la finestra");
        
        int lunghezza = riferimento2.CLIENTI.length();
        String[] clienti = new String[lunghezza];
        clienti = riferimento2.gc.getNomiClienti(riferimento2.CLIENTI);
        lista = new JList(clienti);
        
        b = new JButton("  OK  ");
        b.addActionListener(this);
        
        add(txt1);
        add(lista);
        add(txt2);
        add(b);
    }
    
    /** Metodo per gestire eventi JButton. */
    public void actionPerformed(ActionEvent e) {
        /** Nascondo FinestraLista. */
        RIFERIMENTO.setVisible(false);
    }
    
    /** Metodo per gestire eventi JList. */
    public void valueChanged(ListSelectionEvent e) {
        String NOME = (String)lista.getSelectedValue();
        ClienteDittaIndividuale c = new ClienteDittaIndividuale(NOME);
        
        c2 = riferimento.gc.cercaCliente(riferimento2.CLIENTI, c);
        
        FinestraDatiCliente fin = new FinestraDatiCliente("Dati cliente");
        Container cont = fin.getContentPane();
        PannelloDatiCliente pan = new PannelloDatiCliente(this.c2, riferimento2.CLIENTI);
        cont.add(pan);
        fin.setVisible(true);
    }
}
Ho un problema con la gestione dell'evento JList; dovrebbe aprirsi una finestra con i dati
del cliente cliccato, ma non si apre nessuna finestra!
Qualcuno sa dirmi il perchè?
GRAZIE MILLE!