当前位置: 首页 > 知识库问答 >
问题:

JavaFX按钮在第一次单击时没有响应

韦棋
2023-03-14
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);                    
        }
    });
}

当我单击submit或register时,需要两次单击才能完成任何操作。如何修复此问题?

共有1个答案

倪培
2023-03-14

发生的情况是,在第一次单击时,它添加方法中指定的处理程序,在第二次和连续单击时,它使用处理程序。要解决这个问题,只需创建单独的方法,通过fxml或场景生成器进行添加。

 类似资料:
  • 问题内容: 我正在尝试用JavaFX创建我的第一个应用程序,而Button调用一个方法时遇到了问题(例如,打开另一个窗口)-我总是必须单击两次才能触发操作。 这是来自控制器的代码: 我的方法在这里实现: 问题答案: 最有可能在FXML中包含以下内容: 这使您的按钮可以调用您的方法。但是,您没有定义要在单击按钮时执行的逻辑,而是第一次说:“单击此按钮时,在我的按钮上放一个会叫“ 因此,您的第一次单击

  • 问题内容: 我正在开发我的第一个android计算器应用程序。我陷入一个单一的缺陷。我添加了几个按钮,然后单击这些按钮,它将把各自的文本放在“ 字段”上。主要问题描述如下:在运行项目时,必须单击两次按钮才能将相应的文本首次放置在字段上。例如,单击时将“ 1”放在字段上。在运行时,首先单击该按钮无效。仅在第二次单击时,它将“ 1”放在字段上。 该守则如下: XML按钮和EditField, Main

  • 我的代码生成一个输入字段,允许用户输入要搜索的值。然后当他们单击提交按钮时,它会使displayMap为true,因此当MapDisplay组件呈现时,它将通过Map组件触发API搜索并返回随后显示在地图上的值。 问题是这个过程只工作一次。当我再次单击该按钮时,它确实做了一些事情,我确认它正在输入框中获取新值,但我似乎不知道如何再次渲染地图。 我尝试在this.setState中设置其他变量,试图

  • 我突然出现了一个奇怪的行为。我简单地将作为HBox的子节点。当我第一次单击时,它会缩小其大小并失去自己的装饰,就好像它变成了一个普通的。这种行为发生在和继承它的人身上(如JfoPhoenix的也会受到影响)。我将行为动画如下: 初始化时,工具栏下的按钮似乎也会出现此故障状态,如下所示: 我使用的FXML如下所示: 以下是影响此FXML文件的规则: 我不知道是什么影响了即使是普通的按钮。是什么导致此

  • 我知道这可能是一个容易修复的错误,但我没有找到它。当警报框出现并点击时,需要点击2次才能关闭它

  • 我找到了其他相关的问题,但没有一个答案实际上解决了我的问题。这个按钮在IE上很好用,但在Chrome上不行。我尝试移除span元素,将按钮放在任何其他标记之外,但仍然触发了两次。这个temple扩展了一个'base.html'文件,代码位于'main'元素中。 HTML: jQuery: