JavaFX场景构建器。如何从Slider获得价值?

时间:2016-08-10 23:26:27

标签: slider scenebuilder

晚上好,先生。

我正在学习使用Scene Builder从头开始创建GUI,这意味着我没有在主类创建任何对象; Scene Builder本身在FXML文件中创建了所有内容。

所以,在我的这个窗口中,我有两个滑块和一个开始按钮,他们需要两个滑块的int值才能运行。

start方法就像

public void start(slider1 int value, slider2 int value){ code }

fxml文件中的滑块,它们有一个id:

<Slider fx:id="escritoresQuant" blockIncrement="1.0" layoutX="85.0" layoutY="314.0" majorTickUnit="1.0" max="4.0" minorTickCount="0" prefHeight="14.0" prefWidth="71.0" showTickLabels="true" showTickMarks="true" snapToTicks="true" />
  <Slider fx:id="leitoresQuant" blockIncrement="1.0" layoutX="85.0" layoutY="349.0" majorTickUnit="1.0" max="6.0" minorTickCount="0" prefHeight="14.0" prefWidth="71.0" showTickLabels="true" showTickMarks="true" snapToTicks="true" />

如何从这两个滑块获得int值?
非常感谢

2 个答案:

答案 0 :(得分:0)

我认为this is what you are looking for

您应该可以通过调用double

获取escritoresQuant.getValue()的值

答案 1 :(得分:0)

为用户更改滑块(如果尚未更改)设置一个eventListener。 onMouseReleased =“#onSliderChanged”

//in the FXML
<Slider  fx:id="escritoresQuant" blockIncrement="1.0" majorTickUnit="5.0" 
max="26.0" min="-26.0" 
minorTickCount="1"  onMouseReleased="#onSliderChanged"
prefHeight="38.0" prefWidth="287.0" showTickLabels="true" 
showTickMarks="true" snapToTicks="true"
style="-fx-background-color: white;" value="3.0" 
BorderPane.alignment="BOTTOM_CENTER" />


//in the Controller class
@FXML
private Slider escritoresQuant;

@FXML
public void onSliderChanged() {
    int sliderValue = (int) escritoresQuant.getValue();
    System.out.println(sliderValue + " ");
    txtOut.setText(escritoresQuant.getValue()+" ");
}