栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaFX按钮对第二次单击的反应不是第一次

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaFX按钮对第二次单击的反应不是第一次

最有可能在FXML中包含以下内容:

<Button fx:id="forgot" onAction="#forgetPasswordClicked" />

这使您的按钮可以

forgot
调用您的方法
forgetPasswordClicked()
。但是,您没有定义要在单击按钮时执行的逻辑,而是第一次说:“单击此按钮时,
actionevent
在我的按钮上放一个会叫
setUpWindow()

forgot.setonAction(e -> ForgotPassword.setUpWindow());

因此,您的第一次单击“设置”按钮的逻辑。第二次单击实际上执行了它。要解决此问题,请立即使用您的逻辑,例如:

public void forgetPasswordClicked() {    ForgotPassword.setUpWindow();}

或不定义要在fxml中调用的方法,然后将按钮的初始化(设置动作侦听器)移至初始化,如下所示:

public class ControllerSignIn implements Initializable {    @FXML    private Button forgot;    @FXML    private Button back;    @Override    public void initialize(URL location, ResourceBundle resources) {        forgot.setonAction(e -> ForgotPassword.setUpWindow());        back.setonAction(e -> ForgotPassword.closeWindow());    }}

这也是为什么您的

signInClicked()
方法从第一次单击开始就起作用的原因,因为它实际上是在执行逻辑,而不是先设置处理程序。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号