我们正在运行Java Swing并正在使用SWT桥来获取SWT浏览器。一切正常,但我们在Vista测试机器上有问题。它工作正常,直到一周前左右。调用堆栈:
org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:3589)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.browser.IE.create(IE.java:184)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
...
我已经通过SWT浏览器尝试过IE7和IE8,但没有一个正常工作(XULRunner不适用于我们的应用程序,因为我们需要两个浏览器实例)。
XP,Windows7和Vista正在使用其他计算机,我不能排除在这台特定计算机上被纠正的内容。当这个错误开始发生时,我们得到了一些Windows更新,它们似乎相关。这是我们唯一一款带有虚拟屏幕的Vista测试机,是否有任何关于虚拟屏幕的IE更新可能导致这种情况?对我来说,它似乎是安全漏洞的可能目标,所以也许可能是它?
我知道这是在大海捞针,但最近有没有看到类似的东西?
答案 0 :(得分:1)
编辑:查看the source,我看到IE.create
方法吞下了一个异常来抛出此错误 - 我会进入WebSite
构造函数试图弄清楚发生了什么
答案 1 :(得分:-4)
我的解决方案是不要将SWTBrowser嵌入我们的Swing应用程序中。 (无论如何,我总是讨厌桌面应用上的网络技术。)