2015-07-10 162 views
0

我遵循了很多教程,但也許我錯過了一些東西,因爲url沒有加載到javafx webview中,而是顯示了一個白色的面板,而不是一個網頁。我嘗試了http://google.com和其他網頁,但都沒有顯示。 下面的JPanel出現在JTabbedPane中。我認爲白色面板是JFXPanel,它在下面填充。JavaFx Webview不加載url

這是代碼:完美的我

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); 
     } 
    }); 
} 

enter image description here

回答

3

上運行。我附加了一個MCVE,以便您可以比較並查看您的情況出了什麼問題。如果此MCVE在您的機器上出現故障,我會建議您檢查您的互聯網設置,並確保您的設置不會阻止應用程序使用互聯網。

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); 
    } 
} 
+0

你救了我的命,我掙扎了這麼多,看來,該代理是有罪的,我不得不與System.setProperty添加代理()。非常感謝你的幫助!!祝福你。 – uzzi