Sono entrambi sollevati una volta dopo il rilascio del pulsante del mouse ed entrambi possono avere tutte le informazioni disponibili su JRadioButton, giusto? C'è qualche differenza?Java: Qual è la differenza tra ActionEvent e ItemEvent su un JRadioButton?
risposta
Gli stati ItemListener
vengono avvisati ogni volta che viene modificato lo stato del pulsante, tramite l'interazione dell'utente con il pulsante o a livello di programmazione (tramite il metodo setSelected
). ActionListener
verranno invece richiamati quando un utente interagisce con il pulsante (ma può essere simulato a livello di programmazione tramite il metodo onClick
).
Si noti che un utente che interagisce con il pulsante come fare clic o colpire la barra spaziatrice modificherà anche lo stato del pulsante e genererà un evento oggetto nonché un evento azione. In genere, si desidera definire l'uno o l'altro, non ascoltare sia gli eventi di azione che gli eventi oggetto sul pulsante.
ItemEvent è un evento specifico che indica che lo stato è cambiato in un componente specificato da itemStateChanged
in ItemListener. JRadioButton ha due stati di accensione e spegnimento. ItemEvent è utile anche quando un pulsante di opzione fa parte di uno button group.
Penso che dovresti usare l'elemento listener quando sei interessato a cambiamenti di stato nel pulsante di opzione e un listener di azioni quando vuoi fare qualcosa quando si fa clic sul pulsante di opzione.
capito! * ItemListener * - utente * OR * programma; * ActionListener * - * utente *. Grazie! – n611x007