Cal*_*ips 10 java javafx javafx-8
我正在使用SceneBuilder 8.0.0和JavaFX 8.
我有一个Button btn和一个Label lbl附加到AnchorPane ap.
当应用程序启动,btn并lbl连接到ap.
如何删除其中一个节点?(我只知道删除所有节点的clear()方法
ap).谢谢.
Mik*_*out 17
在JavaFX中,可以使用以下方法简单地从父节点(例如AnchorPane)中删除节点.getChildren().remove(Object o)
因此,如果您直接引用这些节点,则可以使用以下代码Button从以下位置删除AnchorPane:
ap.getChildren().remove(btn);
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因,你没有引用,Button btn你可以使用lookup(字符串选择器)来查找和删除它,如下所示:
ap.getChildren().remove(ap.lookup('.button'));
Run Code Online (Sandbox Code Playgroud)
或者最后,因为你正在使用SceneBuilder(以及fxml),你还可以确保你连接了一个Controller并为你的Button分配一个id来获取一个引用并删除它,如下所示:
// ... somewhere in your class
@FXML
private Button myButtonId;
// ... somewhere in a method
ap.getChildren().remove(myButtonId);
Run Code Online (Sandbox Code Playgroud)