Как использовать предопределенные классы стиля Spinner в FXML

В соответствии с этим блесна Link javaFX 8u45 может быть стилизована различными способами через класс стилей. Я знаю, как сделать это с помощью кода.

Например:

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

или же,

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

Однако не по fxml. Я попробовал это, но это не сработало. Я сделал это через сценограф, версия 8.

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

1 ответ

Решение

Я не уверен почему но определяю styleClass в FXML вроде

<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>

работает как положено.

Другие вопросы по тегам