据我所知,如果我将 ChangeListener
添加到 JSlider
组件,则会触发 ChangeEvent
事件,无论是否满足上述条件 slider 的值可以由程序内部更改,也可以由用户通过 GUI 从外部更改。
有没有办法只让 ChangeListener
识别对 JSlider
值的外部更改?也就是说,我希望能够在整个程序过程中多次内部设置 slider 的值,而无需触发事件。
最佳答案
一个选项是在监听器中保留一个标志,指示接收到的事件是否是外部触发的。
当您更改值时,首先更新标志的值,避免您的监听器对您刚刚所做的更改使用react。然后,您恢复标志的状态。
关于java - 内部和外部 ChangeEvent(JSlider w/Change Listener),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11958703/