繁体   English   中英

JavaFX - 处理按钮上的 MouseEntered 事件(使用 fxml)

[英]JavaFX - handle MouseEntered event on a button (with fxml)

我正在尝试学习事件处理,并用一个看起来像这样的 fxml 按钮做了一个例子:

<Button fx:id="button" onAction="#Handle">

以及我的控制器中的以下处理程序方法:

@FXML
 private void Handle () {

    btn_welcome.setOnMouseClicked((event) -> {

        System.out.println("test");

    });

到目前为止,这工作正常。 现在我想处理用鼠标输入按钮的事件。 我试过了

@FXML
 private void Handle () {

    btn_welcome.setOnMouseEntered((event) -> {

        System.out.println("test");

    });

但它似乎不起作用。

您不应将另一个侦听器放在控件上以使其执行该功能。 您所做的是每次调用 handle 方法时添加另一个侦听器。

在 FXML 中使用onMouseEntered="#methodToBeCalled" ,并在您的代码中创建该方法:

@FXML
public void methodToBeCalled(){
   System.out.println("mouse entered");
}

就这么简单。 该方法将被调用,您所要做的就是指定 id/方法名称,并使用注释。

你也可以试试这个

 btn_welcome.addEventHandler(MouseEvent.MOUSE_ENTERED,
        new EventHandler<MouseEvent>() {
          @Override
          public void handle(MouseEvent e) {
           //your code here
          }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM