Можно ли установить статическое свойство JavaFX в CSS?
-
12-12-2019 - |
Вопрос
Пример FXML с помощью BorderPanel.alignment "статическое свойство":
<BorderPane>
<top>
<Label text="My Label" BorderPanel.alignment="CENTER"/>
</top>
</BorderPane>
Версия, поддерживаемая CSS:
<BorderPane stylesheets="Style.css">
<top>
<Label text="My Label" styleClass="labelClass"/>
</top>
</BorderPane>
Style.css был бы:
.labelClass
{
-fx-borderpanel-alignement: center
}
Решение
Для версий javafx 2.0 до 2.2=> Нет, вы не можете установить статические свойства макета через CSS.
Вы можете создать запрос на функцию в javafx jira , чтобы задать эту функциональность быть реализован в будущем Javafxверсия.
Другие советы
Вы можете применить это программно.Например, если вы хотите центрировать все виджеты в GridPane
, вместо того чтобы писать GridPane.halignment="CENTER"
в XML-объявлении каждого виджета вы можете сделать это на Java :
for(Node node : gridPane.getChildren())
{
GridPane.setHalignment(node, HPos.CENTER);
}
К сожалению, я не думаю, что вы можете разложить макеты на множители, как в Android :(
Не связан с StackOverflow