java - 内部和外部 ChangeEvent(JSlider w/Change Listener)

标签 java swing

据我所知,如果我将 ChangeListener 添加到 JSlider 组件,则会触发 ChangeEvent 事件,无论是否满足上述条件 slider 的值可以由程序内部更改,也可以由用户通过 GUI 从外部更改。

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

最佳答案

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

当您更改值时,首先更新标志的值,避免您的监听器对您刚刚所做的更改使用react。然后,您恢复标志的状态。

关于java - 内部和外部 ChangeEvent(JSlider w/Change Listener),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11958703/

相关文章:

java - 找不到符号 - 变量

java - 如何在注入(inject) JBOSS JNDI 数据源的 Spring 中运行 JUnit 测试

java - 我在使用 @AuthenticationPrincipal 的 REST api 端点中显示了不必要的参数

java - 创建一个从用户输入开始的 java gui 倒计时器

java - 为什么我的项目没有出现在 JFrame 中?

java - 如何将 spring bean 注入(inject) jersey 的资源类中?

java - 在定时器开始触发后重新设置延迟

java - 使用 swing 在 Canvas 上绘制椭圆形

java - JTextField 突然变小了

java - 我想用鼠标拖动图像来移动矩形,代码有什么问题