java - 无法在 JavaFX 2.0 和 8.0 中加载 WebView

标签 java javafx javafx-2 javafx-8

我尝试在 Netbeans 7.2 (Java 1.7.u79) 和 Netbeans 8.0.2 (Java 1.8 u45) 中运行以下代码,但它不起作用!

package com.main;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

    public class RBrowser extends Application {

        @Override
        public void start(Stage primaryStage) {
            WebView browser = new WebView();
            final WebEngine webEngine = browser.getEngine();
            webEngine.load("http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm");

            Button b = new Button("Show Console");
            b.setOnAction(new EventHandler<ActionEvent>(){
                @Override
                public void handle(ActionEvent t) {
                    webEngine.executeScript("if (!document.getElementById('FirebugLite')){E = document['createElement' + 'NS'] && document.documentElement.namespaceURI;E = E ? document['createElement' + 'NS'](E, 'script') : document['createElement']('script');E['setAttribute']('id', 'FirebugLite');E['setAttribute']('src', 'https://getfirebug.com/' + 'firebug-lite.js' + '#startOpened');E['setAttribute']('FirebugLite', '4');(document['getElementsByTagName']('head')[0] || document['getElementsByTagName']('body')[0]).appendChild(E);E = new Image;E['setAttribute']('src', 'https://getfirebug.com/' + '#startOpened');}");
                }
            });

            VBox root = new VBox();
            root.setAlignment(Pos.CENTER);
            root.getChildren().addAll(browser,b);

            Scene scene = new Scene(root, 700, 550);

            primaryStage.setTitle("Google Map");
            primaryStage.setScene(scene);
            primaryStage.show();
        }

        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            launch(args);
        }

    }

我尝试访问<a href="http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm" rel="noreferrer noopener nofollow">http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm</a>在 Google Chrome 浏览器中,它已成功加载,我的代码有什么问题?

最佳答案

您安装的是哪个版本的 JDK。我在 Windows 8.1 上使用 IDK 8u77 并在 Eclipse Mars2 上运行您的代码,它运行得很好。试试latest version from here.检查它是否有效。

关于java - 无法在 JavaFX 2.0 和 8.0 中加载 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446593/

相关文章:

css - 将 CSS 转换为 JavaFx CSS

java - spring容器如何启动以及加载spring容器的方式

java - 在 Java 中识别文件类型

Java - 从 URL 获取 JSON 数据

java - 设置 DatePicker 的高度

javafx-2 - 使 JavaFX 2 Stage 窗口的任务栏闪烁

java - 应用程序适用于 Wildfly,但不适用于 Tomcat

java - 将项目符号点添加到 JavaFX 标签

JavaFX NullPointerExcepion @ FXMLLoader.load(...) (URL 为空)

java - 无法在 JavaFX JavaScript 中使用 URLClassLoader 加载自定义类