gpt4 book ai didi

java - 拖动旋钮后更改 slider 的值

转载 作者:行者123 更新时间:2023-12-02 07:52:14 25 4
gpt4 key购买 nike

我正在尝试使用 JSlider setValue(int)当用户完成拖动旋钮时,自动将旋钮的位置移动到最近的刻度。当用户单击时,位置设置正确,但当用户拖动旋钮时,位置设置不正确。我该如何修复这个问题?

    /**
* Called when the slider is moved.
*
* @access public
* @param ChangeEvent
* @return void
*/
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider) e.getSource();

if ( ! source.getValueIsAdjusting() ) {
//let's only allow users to increment by TIMER_SPACING
int fps = (int) source.getValue();
int temp = fps % TIMER_SPACING;
if ( temp > TIMER_SPACING / 2 ) {
fps += TIMER_SPACING - temp;
} else {
fps -= temp;
}

source.setValue(fps);

if ( fps == 0 ) {
timer.stop();
} else {
if ( ! timer.isRunning() ) {
timer.start();
}
timer.setDelay(1000 / fps);
}
}
}

最佳答案

非常简单的解决方案,谢谢 Andrew Thompson :

slider.setSnapToTicks(true);

关于java - 拖动旋钮后更改 slider 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10095825/

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