javafx - 如何设置 slider 更改监听器仅在 JavaFX 中释放鼠标拖动时触发?

标签 javafx slider mouseevent

我在 JavaFX 中有一个用于 slider 的工作代码,但每当 slider 发生任何变化时它都会触发,我希望它只在鼠标拖动事件被释放时触发变化。

代码如下:

sliderMarkerSize.valueProperty().addListener(new ChangeListener<Number>() {
        public void changed(ObservableValue<? extends Number> ov,
            Number old_val, Number new_val) {
                markerSize = new_val.intValue();
                communalWeb();
            }

    });

如何让它只在松开鼠标时改变我的图表?

最佳答案

使用 OnMouseReleased

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 *
 * @author blj0011
 */
public class JavaFXApplication231 extends Application
{

    @Override
    public void start(Stage primaryStage)
    {


        Slider slider = new Slider(0, 100, 0);
        slider.setOnMouseReleased(event -> {
            System.out.println(slider.getValue());
        });
        StackPane root = new StackPane(slider);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        launch(args);
    }

}

关于javafx - 如何设置 slider 更改监听器仅在 JavaFX 中释放鼠标拖动时触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640138/

相关文章:

java - 如何更高效地更新TriangleMesh的点?

javascript - 如何组合 slider 范围和一些值

slider - 当用户用 swiftUI 放下 slider 时如何调用函数?

windows-runtime - 从 WinRT 的 PointeWheelChanged 事件获取增量值

c++ - 如何让我的 QDial 对不同于预定义鼠标事件的鼠标事件使用react?

java - 为什么我的 JDialog 中的 JButton 不起作用?固定的

java - 使用 JavaFX 和 maven 将模块描述符添加到库中

JavaFX:hostservices.showDocument() 性能不佳

java - 如何清除 javafx 条形图中添加的文本?

javascript - 音量 slider 自动静音