java内部和外部ChangeEvent(带更改侦听器的JSlider)
据我所知,如果我将ChangeListener
添加到JSlider
组件中,那么无论上述滑块的值是由程序内部更改还是由用户通过GUI外部更改,都会触发ChangeEvent
事件
有没有办法只让ChangeListener
识别JSlider
值的外部更改?也就是说,我希望能够在程序的整个过程中多次在内部设置滑块的值,而无需触发事件
你可以在下面搜索框中键入要查询的问题!
据我所知,如果我将ChangeListener
添加到JSlider
组件中,那么无论上述滑块的值是由程序内部更改还是由用户通过GUI外部更改,都会触发ChangeEvent
事件
有没有办法只让ChangeListener
识别JSlider
值的外部更改?也就是说,我希望能够在程序的整个过程中多次在内部设置滑块的值,而无需触发事件
# 1 楼答案
一个选项是在侦听器中保留一个标志,指示接收到的事件是否由外部触发
更改值时,首先更新标志的值,避免侦听器对您刚才所做的更改做出反应。然后,恢复国旗的状态
# 2 楼答案
无论是在内部还是外部更改
JSlider
值,您总是要触发ChangeEvent
。您可以始终使用一个类成员变量来指示从何处进行更改