2013-01-14 24 views

cevap

5

SetValue'yi program aracılığıyla çağırdığınızda (çağırmadan önce) true olarak bir boolean değerini true olarak ayarlayın ve olay işleme ile işiniz bittiğinde false olarak sıfırlayın.

1

Dahili olarak ´setValue´ çağrılır. Kullanıcı, etkinliği yakalamak için ChangeListener uygulayarak kaydırıcının düğmeyi hareket ettirdiğinde olayı yakalamayı deneyebilirsiniz. Ayrıca, topuzu hareket ettirmenin birçok değişiklik olayını tetiklediğini unutmayın. Bu nedenle, kaydırıcının son değeriyle ilgileniyorsanız, false için değerlendirildiğinde getValueIsAdjusting'u kullanın. Sorun ChangeListener Withing ise


Ayarı türetmek, JSlider bileşeni uzanan deneyin ve yeni değeri alır yeni bir yöntem eklemek VE (örneğin, bir int kodu veya bir enum ile) sorunları kim Özel mantığınızı gerçek setValue yöntemine getirdikten sonra değerin. Sizin durumunuzda, eğer yanlıĢ değilse, belirli bir bileşen onu çağırırsa, setValue numaralı çağrıyı engellemek isteyeceksiniz.

+0

Olayı yakaladım. Sorun, olayın içinde yer alıyor çünkü birbirine bağlı iki nesne var ve bir anothers değerini sonsuz bir döngüde almaları için değiştiriyorlar. Değişim modunu tespit etmem gerekiyor. –

+0

@ AndrewG.H. Cevabımı güncelledim. – Gamb