PDA

Visualizza la versione completa : [Java] ridefinire eventi su di un bottone


riccagt
08-11-2004, 17:17
Slave a tutti, premetto che sono alle "prime armi" con il java, e vorrei sapere alcune cose per creare una applet.

Innanzi tutto dei consigli: ho una schermata iniziale che la creo attraverso una funzione richiamata dall'init() e che mi disegna un campo per il nickname ed un pulsante entra a cui associato una classe per l'ascolto dell'evento.

Una volta entrato deve cambiare tutta la grafica, ridisegnando il pannello su cui prima c'erano il campo di testo ed il tasto entra, mettendo altre cose: quale il metodo migliore per farlo? Io richiamo da dentro l'ascoltatore dell'evento di "entra" una funzione che mi ridisegna il pannello, togliendo tutto (removeALL()) aggiungendo i nuovi componenti, ed in fondo facendo una repaint(). E' "corretto"? (funziona, ma vorrei sapere se il metodo politicamente corretto o meglio fare altro).

Inoltre veniamo al problema del titolo della discussione.
In questa seconda schermata ho un pulsante logout che mi deve far ritornare alla schermata iniziale per loggarsi con altro nick. Come prima per "entra" qui logout ha una classe che cattura l'evento e richiama la stessa funzione che inizialmente, all'avvio della applet, ha disegnato la prima schermata (e' corretto??).
Il problema principale arriva ora: se io mi riloggo con altro o stesso nick (non questo l'importante), se ripremo logout, praticamente come se venisse eseguito due volte l'evento ad esso associato, come se il bottone logout della prima volta non fosse stato distrutto ma, vivesse in sottofondo cos da fare eseguire l'evento. Probabilmente questo dipende dal fatto che io ridisegno il pulsante logout chiamando la stessa funzione che lo ha generato e non ho "tolto" l'actionListener precedente, ma anzi facendo una nuova new actionPerformed, ho aggiunto soltanto un altro ascoltatore di eventi identico al primo che ancora vive...

quindi il mio problema : come ridisegnare uno stesso bottone senza aggiungere un ascoltatore di evento "doppione" di quello che gi c'?

Lo so ho scritto molto, ma non esiste una guida ben fatta su questa cosa...

Vi ringrazio tantissimo per ogni risposta,

Riccardo

MMarzia
08-11-2004, 17:18
linguaggio anche nel titolo..

Loading