Ho un'idea di come utilizzare i listener di azioni e di implementarle, ma mi chiedevo se qualcuno potesse dirmi come ascoltano gli eventi? C'è qualche tipo di meccanismo di votazione?Come funziona un ActionListener?
risposta
I listener di azioni si registrano per gli eventi utilizzando lo Observer pattern e vengono notificati, dal loop eventi principale, degli eventi per cui sono registrati. Quindi no, non è un meccanismo di polling (pull), ma il contrario - un richiamo (push). Questo è un esempio di programmazione "non chiamaci, ti chiameremo". Poiché tutto nel tuo codice scorre da un singolo thread (il ciclo degli eventi) non ti devi preoccupare della sincronizzazione tra diversi eventi, quindi il tuo codice è sicuro.
C'è un ciclo di eventi implementato nel core di AWT. Riceve tutti gli eventi e li invia ad ascoltatori appropriati.
Il tutorial spiega come funzionano abbastanza bene: http://download.oracle.com/javase/tutorial/uiswing/events/actionlistener.html
penso che l'attuazione di interfaccia utente del JComponent
scatterà (call) tutti gli eventi registrati su l'utente interagisce con esso (credo).
Ad esempio, quando un utente fa clic su un JButton
, il pulsante (o è ui, o qualche altro gestore interno) sarà occhiata tutto ActionListeners
registrato e chiamare i loro actionPerformed(...)
metodi.
- 1. Button ActionListener
- 2. Alternativa JSpinner ActionListener
- 3. ActionListener best practice
- 4. Aggiungi actionlistener a jpanel
- 5. JCheckbox - ActionListener e ItemListener?
- 6. Scala ActionListener/tipo funzione anonima disadattamento
- 7. ActionListener è un esempio di modello di delega?
- 8. ActionListener nella cella JLabel o JTable
- 9. variabili pass per ActionListener in Java
- 10. Cosa è meglio usare: Action vs ActionListener?
- 11. La chiamata a questo dall'interno di un nidificato Java ActionListener
- 12. GUI Java, Cambia pannello secondo actionListener
- 13. Java - Number Game - Multiple ActionListener nella stessa classe
- 14. Bean gestito con scope della sessione e actionListener
- 15. Come funziona un debugger storico?
- 16. Come funziona un oggetto classmethod?
- 17. come funziona un C# profiler?
- 18. Come funziona un accorciatore URL?
- 19. Come funziona un indice bitmap?
- 20. Come funziona un costruttore statico?
- 21. Mostrare/nascondere un JPopupMenu da un JButton; FocusListener non funziona?
- 22. Come funziona! Stringa (enum.member) funziona?
- 23. Come funziona Angular $ q.quando funziona?
- 24. Java non funziona come funziona?
- 25. Lascia che ActionListener ascolti la modifica in JTextField invece di inserire solo?
- 26. Come funziona un generatore di numeri casuali?
- 27. come funziona un etag in expressjs
- 28. Che cos'è un de-compiler come funziona?
- 29. Come funziona un programmatore su più computer?
- 30. Come funziona un deleter di shared_ptr store?