gpt4 book ai didi

JavaFX - 如何从 AnchorPane 中删除特定节点

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:22 25 4
gpt4 key购买 nike

我正在使用 SceneBuilder 8.0.0 和 JavaFX 8。
我有一个 Button btn 和一个 Label lbl 附加到 AnchorPane ap
当应用程序启动时,btnlbl 附加到 ap

How can i delete one of these nodes ? (i only know clear() method which deletes all the nodes from ap). thanks.

最佳答案

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

引用

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

ap.getChildren().remove(btn);

查找

如果您出于某种原因没有对 Button btn 的引用,您可以使用 lookup(String selector)像这样找到并删除它:

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

FXML

或者最后,由于您使用的是 SceneBuilder(因此是 fxml),您还可以确保已连接 Controller 并为您的 Button 分配一个 id 以获取引用并将其删除所以:

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

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

关于JavaFX - 如何从 AnchorPane 中删除特定节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com