是否有可能设置一个CSS JavaFX的静态属性?(Is it possible to set a

2019-06-26 14:14发布

样品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
 }

Answer 1:

为JavaFX版本2.0〜2.2 =>无不能设置通过CSS静态布局属性。

您可以创建在功能请求JavaFX的JIRA问这个功能在未来的JavaFX版本中实现。



Answer 2:

您可以通过编程应用它。 例如,如果你想要一个居中的所有部件GridPane ,而不是写GridPane.halignment="CENTER"的每个插件的XML声明,你可以在Java中做到这一点:

for(Node node : gridPane.getChildren())
{
    GridPane.setHalignment(node, HPos.CENTER);
}

不幸的是,我不认为你可以因式分解布局中的Android :(



文章来源: Is it possible to set a JavaFX static property in CSS?