【问题标题】:Java web browser with XULRunner带有 XULRunner 的 Java Web 浏览器
【发布时间】:2018-09-04 12:29:19
【问题描述】:

我需要使用 Java 创建一个带有 XULRunner(或其他渲染引擎)的 Web 浏览器,但我没有任何经验。我只需要打开一个全屏 Java 面板,在其中加载 XULRunner(或其他 Web 渲染引擎)并在其中加载本地网页。

有人可以帮我开始吗?不幸的是,我没有那么多时间一个人尝试……

【问题讨论】:

    标签: java xulrunner


    【解决方案1】:

    您使用哪个 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

    【讨论】:

    • 我找到了 JavaFX 教程并开始使用它。关于 Swing 解决方案,我会尽快尝试并返回这里给您反馈并接受答案。谢谢!
    • 再次感谢克里斯蒂安的回答。我测试了 SWT 解决方案并在您的回答中添加了缺少的 java.awt.Canvas 导入。作为反馈,我更喜欢 JavaFX,因为 SWT 需要针对不同操作系统或 32 位/64 位版本的不同库。
    • JavaFX 也依赖于平台,但默认会包含在 JRE8 中。
    • SWT 在 windows 中使用 Internet Explorer
    • @gariel 我认为这并不完全正确:eclipse.org/swt/faq.php#howusemozilla 您可以在 SWT 中选择 SWT.Mozilla 作为浏览器。
    猜你喜欢
    • 2014-11-29
    • 1970-01-01
    • 2011-01-24
    • 2011-03-23
    • 2023-03-19
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2019-11-04
    相关资源
    最近更新 更多