2013-11-28 42 views
1

我想在javafx webview中打開網頁。其投擲一個致命錯誤異常在JavaFx Web視圖中打開網頁時出錯

錯誤是這 -

由Java運行時環境已經檢測到致命錯誤:

EXCEPTION_ACCESS_VIOLATION(0000005)中的PC = 0x6e98299b,PID = 4116,TID = 4224

JRE版本:7.0_10-B18 的Java VM:爪哇的HotSpot(TM)客戶機VM(23.6-B04混合模式下,共享的窗口86) 有問題的幀: V [jvm.dll的+ 0xb299b]

無法寫入核心轉儲。 C:小型轉儲默認情況下不與更多信息的錯誤報告文件保存爲的Windows

的客戶端版本啓用\的Documents and Settings \ Administrator的\我的文檔\的NetBeansProjects \ NetCheck \ hs_err_pid4116.log

如果您想提交錯誤報告,請訪問: http://bugreport.sun.com/bugreport/crash.jsp

上述錯誤的原因是什麼,我正在使用以下代碼。

import javax.swing.*; 
import java.awt.*; 
import javafx.application.Platform; 
import javafx.embed.swing.JFXPanel; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.web.WebEngine; 
import javafx.scene.web.WebView; 



public class Browser extends javax.swing.JFrame 
{ 

    JFXPanel fxpanel; 
    WebEngine eng; 
    public Browser() { 
    initComponents(); 
    setLayout(null); 
    fxpanel=new JFXPanel(); 
    add(fxpanel); 
    fxpanel.setBounds(50,50,700,500); 
    setBounds(0,0,1024,768); 

} 


private void initFx(final JFXPanel fxpanel) 

{ 
    try 
    { 
    Group group= new Group(); 
    Scene scene= new Scene(group); 
    fxpanel.setScene(scene);  
    WebView webview = new WebView(); 
    group.getChildren().add(webview); 
    webview.setMinSize(700,500); 
    webview.setMaxSize(700,500); 
    webview.setVisible(true); 
    eng= webview.getEngine(); 
    eng.setJavaScriptEnabled(true); 
    eng.load("http://www.google.com"); 
    } 
    catch(Exception ex) 
    { 
    ex.printStackTrace(); 
    } 
    } 

    public static void main(String args[]) 
    { 
    Browser b1= new Browser(); 
    b1.show(); 

    } 

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 


    { 
    Platform.runLater(new Runnable() { 
     public void run() 
     { 
     initFx(fxpanel); 
    }} 
     ); 

    } 
+0

後甲骨文這個錯誤你可能會得到解決 –

回答

0

你需要更新你的JDK,你有一個很老的版本1.7.0u10(2012年12月)和最新的JDK 7的版本是1.7.0u45

請注意,WebViewJDK 7 contains some minor bugs已在JDK 8中修復,並且不太可能在JDK 7中修復。我注意到的一些錯誤是使用字體呈現,即Font Awesome和Ace Editor不適用於我以及在JDK 7

UPDATE

您演示正在JDK 1.7.0u40。你需要調用initFx在FX應用程序線程:

Platform.runLater(new Runnable() { 
     @Override 
     public void run() { 
      initFx(fxpanel); 
     } 
    }); 
+0

隨着JDK 7的版本1.7.0u45,Webview是不是在所有 –

+0

工作在JDK 8 JDBC:ODBC支持不存在,什麼是替代 –

+0

你演示正在爲我工​​作,我已經更新了示例。我認爲它也應該在u45工作。 –