是否可以在CSS中设置JavaFX静态属性?

时间:2012-07-27 16:30:51

标签: css javafx javafx-2 fxml javafx-css

使用BorderPanel.alignment "static property"示例FXML:

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

2 个答案:

答案 0 :(得分:4)

对于JavaFX版本2.0到2.2 =&gt;不,你不能通过css设置静态布局属性。

您可以在JavaFX jira中创建功能请求,要求在将来的JavaFX版本中实现此功能。

答案 1 :(得分:0)

您可以以编程方式应用它。例如,如果要将GridPane的所有小部件集中在一起,而不是在每个小部件的XML声明中编写GridPane.halignment="CENTER",则可以在Java中执行此操作:

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

不幸的是,我不认为你可以像Android中一样分解布局:(