trixy ha scritto:
Nel secondo ho voluto fare qualcosa di più professionale ma l'applet non viene inizializzata.
Il codice è comunque inappropriato per come avviene la inizializzazione.
Quando viene inizializzato il campo:
private JTextField [] txt = new JTextField[i];
la variabile
i è ancora al suo valore di "default", cioè
0. Quindi crei un array di JTextField sostanzialmente vuoto, senza elementi.
Poi appena dopo viene eseguito un
instance initialization block
{
for(i=0; i<5; i++)
{
txt[i] = new JTextField ();
}
}
Ma gli elementi NON ci sono. Quindi al primo txt[0] hai un ArrayIndexOutOfBoundsException. Questo fa fallire tutta la fase di inizializzazione, ovvero il costruttore (quello di default, generato dal compilatore) esce con quella eccezione.
In sostanza, l'oggetto Enalotto2 NON viene creato e quindi non si arriva neanche al init() (né al resto, ovviamente).
Se non hai (ancora) familiarità con la logica di inizializzazione degli oggetti, evita di strutturare la inizializzazione in quel modo.