我正在构建一个小应用程序,我需要使用十进制值(Double值)获取一些输入。我添加了一些 SpinnerValueFactory.DoubleSpinnerValueFactory 来定义min.max,默认的double值,但是当我单击微调器的增量按钮时它不会随着小数值增加,它会以整数递增。
@FXML
private Spinner<Double> fixedAciditySpinner;
@Override
public void initialize(URL url, ResourceBundle rb) {
this.fixedAciditySpinner.setValueFactory(new SpinnerValueFactory.DoubleSpinnerValueFactory(0.00, 100.00, 0.00));
}
如何让微调器使用十进制值?
答案 0 :(得分:1)
<Spinner fx:id="sp" GridPane.columnIndex="3" GridPane.rowIndex="4" editable="true"
min="3.2" max="5.0" initialValue="3.2" amountToStepBy=".1"/>
这样做很容易
答案 1 :(得分:0)
通过FXML所要做的就是将值设置为最小最大值和amountToStepBy
<Spinner fx:id="spinner" editable="true" >
<valueFactory>
<SpinnerValueFactory.DoubleSpinnerValueFactory min="0.0" max="10.0" initialValue="5.0" amountToStepBy="0.1"/>
</valueFactory>
</Spinner>
当然,您需要将DoubleSpinnerValueFactory包含在FXML文件中
<?import javafx.scene.control.SpinnerValueFactory.DoubleSpinnerValueFactory?>
以上将使你的Spinner使用双打,但当你有一个像“5”这样的值时,你会看到它的演示文稿将是一个int而不是5.0。