【发布时间】:2018-09-04 12:29:19
【问题描述】:
我需要使用 Java 创建一个带有 XULRunner(或其他渲染引擎)的 Web 浏览器,但我没有任何经验。我只需要打开一个全屏 Java 面板,在其中加载 XULRunner(或其他 Web 渲染引擎)并在其中加载本地网页。
有人可以帮我开始吗?不幸的是,我没有那么多时间一个人尝试……
【问题讨论】:
我需要使用 Java 创建一个带有 XULRunner(或其他渲染引擎)的 Web 浏览器,但我没有任何经验。我只需要打开一个全屏 Java 面板,在其中加载 XULRunner(或其他 Web 渲染引擎)并在其中加载本地网页。
有人可以帮我开始吗?不幸的是,我没有那么多时间一个人尝试……
【问题讨论】:
您使用哪个 java GUI 框架?
在 SWT 中实现了一个 (Mozilla-) 浏览器。你也可以在 Swing 中创建这个浏览器:
import javax.swing.JFrame;
import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class BrowserSwingPanel {
public static void main(String args[]) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
Canvas canvas = new Canvas();
f.setSize(500, 400);
f.add(canvas);
f.setVisible(true);
Display display = new Display();
Shell shell = SWT_AWT.new_Shell(display, canvas);
shell.setSize(500, 400);
Browser browser = new Browser(shell, SWT.NONE);
browser.setSize(500, 400);
browser.setUrl("http://www.google.com");
shell.open();
while (!shell.isDisposed() && f.isVisible()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
f.dispose();
}
}
我在一个德语网页上找到了前一个解决方案: http://www.java-forum.org/awt-swing-javafx-swt/66264-swt-browser-swing.html
如果您可以使用 JavaFX,您可以按照本教程创建一个简单的浏览器(基于 WebKit):http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm
【讨论】: