Ошибка с дескриптором (Event) в EventHandler - PullRequest
0 голосов
/ 04 июня 2018

Я новичок в javafx, и я хотел бы просто напечатать координаты щелчка мышью.Я видел примеры, но у меня есть ошибка в строке EventHandler, которую я не понимаю, она говорит:

anonymous javafxapplication2.JavaFXApplication2$1 is not abstract and does not override abstract method handle(Event) in EventHandler

В чем проблема?Спасибо!

package javafxapplication2;

import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.shape.Line;
import javafx.stage.Stage;


public class JavaFXApplication2 extends Application {
    @Override
    public void start(Stage primaryStage) {
        Line line = new Line();

        Group root = new Group(line);

        Scene scene = new Scene(root, 800, 800);
        scene.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler() {
            @Override
            public void handle(MouseEvent event) {
                System.out.println(event.getX());
                System.out.println(event.getY());
            }
        }
        primaryStage.setTitle("Disegna linee");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

1 Ответ

0 голосов
/ 04 июня 2018

Изучив документацию здесь по обработчикам javafx, я считаю, что ваша проблема в том, что вам нужно предоставить тип для нового eventHandler, например

scene.addEventHandler(MouseEvent.MOUSE_CLICKED, 
    new EventHandler<MouseEvent>() { // Was missing the <MouseEvent>
        @Override
        public void handle(MouseEvent event) { ... };

    });
...