我想以编程方式在 BorderPane 中添加和删除侧边菜单。
问题是当我添加 Node 时,它​​不可见。BorderPaneStackPane 在 FXML 文件中定义。

我想做这样的事情:

StackPane temp = (StackPane) borderPane.getChildren().get(1);
borderPane.getChildren().remove(1);
borderPane.getChildren().add(0, temp);

我试过 borderPane.requestLayout() 但它不起作用。

最佳答案

您可以使用 setRight setLeftsetTopsetBottomsetCenter 方法将 Node s 添加到不同的部分,也可以使用 getRight getLeftgetTopgetBottomgetCenter 来检索当前分配的 Node 。 set 方法还可用于通过传递 Node 值来删除当前设置的 null

示例:

想象一下,您有一个 BorderPane,其右侧放置了一个 StackPane,并且您想将其移动到左侧。

StackPane temp = (StackPane) borderPane.getRight(); // Casting is unnecessary
borderPane.setRight(null);
borderPane.setLeft(temp);

关于JavaFX 从 BorderPane 添加和删除节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40652808/

10-09 18:28