带有XULRunner的Java web浏览器

带有XULRunner的Java web浏览器,java,xulrunner,Java,Xulrunner,我需要使用Java创建一个带有XULRunner(或另一个渲染引擎)的web浏览器,但我没有使用它的任何经验。我所需要的只是打开一个全屏Java面板,在其中加载XULRunner(或另一个web渲染引擎),然后在那里加载一个本地网页 有人能帮我开始吗?不幸的是,我没有那么多时间独自尝试…您使用哪种java GUI框架 SWT中实现了一个(Mozilla-)浏览器。您还可以在Swing中创建此浏览器: import javax.swing.JFrame; import org.eclipse.s

我需要使用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();
   }
}
我在一个德国网页上找到了前一个解决方案:


如果您可以使用JavaFX,您可以按照本教程创建一个简单的浏览器(基于WebKit):

我找到了JavaFX教程并开始使用它。关于Swing解决方案,我很快会回来给你反馈并接受答案。谢谢克里斯蒂安,再次感谢你的回答。我测试了SWT解决方案,并在您的答案中添加了缺少的java.awt.Canvas导入。作为反馈,我更喜欢JavaFX,因为SWT需要不同的库来支持不同的操作系统或32位/64位版本。JavaFX也依赖于平台,但默认情况下会包含在JRE8中。SWT在中使用internet explorerwindows@gariel我认为这并不完全正确:您可以选择SWT.Mozilla作为SWT中的浏览器。