在JavaFx web视图中打开网页时出错

在JavaFx web视图中打开网页时出错,java,webview,javafx,runtime-error,runtimeexception,Java,Webview,Javafx,Runtime Error,Runtimeexception,我试图在JavaFXWebView中打开一个网页。它抛出了一个致命的错误异常 这是什么错误- Java运行时环境检测到一个致命错误: pc=0x6e98299b、pid=4116、tid=4224时出现异常访问违反0xc0000005 JRE版本:7.0_10-b18 Java VM:Java HotSpotTM客户端VM 23.6-b04混合模式,共享windows-x86 有问题的框架: V[jvm.dll+0xb299b] 无法写入核心转储。默认情况下,在客户端版本的Windows上不启用

我试图在JavaFXWebView中打开一个网页。它抛出了一个致命的错误异常

这是什么错误-

Java运行时环境检测到一个致命错误:

pc=0x6e98299b、pid=4116、tid=4224时出现异常访问违反0xc0000005

JRE版本:7.0_10-b18 Java VM:Java HotSpotTM客户端VM 23.6-b04混合模式,共享windows-x86 有问题的框架: V[jvm.dll+0xb299b]

无法写入核心转储。默认情况下,在客户端版本的Windows上不启用小型转储

包含详细信息的错误报告文件另存为: C:\Documents and Settings\Administrator\My Documents\NetBeansProject\NetCheck\hs\u err\u pid4116.log

如果您想提交错误报告,请访问:

以上错误的原因是什么,我使用以下代码

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

  }

您需要更新您的JDK,您有一个非常旧的1.7.0u10版本2012年12月,最新的JDK 7版本是1.7.0u45

请注意,其中的WebView在JDK 8中是固定的,在JDK 7中不太可能固定。我注意到的一些错误与字体渲染有关,即字体真棒和Ace编辑器在JDK 7中对我不起作用

更新

您的演示正在使用JDK1.7.0u40。您需要在fx应用程序线程中调用initFx:

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

在oracle上发布此错误,您可能会在JDK 8 jdbc中得到解决方案:odbc支持不存在,您的演示为我工作,我已经更新了示例。我认为它也应该在u45上工作。是的,它在一些系统上工作。正如我所知,这个错误与JVM有关,但我没有关于它的解决方案。你能发布一个不适用于1.7.0u45的代码吗?如果它真的不起作用,也可能是Swing+FX组合的问题,您可以尝试单独使用JavaFX。这是一个浏览器演示:。