javafx - 我如何处理位于 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
当我单击前按钮时,也单击后按钮。我该如何处理?
解决方案
Event Consume
应该管用。
front.setOnAction((e) -> {
System.out.println("front click");
e.consume();
});
推荐阅读
- javascript - 如何在 Node.js 中正确进行数据存储查询?
- reactjs - create-react-app 自版本 4.0.1 起无法正常工作
- javascript - 在 React-three-fiber 的 GLTF 模型上动态编辑材料
- r - Tidymodels 包:使用 R 中的 juice() 和 bake() 函数进行模型预测以找到最佳模型拟合
- classification - 如何以 zarr 格式动态存储一组图像和标签?
- opencv - 我想检测段落中所有带下划线的单词
- python - 当当前时间某处有零时,将其转换为二进制失败
- c++ - 递归函数在 0x79B20AD2 (ucrtbased.dll) 处引发未处理的异常
- wordpress - 使用 htaccess 将所有页面重定向到单个页面?
- windows-installer - 安装程序在没有任何重启提示的情况下重启