JavaFX TextField.setOnKeyPressed bahavior在Ubuntu 18.04中的更改

JavaFX TextField.setOnKeyPressed bahavior在Ubuntu 18.04中的更改,java,ubuntu,javafx-8,Java,Ubuntu,Javafx 8,我注意到JavaFX在更新到Ubuntu 18.04后表现不同。我有一个小程序来说明这个问题: package sample; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.stage.Stage; public class Main extends

我注意到JavaFX在更新到Ubuntu 18.04后表现不同。我有一个小程序来说明这个问题:

package sample;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        primaryStage.setTitle("Key Pressed");
        Group root = new Group();
        Scene scene = new Scene(root, 300, 275);
        TextField textField = new TextField();
        textField.setOnKeyPressed(e -> System.out.println("KeyPressed: " + textField.getText()));
        textField.setOnKeyReleased(e -> System.out.println("KeyReleased: " + textField.getText()));
        root.getChildren().add(textField);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
我编译了这个程序,在ubuntu 16.04 Oracle java 1.8.0_152、ubuntu 18.04 java 1.8.0_152、ubuntu 18.04 java 1.8.0_192、Windows 10 java 1.8.0_161上运行,并在文本字段中键入“abcd”(不带引号)

当我在ubuntu 16.04和Windows 10上运行它时,输出是

KeyPressed: 
KeyReleased: a
KeyPressed: a
KeyReleased: ab
KeyPressed: ab
KeyReleased: abc
KeyPressed: abc
KeyReleased: abcd
但是当我在ubuntu 18.04上运行程序时,输出是

KeyReleased: a
KeyReleased: ab
KeyReleased: abc
KeyReleased: abcd
为什么相同的java程序在不同的操作系统(即使是同一版本的jre)上存在差异?哪种行为是正确的