【问题标题】:How to remove multiple click event of javafx button如何删除javafx按钮的多次点击事件
【发布时间】:2015-01-22 06:18:26
【问题描述】:

我使用场景构建器使用 fxml 创建了一个示例 fx 应用程序。 我已经在场景构建器上映射了一个动作处理程序并将其写入 java 控制器类。通过单击继续按钮,屏幕将更改为另一个屏幕。但是有时候屏幕会卡住,用户会多次点击继续按钮,所以系统会崩溃。

我在动作控制器的开头添加了按钮的禁用属性,但它没有发生。如何阻止多个事件点击事件或一次点击禁用按钮?

@FXML
    public void onBtnProceedClick() {
            btnProceed.setDisable(true);
          // other part of method.
}

FXML

<Button fx:id="btnProceed" maxWidth="1.7976931348623157E308" mnemonicParsing="false"
    onAction="#onBtnProceedClick" prefHeight="40.0" prefWidth="-1.0"
    styleClass="btnProceed" text="" GridPane.columnIndex="1"
    GridPane.rowIndex="0"
/>

【问题讨论】:

  • 请同时发布您的控制器和 fxml。这有点模糊。
  • 已添加按钮的 fxml。
  • 我没有理由明白为什么您发布的代码不起作用。请贴出Controller类的所有相关部分。
  • 实际上我在我的控制器方法的其余部分调用自动提款机。所以应用程序将等待某个时间分配金额。我认为这就是按钮禁用不起作用的原因....这是窗口服务调用.
  • 您以这种方式阻止了您的 GUI。但一个快速的解决方案是在“// 方法的其他部分”中检查禁用状态。并且只有在 disbled 为 false 时才继续。

标签: java javafx


【解决方案1】:

该事件有一个 getClickCount()。您可以添加一个检查来说明如果 getClickCount() > 1 然后什么也不做并返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多