如何在 swt.browser 中启用左键单击拖动或右键单击
How can I enable left click drag or right click in swt.browser
我正在尝试在 java 应用程序中嵌入网络浏览器。
不幸的是,它必须在应用程序中,而不是打开浏览器。
我找到了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(true) 但我只能在 shell 和浏览器上使用它。显示总是设置为 false 问题可能出在这里吗?
使用 SWT.NONE
作为 Windows 上 Browser
的样式将默认使用 Internet Explorer。看来 IE 不支持用于显示动画的任何魔法。
尝试使用 SWT.MOZILLA
强制 SWT 使用 XULRunner 作为后端。
这里有一些关于如何做到这一点的更多信息:
How do I explicitly use Mozilla as the Browser's underlying renderer?
我正在尝试在 java 应用程序中嵌入网络浏览器。 不幸的是,它必须在应用程序中,而不是打开浏览器。
我找到了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(true) 但我只能在 shell 和浏览器上使用它。显示总是设置为 false 问题可能出在这里吗?
使用 SWT.NONE
作为 Windows 上 Browser
的样式将默认使用 Internet Explorer。看来 IE 不支持用于显示动画的任何魔法。
尝试使用 SWT.MOZILLA
强制 SWT 使用 XULRunner 作为后端。
这里有一些关于如何做到这一点的更多信息:
How do I explicitly use Mozilla as the Browser's underlying renderer?