public class JavaApplication3 {
/**
* @param args the command line arguments
*/
public void initAndShowGUI() {
// This method is invoked on the EDT thread
JFrame frame = new JFrame("Swing and JavaFX");
final JFXPanel fxPanel = new JFXPanel();
frame.add(fxPanel);
frame.setSize(300, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Platform.runLater(new Runnable() {
@Override
public void run() {
initFX(fxPanel);
}
});
}
private void initFX(JFXPanel fxPanel) {
// This method is invoked on the JavaFX thread
Scene scene = createScene();
fxPanel.setScene(scene);
}
private Scene createScene() {
Group root = new Group();
Scene scene = new Scene(root, Color.ALICEBLUE);
WebView browser;
browser = new WebView();
//browser.setContextMenuEnabled(false);
browser.autosize();
WebEngine webEngine = browser.getEngine();
String Qlink = "https://www.google.ca";
webEngine.load(Qlink);
root.getChildren().add(browser);
return (scene);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
System.setProperty("http.proxyHost","10.10.6.61");
System.setProperty("http.proxyPort","6666");
System.setProperty("https.proxyHost","10.10.6.61");
System.setProperty("https.proxyPort","6666");
JavaApplication3 j = new JavaApplication3();
j.initAndShowGUI();
}
});
}
}下面是与oracle示例代码相同的90%的程序。要么我刷新两次页面,要么等待更长时间,JVM就会崩溃。我做错了什么,结果就是这样?请指出。它很容易复制。我使用的是java7u22,jfxrt是jre默认包含的。非常感谢你的帮助!
编辑:我将张贴错误显示在IDE上,这是非常长的。如果您要求,我还将提供核心转储日志文件。对不起,语法可能使你很难理解我。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000005c2728e3, pid=812, tid=5280
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [glass.dll+0x128e3]
#
# Core dump written. Default location: C:\Users\robin.ASIGRA\Documents\NetBeansProjects\JavaApplication3\hs_err_pid812.mdmp
#
# An error report file with more information is saved as:
# C:\Users\robin.ASIGRA\Documents\NetBeansProjects\JavaApplication3\hs_err_pid812.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#更新06/13-14
我的操作系统是window服务器,R2 2008,java版本是7,我确实尝试过将java版本更新为8,但问题仍然存在。此应用程序必须构建在java7环境中。我发现它是windows服务器上的错误 of java7 R2 2008,并且有一个解决方案。
此问题发生在Windows 2008 R2 SP1和Java7u 45 (JavaFX 2.2.45)上。我已经解决了它启用桌面体验功能(在远程服务器上,转到管理工具--> server )。请注意这样一个事实,即此功能还启用了Windows服务,并且Microsoft文档没有报告它。
我做完这件事后,问题就解决了。
发布于 2014-06-13 19:34:33
更新
正如最初的海报在他的问题更新中所指出的那样,这个问题是由于在WindowsJava2008服务器上使用了一个旧版本的R2,试图运行Java演示“集成”的Windows2008Java上的RT-23456 Java崩溃 8作为试图运行Java演示“集成”的Windows2008Java上的RT-23456 Java崩溃的一部分来解决这个问题。
为我工作
我在Win 7上运行了您的应用程序,Java8u20b11(代理设置注释掉了),它对我起了作用。
您可以下载一个Java 8开发发行版来获得修复这个问题的Java版本。如果您必须坚持使用Java 7(并不是真正推荐的),那么您可以应用问题更新中提到的解决方法。
https://stackoverflow.com/questions/24212042
复制相似问题