如何启用左键单击拖动或右键单击swt.browser
问题描述:
我想在Java应用程序中嵌入Web浏览器。 不幸的是,它必须在应用程序中,而不是打开浏览器。如何启用左键单击拖动或右键单击swt.browser
我发现org.eclipse.swt.browser。我使用这个浏览器来显示3D模型,当我点击浏览器并拖动我的鼠标时,我应该可以旋转它。有没有一个选项来启用这个或我可以做的任何事情来解决这个问题?
您可以使用本网站中的示例: https://a360.autodesk.com/viewer
但是,当我使用swt.browser我不能没有旋转,或拖动模式打开同一个页面。
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class BrowserClass {
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("Browser Example");
shell.setSize(1300, 800);
final Browser browser = new Browser(shell, SWT.NONE);
browser.setBounds(5, 5, 1275, 750);
shell.open();
browser.setUrl("https://a360.autodesk.com/viewer");
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
我试图消除display.sleep()和我一直在使用setTouchEnabled(真)尝试,但我只能用它的外壳和浏览器。显示屏始终将其设置为false,问题是否可以在这里?
答
使用SWT.NONE
作为Browser
的Windows上的风格将使用Internet Explorer作为默认值。它看起来像IE不支持任何魔术来显示动画。
尝试使用SWT.MOZILLA
强制SWT使用XULRunner的作为后端。
下面是关于如何做到这一点的一些详细信息:
How do I explicitly use Mozilla as the Browser's underlying renderer?
我通常在我的IE工程自定义模型查看器。这是否意味着它应该在swt.browser中工作得很好,即使它有SWT.NONE – InsaneCricket
您在IE中指出的那个页面是否适合您?它不适合我。 [这部分SWT常见问题](https://www.eclipse.org/swt/faq.php#browsernativeie)列出了IE的一些问题。以SWT Baz
该网站在我的IE浏览器不起作用,但我有一个浏览器,我已经开发了在IE浏览器中工作,很好,我不能真正分享观众不幸。 我试过使用jxBrowser,它工作正常,但它不是免费的,所以我正在探索不同的选项swt.browser是其中之一。 – InsaneCricket