新JDK就在这里:
JDK 8u40版本包括新的JavaFX UI控件;一个微调控件,格式化文本支持和一组标准的警告对话框。
我想在fxml中使用IntegerSpinnerValueFactory初始化Spinner。我尝试了以下内容:
<Spinner><valueFactory><SpinnerValueFactory ???????? /></valueFactory></Spinner>
新控件的文档很少,并且考虑到只有类编码中的java。
有关如何初始化的想法吗?
答案 0 :(得分:5)
如果您查看Spinner
类,则可以使用多个构造函数。
例如:
public Spinner(@NamedArg("min") int min,
@NamedArg("max") int max,
@NamedArg("initialValue") int initialValue) {
this((SpinnerValueFactory<T>)new SpinnerValueFactory.IntegerSpinnerValueFactory(min, max, initialValue));
}
根据answer:
@NamedArg注释允许FXMLLoader实例化一个没有零参数构造函数的类。
因此您可以使用min
,max
和initialValue
作为FXML文件中Spinner
的参数:
<Spinner fx:id="spinner" min="0" max="100" initialValue="3" >
<editable>true</editable>
</Spinner>
请注意,您的IDE可能会抱怨Class javafx.scene.control.Spinner doesn't support property 'min'
的警告...但您可以构建并运行该项目。