I'm using SceneBuilder 8.0.0 and JavaFX 8.
I have a Button btn
and a Label lbl
attached to an AnchorPane ap
.
When the application starts, btn
and lbl
are attached to ap
.
How can i delete one of these nodes ? (i only know clear() method which deletes all the nodes from
ap
). thanks.
In JavaFX, nodes can simply be removed from a Parent (e.g. an AnchorPane) using .getChildren()
following by .remove(Object o)
So if you have a direct reference to these Nodes, you could use the following code to remove the Button
from the AnchorPane
:
ap.getChildren().remove(btn);
If you, for some reason, don't have a reference to the Button btn
you can use lookup(String selector) to find and remove it like so:
ap.getChildren().remove(ap.lookup('.button'));
Or finally, since you are using SceneBuilder (and thus fxml) you could also make sure you hava a Controller connected and assign an id to your Button to get ahold of a reference and remove it like so:
// ... somewhere in your class
@FXML
private Button myButtonId;
// ... somewhere in a method
ap.getChildren().remove(myButtonId);