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

JavaFX:如何注销按钮操作事件

王宏扬
2023-03-14

我有一个按钮,可以设置一个动作,比如

moveRight.setOnAction(new EventHandler<ActionEvent>() {
@Override
            public void handle(ActionEvent e) {
}});

如何从该按钮中删除此EventFilter?我尝试了RemoveEventHandler方法,但应该是什么参数?

共有3个答案

邵沛
2023-03-14

你也可以禁止它被点击,这样它就不会再听任何动作了

娄飞鸾
2023-03-14

由于我在你的问题下的评论几乎听不清,所以我发布了一个答案。

根据您的评论,您要注册一个actionlistener,将其删除,重新注册相同的侦听器。

还有更多的方法来实现这一点。

1) 编写自己的处理程序:

EventHandler<ActionEvent> eh = new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        // CODE
    }
};
button.setOnAction(eh); //registered
button.setOnAction(null); //unregistered
button.setOnAction(eh); //re-registered

(lamda看起来是这样的:

EventHandler<ActionEvent> eh = (ActionEvent event) -> {
                // CODE
            };

)

2)让您的类实现EventHandler并覆盖抽象方法。然后您可以通过以下方式添加/删除监听器:

button.setOnAction(this);
button.removeEventHandler(ActionEvent.Action,this); 

在handle方法中,可以通过事件获取调用方法的对象。getSource(),这样您就可以通过

Button b = (Button)event.getSource();

3)创建实现javafx.event.EventHandler的其他类,并将其实例化为您的处理程序;

乐正远航
2023-03-14

下面的调用实现了您想要的技巧:

moveRight.setOnAction(null);
 类似资料:
  • 我现在正在用JavaFX做一个简单的数独游戏。现在我在对话中遇到了一些困难。我创建了两个场景,菜单场景只包含“新游戏”和“继续”按钮,主场景包含数独游戏。在主场景中,我创建了一个检查按钮来检查玩家的答案是否正确,如果答案不正确,则在此处显示一个类似于此img的对话框,如果答案正确,则可能在此处显示此img。 然后我发现确认警报很相似。所有我需要改变的是按钮的文字和它的动作,而当点击重试回到游戏场景

  • 我使用的是Laravel5.2框架,我已经使用命令创建了auth。我的AuthController中有以下内容: 这些在我的路线上。php文件: 登录/注册时,一切正常,但当我按下注销按钮时,没有任何变化,我仍然登录。我想要的是在单击注销按钮后重定向到auth/login视图。请帮忙。

  • 我尝试从昨天javaFX和场景构建器在一个非常简单的应用程序中获得按钮点击工作,但我尝试的一切(通过遵循一些教程或相关答案在这里)都不起作用。我创建了一个新的javaFX项目,下面是通过我的编辑创建的文件: main.java: sampleControler.java: 在我使用fx:id代替按钮和标签的id后,按钮按预期工作,上面的错误消失了。

  • 我很难使用< code>onKeyPressed事件。我的应用程序中有一个< code>TextField,允许用户按下[ENTER]键来实现某项功能;然而,我也为场景指定了一个默认按钮。 虽然我可以在<code>文本字段</code>中成功触发按键所需的操作,但默认按钮的操作始终首先执行。当用户位于中时,我需要完全为按键使用事件。 请参阅以下MCVE: 所需的行为是能够在键入并按 Enter 键

  • 浮动操作按钮 运行方式 过渡 大屏幕 浮动操作按钮 浮动操作按钮 浮动操作按钮适用于进阶的操作。它是漂浮在 UI 上的一个圆形图标,具有一些动态的效果,比如变形、弹出、位移等等。 浮动操作按钮有两种尺寸: 默认尺寸:适用于多数应用情况。 迷你尺寸:仅用于创建与其他屏幕元素视觉的连续性。 浮动操作按钮 迷你浮动操作按钮 浮动操作按钮应至少放在距手机边缘 16dp 或电脑/台式机边缘 24dp 的地方