JAVAFX 11不支持ECMAScript6和CSS3 [英] JAVAFX 11 not supporting ECMAScript6 and css3

查看:149
本文介绍了JAVAFX 11不支持ECMAScript6和CSS3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用JAVA FX 11的某些绘图工具创建一个Web浏览exp,但是在尝试加载使用letconst的javascript代码时,这些变量只会被忽略并引发异常.我正在使用maven 3.8.0,Java 1.8和JavaFX 11.

I am creating a web browsing exp with some drawing tool with JAVA FX 11 but while trying to load the javascript code which has let and const used these variables are simply getting ignored and throwing the exceptions. I am using maven 3.8.0, Java 1.8 and JavaFX 11.

代码如下:

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>12-ea+9</version>
</dependency>
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-web</artifactId>
    <version>12-ea+9</version>
</dependency>
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-swing</artifactId>
    <version>12-ea+9</version>
</dependency>
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-fxml</artifactId>
    <version>12-ea+9</version>
</dependency>

和Java代码

public static void main(String[] urls) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        System.out.println(javaVersion + " java....... fx........ " + javafxVersion);
        Application.launch(urls);
    }

    @Override
    public void start(Stage stage) throws Exception {
        Parameters parameters = getParameters();
        List<String> raw = parameters.getRaw();
        String url = "http://example.com/";
        if (raw.size() != 0) {
            url = raw.get(0);
        }
        /*
         * WebConsoleListener.setDefaultListener((webView, message, lineNumber,
         * sourceId) -> { System.out.println(message + "[at " + lineNumber + "] [in " +
         * sourceId + "]"); });
         */
        Pane root = new Pane();

        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();

        // Load the Google web page
        webEngine.load(url);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

        Scene scene = new Scene(root);
        stage.setScene(scene);
        stage.setTitle("IWB");
        stage.show();

        // mainStage = stage;
        root.getChildren().add(webView);
        webView.setMinSize((screenSize.getWidth() - 120), (screenSize.getHeight() - 60));
        btns.setMinHeight(screenSize.getHeight() - 60);

        stage.setOnCloseRequest(e -> {
            // Platform.exit();
            // System.exit(0);
        });
        // Platform.setImplicitExit(false);
    }

推荐答案

我正在使用maven 3.8.0,Java 1.8和JavaFX 11.

I am using maven 3.8.0, Java 1.8 and JavaFX 11.

简而言之,请使用最新的Java8.Java似乎正在该版本上更新WebKit,因此较新的版本将产生较新的功能.阅读下面的详细信息,特别是8u58u251之间的区别.

In short, use the latest Java 8. Java seems to be updating WebKit on that version, so newer versions will yield newer features. Read the below for the breakdown, specifically the differences between 8u5 and 8u251.

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆