javafxwebview没有';不加载url

javafxwebview没有';不加载url,webview,javafx,load,jpanel,Webview,Javafx,Load,Jpanel,我学习了很多教程,但可能我遗漏了一些东西,因为url没有加载到JavaFXWebView中,并且显示的是一个白色面板,而不是一个网页。我尝试了和其他网页,但都没有显示。 下面的JPanel显示在JTabbedPane中。我认为白色面板是JFXPanel,它填充在下面 代码如下: public class RtcOverview extends JPanel { private final JFXPanel jfxPanel = new JFXPanel(); private WebEngine

我学习了很多教程,但可能我遗漏了一些东西,因为url没有加载到JavaFXWebView中,并且显示的是一个白色面板,而不是一个网页。我尝试了和其他网页,但都没有显示。 下面的JPanel显示在JTabbedPane中。我认为白色面板是JFXPanel,它填充在下面

代码如下:

public class RtcOverview extends JPanel {

private final JFXPanel jfxPanel = new JFXPanel();
private WebEngine engine;

String url = "http://google.com";

public RtcOverview() {

    super();
    initComponents();
    this.add(jfxPanel);
}

private void initComponents() {


    Platform.runLater(new Runnable() {
        @Override
        public void run() {

            WebView view = new WebView();

            engine = view.getEngine();
            engine.load(url);
            Scene scene = new Scene(view);
            jfxPanel.setScene(scene);
        }
    });
}

非常适合我。我附上一个MCVE,这样你就可以比较,看看你的情况出了什么问题。如果此MCVE在您的计算机上失败,我建议您检查您的internet设置,并确保您的设置不会阻止应用程序使用internet

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main extends JFrame {

    private final JFXPanel jfxPanel = new JFXPanel();
    private WebEngine engine;

    String url = "http://google.com";

    public Main() {
        super();
        initComponents();
        getContentPane().add(jfxPanel);
        setSize(500, 500);
        // Kill everything on closing the frame
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

    private void initComponents() {
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                WebView view = new WebView();
                engine = view.getEngine();
                engine.load(url);
                Scene scene = new Scene(view);
                jfxPanel.setScene(scene);
            }
        });
    }

    public static void main(String[] args) {
        Main main = new Main();
        main.setVisible(true);
    }
}

对我来说很合适。我附上一个MCVE,这样你就可以比较,看看你的情况出了什么问题。如果此MCVE在您的计算机上失败,我建议您检查您的internet设置,并确保您的设置不会阻止应用程序使用internet

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main extends JFrame {

    private final JFXPanel jfxPanel = new JFXPanel();
    private WebEngine engine;

    String url = "http://google.com";

    public Main() {
        super();
        initComponents();
        getContentPane().add(jfxPanel);
        setSize(500, 500);
        // Kill everything on closing the frame
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

    private void initComponents() {
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                WebView view = new WebView();
                engine = view.getEngine();
                engine.load(url);
                Scene scene = new Scene(view);
                jfxPanel.setScene(scene);
            }
        });
    }

    public static void main(String[] args) {
        Main main = new Main();
        main.setVisible(true);
    }
}

你救了我的命,我挣扎了这么多,似乎代理是有罪的,我不得不用System.setProperty()添加代理。非常感谢你的帮助!!上帝保佑你,你救了我的命,我挣扎了这么多,似乎代理是有罪的,我不得不用System.setProperty()添加代理。非常感谢你的帮助!!上帝保佑你。