Una anonymous inner class (così come una method-local inner class) può fare riferimento ad una variabile locale del metodo/costruttore (in cui è dichiarata ... ovviamente) ma tale variabile deve essere final. La istanza della inner class può benissimo continuare a "vivere" anche dopo che il metodo/costruttore è terminato (basta che resti referenziata, come nel tuo esempio dove il listener resta "registrato" e quindi referenziato nel JTextField).Originariamente inviato da Dreamer89
primo problema: sono costretto a dichiarare "final" il JTextField e non capisco perchè.
Ma è chiaro che le variabili locali del metodo/costruttore spariscono quando esso termina! Il final permette in un certo senso di "congelare" il valore e quindi renderlo visibile alle inner-class.
Il default close operation a EXIT_ON_CLOSE fa in modo che alla chiusura del frame venga invocato System.exit(0);Originariamente inviato da Dreamer89
secondo problema: vengono lanciate eccezioni sulla sicurezza e l'applet non viene avviata correttamente
Lo dice anche la documentazione:
EXIT_ON_CLOSE (defined in JFrame): Exit the application using the System exit method. Use this only in applications.
Ora ragiona un momento ... in una applicazione ha senso fare un System.exit(). In una applet? No, non ha senso.
Se vuoi sapere da dove è stata scaricata la applet, Applet ha il metodo getCodeBase().Originariamente inviato da Dreamer89
esiste un metodo che sia in grado di fornire il dominio sulla quale l'applet si trova?