Quote Originariamente inviata da tonino1 Visualizza il messaggio
Nella classe contatto ho provato a inserire un'ArrayList e popolarla con l'istruzione che hai dato tu. Ma poi quando vado nella classe FinestraVisualizzaContatto e la istanzio non funziona.
No, hai frainteso, l'ArrayList non va nella classe Contatto! Come dicevo Contatto è la tua entità di base, non ha senso che un contatto "sappia" che esistono altri contatti, ognuno è una cosa a sé stante.

Ci sono diversi modi per rendere l'ArrayList di contatti visibile a tutte le tue classi, alcuni sono un po' complicati quindi per ora ti consiglio il più semplice.
Per ora tutte le tue classi sono "innestate" dentro alla classe Rubrica, quindi ogni variabile dichiarata in Rubrica è visibile a tutte le tue classi.
Quindi ti basta dichiarare l'ArrayList di contatti come variabile di istanza di Rubrica. Facendo lo scheletro delle tue classi, intendo una cosa del genere:

codice:
public class Rubrica
{    
    private ArrayList<Contatto> contatti;    
    class Contatto
    {
        
    }
    public class FinestraVisualizzaContatto
    {         
        
    }
    public class FinestraAggiungiContatto
    {
        
    }
    public class FinestraModificaContatto
    {
       
    }
    public class FinestraRimuoviContatto
    {
       
    }
}
Inoltre l'ArrayList non va istanziata nella classe FinestraVisualizzaContatto, perchè la sovrascriveresti all'apertura di ogni frame di quel tipo.
L'inizializzazione va fatta una sola volta, quindi ti consiglio di farla direttamente nel metodo main, priva di costruire un'istanza della classe Rubrica , o volendo anche nel costruttore di Rubrica, se ipotizzi di volere creare più di una Rubrica e quindi di volere separare le liste di contatti delle diverse Rubriche.