java - Javafx中如何检查鼠标光标是否在按钮上?

标签 java javafx

我是 Java 新手,我想知道是否可以检查鼠标光标是否在按钮上?我的意思是不获取点击事件,而只是将光标移动到按钮上。

我有工作代码被点击,然后打印一些东西,但我想稍微改变一下,但我不知道为什么它不起作用。

public class Main extends Application implements EventHandler<MouseEvent> {

Button button;
Stage window;
Scene scene;

@Override
public void start(Stage primaryStage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
    primaryStage.setTitle("Where's the button?");
    button.setText("Click me!");
    button.setOnMouseMoved(this);

    StackPane layout = new StackPane();
    layout.getChildren().add(button);

    Scene scene = new Scene(layout, 300,350);
    primaryStage.setScene(scene);
    primaryStage.show();

}


public static void main(String[] args) {
    launch(args);
}

@Override
public void handle(MouseEvent actionEvent) {
    System.out.println("You clicked the button!");
}
}

最佳答案

我为你编写了一些小代码。看一看。它在控制台中打印“Ho-Ho-Ho-Hovereed!”将鼠标悬停在按钮上后。

 @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setText("Hover over me.'");

        btn.hoverProperty().addListener((event)->System.out.println("Ho-Ho-Ho-Hovereeed!"));        

        StackPane root = new StackPane();
        root.getChildren().add(btn);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Mouse manpulation example in JavaFX!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

关于java - Javafx中如何检查鼠标光标是否在按钮上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53600568/

相关文章:

java - Jasper 报告组件在 JavaFX Swing 节点中未正确呈现

java - 与公共(public)API的连接

java - Maven 只需替换远程存储库中的 1 个依赖项

java - 尝试更新 cocos OpenSSL 时出错

Java 矩阵 - 转置和求和

java - 使用 JavaFX WebView 创建 PDF

Mac 上的 JavaFX WebView 字体问题

java - 如何使用 Lombok 指定单参数构造函数?

java - JSF 2 - 从两个文件构建页面 - 主要内容和当前内容

java - FXtras 议程 : set allowDragging property for individual appointments instead of whole agenda