2013-01-14 10 views

risposta

5

Impostare un valore booleano su true ogniqualvolta si chiama setValue a livello di codice (prima di chiamarlo) e reimpostato su false quando si è terminato con la gestione degli eventi.

1

Internamente, viene visualizzato il valore di'Valore'. Puoi provare a catturare l'evento quando l'utente sposta la manopola dello slider implementando un ChangeListener per catturare quell'evento. Inoltre, ricorda che lo spostamento della manopola attiva molti eventi di modifica, quindi se sei interessato al valore finale del dispositivo di scorrimento, utilizza lo getValueIsAdjusting quando valuta su false.


Se il problema è entro un ChangeListener, provare a estendere la componente JSlider e aggiungere un nuovo metodo che riceve il nuovo valore e che la emette (con un codice int o un enum, per esempio), che deriva l'impostazione del valore dopo aver reso la tua logica personalizzata al vero metodo setValue.

Nel tuo caso, ti consigliamo di impedire il richiamo di setValue se un determinato componente lo richiama, se non sbaglio.

+0

Ho già preso l'evento, il problema è all'interno dell'evento perché ci sono due oggetti interdipendenti e cambiano i valori di un anothers in modo che entrino in un ciclo infinito, ecco perché Devo rilevare la modalità di cambiamento. –

+0

@ AndrewG.H. Ho aggiornato la mia risposta. – Gamb

Problemi correlati