FXML:包括自定义组件

时间:2017-01-24 14:06:38

标签: javafx fxml

我有一个扩展名为HBox的{​​{1}}扩展名为TablePagination,我完全用我想要包含在FXML文件中的代码创建,所以当我这样做时:

<VBox fx:id="box" spacing="15" styleClass="sectionStyle">
      <StackPane>
           <TablePagination fx:id="pagination" StackPane.alignment="CENTER"/>
      </StackPane>
</VBox>
什么也没出现。但是,当我在这样的代码中执行此操作时:

pagination = new TablePagination(itemTable,items);

StackPane pane = new StackPane();
pane.setAlignment(pagination, Pos.CENTER);
pane.getChildren().add(pagination);
box.getChildren().add(pane);

我的控件被渲染但不在中心。那我错过了什么?

1 个答案:

答案 0 :(得分:1)

在您的代码版本TablePagination中居中StackPane,但TablePagination中的节点不是。拨打:

pagination.setAlignment(Pos.CENTER);

请注意,StackPane.setAlignment方法是静态的,您可以调用:

StackPane.setAlignment(pagination, Pos.CENTER);