如何在 FXML 中使用预定义的 Spinner 样式 类

How to use predefined Spinner style classes in FXML

根据 this Link javaFX 8u45 微调器,可以通过样式 class 以多种方式设置样式。我确实知道如何通过代码来完成。

例如:

spinner.getStyleClass().add(Spinner.STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL);

或者,

spinner.getStyleClass().add("split-arrows-horizontal");

但是,不是通过 fxml。我确实尝试过这个,但是没有用。我是通过 scenebuilder 版本 8 完成的。

<Spinner fx:id="spn" editable="true" styleClass="split-arrows-horizontal"/>

我不确定为什么,但在 FXML 中定义 styleClass 就像

<Spinner fx:id="spn" styleClass="split-arrows-horizontal"/>

不会将该样式添加到 styleClass 列表。您可以通过

查看
@FXML private Spinner spn;

@Override
public void initialize( URL url, ResourceBundle rb )
{
    System.out.println( "getStyleClass: " + spn.getStyleClass() );
}

但是,在FXML中定义为

<Spinner fx:id="spn">
     <styleClass>
        <String fx:value="split-arrows-horizontal" />
     </styleClass>
</Spinner>

按预期工作。