我想以编程的方式在BorderPane中添加和删除侧菜单。问题是当我添加一个Node时,它是不可见的。BorderPane和StackPane在FXML文件中定义。
我想做这样的事:
StackPane temp = (StackPane) borderPane.getChildren().get(1);
borderPane.getChildren().remove(1);
borderPane.getChildren().add(0, temp);我试过borderPane.requestLayout(),但它不起作用。
发布于 2016-11-17 11:08:29
您可以使用setRight或setLeft、setTop、setBottom、setCenter方法将Node添加到不同的部分,还可以使用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);发布于 2019-08-16 21:22:48
从边框窗格中删除节点非常简单。声明边框窗格ID,并使用该id选择子节点,并通过下面的代码删除指定的边(左、右、上、下)。
@FXML
private BorderPane borderPane;
@Override
public void initialize(URL location, ResourceBundle resources) {
borderPane.getChildren().remove(borderPane.getLeft());
borderPane.getChildren().remove(borderPane.getRight());
}https://stackoverflow.com/questions/40652808
复制相似问题