JavaFX:带关闭按钮的 HBox

JavaFX: HBox with a close button

是否可以有一个带有关闭按钮的 HBox(即一个用于删除 HBox 的子按钮)? 我是计划将其实现成这样:

我想制作一个我自己的 class 继承自 HBox class 并且在实例化后已经有一个关闭按钮。 关闭按钮需要从 HBox 的父级(在本例中为 VBox 父级)移除 HBox不隐藏它。但我不确定是否可行。

如果可以,关闭按钮setOnAction应该如何实现?

当然可以:

EventHandler<ActionEvent> handler = event -> {
    // get button that triggered the action
    Node n = (Node) event.getSource();

    // get node to remove
    Node p = n.getParent();

    // remove p from parent's child list
    ((Pane) p.getParent()).getChildren().remove(p);
};
Button button = new Button("x");
button.setOnAction(handler);

请注意,事件处理程序的同一实例可重复用于多个关闭按钮,因为您从事件对象中获取了被单击的按钮。