[英]JavaFX - How to delete a specific Node from an AnchorPane
我正在使用SceneBuilder 8.0.0和JavaFX 8。
我有一個Button btn
和一個Label lbl
附加到AnchorPane ap
。
當應用程序啟動時, btn
和lbl
附加到ap
。
如何刪除其中一個節點? (我只知道clear()方法從
ap
刪除所有節點)。 謝謝。
在JavaFX中,可以使用.getChildren()
跟隨.remove(Object o)
從父節點(例如AnchorPane )中刪除節點。
因此,如果您直接引用這些節點,則可以使用以下代碼從AnchorPane
刪除Button
:
ap.getChildren().remove(btn);
如果由於某種原因,你沒有對Button btn
的引用,你可以使用lookup(String selector)來查找和刪除它,如下所示:
ap.getChildren().remove(ap.lookup('.button'));
或者最后,因為你正在使用SceneBuilder(以及fxml),你還可以確保你連接了一個Controller並為你的Button分配一個id來獲取引用並刪除它,如下所示:
// ... somewhere in your class
@FXML
private Button myButtonId;
// ... somewhere in a method
ap.getChildren().remove(myButtonId);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.