p0ll0_ ha scritto:
Perché viene chiamata due volte?? Clicco sulla jlist col mouse una volta sola, ma entra due volte. Mentre se lo faccio con la tastiera entra una volta sola...
Perché con il mouse entra in gioco la questione del getValueIsAdjusting() (ListSelectionEvent). Quando usi il mouse su JList, puoi cliccare su una cella, TENERE premuto e muovere su JList. In questo frangente la selezione "si sta aggiustando" (getValueIsAdjusting() = true), non è ancora definitiva. Quando poi RILASCI il pulsante del mouse, allora la selezione diventa definitiva (getValueIsAdjusting() = false).
Con la tastiera questo aspetto non c'è.
Se con il mouse clicchi su una cella e SENZA muovere di cella poi rilasci il pulsante, ottieni comunque due eventi, uno con getValueIsAdjusting() a true, poi il secondo con false. Funziona così ...