晚上好,先生。
我正在学习使用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值?
非常感谢
答案 0 :(得分:0)
答案 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()+" ");
}