Java 如何在FXML中使用预定义的微调器样式类

Java 如何在FXML中使用预定义的微调器样式类,java,javafx-8,fxml,javafx-css,Java,Javafx 8,Fxml,Javafx Css,根据JavaFX8U45微调器,可以通过样式类以多种方式设置样式。我知道怎么用代码来做 例如: spinner.getStyleClass().add(Spinner.STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL); 或者 但是,不是通过fxml。我确实试过这个,但不起作用。我是通过scenebuilder第8版完成的 <Spinner fx:id="spn" editable="true" styleClass="split-arrows-horizontal

根据JavaFX8U45微调器,可以通过样式类以多种方式设置样式。我知道怎么用代码来做

例如:

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

但是,不是通过fxml。我确实试过这个,但不起作用。我是通过scenebuilder第8版完成的

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

我不知道为什么,但在FXML中定义
样式类

<Spinner fx:id="spn" styleClass="split-arrows-horizontal"/>
但是,在FXML中将其定义为

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


工作如预期。

像charm一样工作,在scene builder 8上工作得很好,消极的一面是这不能从scene builder自己完成,我必须从text-editorOk编写,我从scene builder 8本身开始工作,我添加了两个样式类(“水平分割箭头”和一个不改变任何内容的虚拟样式类),并且它工作了,这里的一个发现是,这些预定义的JavaFX样式类将无法在fxml中工作,除非它与另一个合法或不存在的样式类配合使用@jyonkheel。我几乎从未使用过场景生成器,所以无法告诉smthng。
@FXML private Spinner spn;

@Override
public void initialize( URL url, ResourceBundle rb )
{
    System.out.println( "getStyleClass: " + spn.getStyleClass() );
}
<Spinner fx:id="spn">
     <styleClass>
        <String fx:value="split-arrows-horizontal" />
     </styleClass>
</Spinner>