gpt4 book ai didi

Java ChangeListener 多次触发

转载 作者:行者123 更新时间:2023-11-29 06:39:36 26 4
gpt4 key购买 nike

我在 slider 上有一个简单的更改监听器。任何人都可以解释为什么当我点击一个新位置时它被解雇了 3 次。在我编写代码将先前的值保存在某处以查看它是否真的改变之前,我想看看是否有另一种方法可以弄清楚。第一个跳跳机显示它原来的样子,下一个显示新值,最后一个重复新值。

        slider_1 = new JSlider();
slider_1.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent arg0) {
if (fullyInitialized == 1) {
if (comboBox_1.getSelectedIndex() < 1) {
SendData2Device(1);
}
}
}
});
slider_1.setOrientation(SwingConstants.VERTICAL);

最佳答案

您需要检查更改是否为值调整。

完整教程链接: http://docs.oracle.com/javase/tutorial/uiswing/components/slider.html

但重要的是:

public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider)e.getSource();
if (!source.getValueIsAdjusting()) {
// Do what needs to occur here.
}
}

基本上,当 getValueIsAdjusting() 返回 false 时,用户已停止移动 slider 。

关于Java ChangeListener 多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com