是否有可能有一个HBox
带有关闭按钮的按钮(即一个用于删除的子按钮HBox
)?我打算将它实现为这样的:
我想创建一个我自己的类,它继承自HBox
该类,并且在实例化后已经有一个关闭按钮。关闭按钮需要HBox
从父级HBox
(在本例中VBox
为父级)中移除,而不是隐藏它。但我不确定这是否可能。
如果可能,应该如何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);
请注意,事件处理程序的同一个实例可以重复用于多个关闭按钮,因为您获得了从事件对象中单击的按钮。