有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java内部和外部ChangeEvent(带更改侦听器的JSlider)

据我所知,如果我将ChangeListener添加到JSlider组件中,那么无论上述滑块的值是由程序内部更改还是由用户通过GUI外部更改,都会触发ChangeEvent事件

有没有办法只让ChangeListener识别JSlider值的外部更改?也就是说,我希望能够在程序的整个过程中多次在内部设置滑块的值,而无需触发事件


共 (2) 个答案

  1. # 1 楼答案

    一个选项是在侦听器中保留一个标志,指示接收到的事件是否由外部触发

    更改值时,首先更新标志的值,避免侦听器对您刚才所做的更改做出反应。然后,恢复国旗的状态

  2. # 2 楼答案

    无论是在内部还是外部更改JSlider值,您总是要触发ChangeEvent。您可以始终使用一个类成员变量来指示从何处进行更改