java - Scenebuilder/JavaFX 多边形鼠标事件 onClick

标签 java eclipse javafx scenebuilder eclipse-photon

链接到场景构建器和一些 Java 代码:https://imgur.com/a/FOr1Mag

本质上,导航和图片会根据人要去/面对的位置而改变。

我有多边形作为方向键箭头,我希望能够检测到有人点击它们。 “向上”箭头多边形 ID 为“向前”
我读到可以使用forward.onMouseClickedProperty.addListener()或其他东西,但是当我查找“javafx多边形鼠标事件”时,我不知道如何在我的项目中实现。

谁能告诉我如何设置forward.onMouseClickedProperty.addListener()? 谢谢!

最佳答案

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;

public class ClickablePolygonApp extends Application {

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

    @Override
    public void start(Stage stage) throws Exception {
        Polygon polygon = new Polygon();
        polygon.getPoints().addAll(new Double[] {
                0., 80.,
                80., 80.,
                40., 20.
        });

        StackPane stackPane = new StackPane(polygon);
        stackPane.setPrefSize(400., 400.);

        stage.setScene(new Scene(stackPane));
        stage.show();

        polygon.setOnMouseClicked(mouseEvent -> System.out.println("1st way to handle Click!"));
        polygon.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> System.out.println("2nd way to handle click!"));
    }
}

关于java - Scenebuilder/JavaFX 多边形鼠标事件 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53373278/

相关文章:

linux - 弹出窗口仅在 Mac 上处于后台,但在全屏 Windows/Linux 上不在后台

java - 如何使用 JavaFX 8 在图像上重叠按钮/文本?

java - 运行JavaFx媒体应用程序时出现模块错误

java - 如何解决 "Keystrokes is not abstract and does not override ab. method"

java - 获取循环外的信息

java - 当有人试图关闭窗口时如何阻止窗口被释放

java - 我如何获得数组来保存所玩游戏的数量并为每个玩家运行它?

java - Spring Neo4j 保存 MultipartFile

java - 使用ajax下载生成的excel文件

java - HashMap 的KeySet、EntrySet 和values 都为null 而table 不为空