如何处理JavaFX中另一个按钮上的按钮单击?

时间:2019-04-25 22:51:31

标签: javafx

我刚刚制作了在按钮内部具有HBox的Button。 当我单击内部按钮时,也单击外部按钮。 我只想使一个按钮可以一次单击。 我该如何处理此按钮?

这是JavaFX控制器代码。

Button b = new Button();
Button front = new Button("Stop");
front.setPrefWidth(50);
front.setOnAction((e) -> {
    System.out.println("front click");
});
HBox h = new HBox();
h.getChildren().addAll(front);
b.setGraphic(h);

b.setOnAction((e) -> {
        System.out.println("back click");
});

当我运行此代码并单击前按钮时,结果为

front click
back click
front click
back click
front click
back click
front click
back click
front click
back click
front click
back click

当我单击前按钮时,也单击了后按钮。 我该如何处理?

1 个答案:

答案 0 :(得分:2)

Event Consume应该可以。

front.setOnAction((e) -> {
    System.out.println("front click");
    e.consume();
});