SceneBuilder 8.0.0とJavaFX 8を使用しています。
私はButton btn
とLabel lbl
をAnchorPane ap
。
アプリケーションが起動すると、btn
とlbl
がap
にアタッチされます。
これらのノードの1つを削除するにはどうすればよいですか?(
ap
からすべてのノードを削除するclear()メソッドしか知りません)。ありがとう。
JavaFXでは、.getChildren()
に続けて.remove(Object o)
を使用して、ノードを Parent (例: AnchorPane )から簡単に削除できます。
したがって、これらのノードへの直接参照がある場合は、次のコードを使用してButton
をAnchorPane
から削除できます。
ap.getChildren().remove(btn);
何らかの理由でButton btn
への参照がない場合は、 lookup(String selector) を使用して、次のように検索および削除できます。
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);