我想以编程方式在 BorderPane
中添加和删除侧边菜单。
问题是当我添加 Node
时,它不可见。BorderPane
和 StackPane
在 FXML 文件中定义。
我想做这样的事情:
StackPane temp = (StackPane) borderPane.getChildren().get(1);
borderPane.getChildren().remove(1);
borderPane.getChildren().add(0, temp);
我试过
borderPane.requestLayout()
但它不起作用。 最佳答案
您可以使用 setRight
或 setLeft
、 setTop
、 setBottom
、 setCenter
方法将 Node
s 添加到不同的部分,也可以使用 getRight
、 getLeft
、 getTop
、 getBottom
、 getCenter
来检索当前分配的 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/