我在 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);
}
}