【问题标题】:JavaFX button not responding on first clickJavaFX 按钮在第一次单击时没有响应
【发布时间】:2016-07-02 17:36:53
【问题描述】:
public void handle(){
    submit.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
            LoginConnection login = new LoginConnection(); 
            boolean pass = login.login(usernameField.getText(), passwordField.getText());

            if(pass)
                flip(SceneNames.Main);
            else
                invalLoginMessage.setOpacity(1.00);


        }
    });
    register.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
              flip(SceneNames.Register);                    
        }
    });
}

当我点击提交或注册时,需要两次点击才能执行任何操作。我该如何解决这个问题?

【问题讨论】:

  • 我相信我们需要更多的代码来回答:)
  • 你有没有试过在两个句柄方法中设置断点来检查第一次点击是否到达?
  • 我还没有设置断点我会试试的。
  • 你用的是FXML,这个方法属于控制器类吗?
  • 我支持@fabian:我的猜测是您在 FXML 中将按钮的“onAction”属性设置为“#handle()”,它只会在第一次单击时注册事件处理程序。

标签: java user-interface javafx


【解决方案1】:

发生的情况是,在第一次单击时,它会添加方法中指定的处理程序,而在第二次和连续单击时,它会使用处理程序。要修复它,只需创建单独的方法以通过 fxml 或场景构建器添加。

【讨论】:

  • 您能详细说明一下吗?我也面临同样的问题。
猜你喜欢
  • 1970-01-01
  • 2014-08-28
  • 2016-09-26
  • 2016-07-14
  • 2019-09-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多