Событие мыши полигонов Scenebuilder / JavaFX onClick - PullRequest
0 голосов
/ 19 ноября 2018

Ссылка на построитель сцен и некоторый Java-код: https://imgur.com/a/FOr1Mag

В сущности, навигация и изображения будут меняться в зависимости от того, куда человек идет / сталкивается.

У меня есть многоугольники в виде стрелок D-pad, и я хочу иметь возможность определять, когда человек нажимает на них.Идентификатор многоугольника стрелки «вверх» равен «forward»
Я прочитал, что forward.onMouseClickedProperty.addListener () или что-то еще можно использовать, но когда я посмотрел «событие мыши многоугольника javafx», я не понимаю, как реализовать вмой проект.

Может кто-нибудь сказать мне, как настроить forward.onMouseClickedProperty.addListener ()?Спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018
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!"));
    }
}
...