【问题标题】:Is it possible to set a JavaFX static property in CSS?是否可以在 CSS 中设置 JavaFX 静态属性?
【发布时间】:2012-07-26 09:00:56
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您可以以编程方式应用它。例如,如果您想将 GridPane 的所有小部件居中,而不是在每个小部件的 XML 声明中写 GridPane.halignment="CENTER",您可以在 Java 中这样做:

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

    不幸的是,我认为您不能像在 Android 中那样分解布局:(

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 谢谢,刚刚创建了功能请求。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      相关资源
      最近更新 更多