JavaFX - 如何从锚窗格中删除特定节点

2022-09-03 12:33:39

我使用的是 SceneBuilder 8.0.0 和 JavaFX 8。
我有一个和一个附加到一个.
当应用程序启动并附加到 时。Button btnLabel lblAnchorPane apbtnlblap

如何删除这些节点之一?(我只知道 clear() 方法,它从 中删除所有节点)。谢谢。ap


答案 1

在JavaFX中,节点可以简单地从父级(例如AnchorPane)中删除,使用以下.getChildren().remove(Object o)

参考

因此,如果您有对这些节点的直接引用,则可以使用以下代码从 中删除 :ButtonAnchorPane

ap.getChildren().remove(btn);

查找

如果由于某种原因,您没有对 的引用,则可以使用 lookup(字符串选择器)来查找并删除它,如下所示:Button btn

ap.getChildren().remove(ap.lookup('.button'));

断续器

或者最后,由于您正在使用SceneBuilder(以及fxml),因此您还可以确保连接了控制器,并为按钮分配了一个ID,以获取引用并删除它,如下所示:

// ... somewhere in your class
@FXML
private Button myButtonId;

// ... somewhere in a method
ap.getChildren().remove(myButtonId);

答案 2

推荐