awt / swing中的最佳组件,用于显示网页并访问它

时间:2012-04-18 08:47:41

标签: java swing awt webpage jtextpane

awt / Swings中最好的组件是显示网页并访问该组件中的网页而没有任何问题(javascript的功能,页面中的图像应该显示良好,在浏览器上查看页面并支持浏览器所有功能) 这里有一个关于它的教程displaying webpage,但它说,我们无法保证JEditotPane将提供浏览器。

您可以在该教程的最后一段中看到。 我需要实现它,在awt / swings中显示的网页。我在该链接中尝试了该示例,但收到消息:“请启用javascript以显示”。

所以任何人都可以指导我,关于在swings / awt或其他任何替代方案上显示网页的最佳方法。

更新:

我已经下载了Jbrowser的罐子,并尝试了一个在Jbrowser网站上的例子。但要低于例外。

        import java.awt.Canvas;  
    import java.awt.Dimension;  
    import java.awt.Toolkit;  
    import javax.swing.JFrame;    
    import ru.atomation.jbrowser.impl.JBrowserComponent;  
    import ru.atomation.jbrowser.impl.JBrowserBuilder;  
    import ru.atomation.jbrowser.impl.JBrowserCanvas;  
    import ru.atomation.jbrowser.impl.JComponentFactory;  
    import ru.atomation.jbrowser.interfaces.BrowserManager;
public class GettingStartedSnippet {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize((int) (screenSize.getWidth() * 0.75f),
                (int) (screenSize.getHeight() * 0.75f));
        frame.setLocationRelativeTo(null);
        BrowserManager browserManager =   new JBrowserBuilder().buildBrowserManager();
        JComponentFactory<Canvas> canvasFactory = browserManager.getComponentFactory(JBrowserCanvas.class);
        JBrowserComponent<?> browser = canvasFactory.createBrowser();                    
        frame.getContentPane().add(browser.getComponent());          
        frame.setVisible(true);            
        browser.setUrl("http://code.google.com/p/jbrowser/");  

    }

}

这是我找到示例GettingStartedSnippet

的链接

例外:

Apr 18, 2012 3:42:11 PM ru.atomation.jbrowser.impl.JBrowserBuilder getXulRunnerPath
INFO: Unpacking mozilla to: D:\WorkSpaces\example\example\jbrowser
Apr 18, 2012 3:42:11 PM ru.atomation.xulnative.XulExtractor extract
SEVERE: Xulrunner archive not found in jar
Apr 18, 2012 3:42:11 PM ru.atomation.jbrowser.impl.JBrowserManager initialize
SEVERE: invalid current xulrunner location D:\WorkSpaces\example\example\jbrowser\xulrunner\xulrunner
Apr 18, 2012 3:42:11 PM ru.atomation.jbrowser.impl.JBrowserManager initialize
INFO: Continuing to search for other xulrunners
Apr 18, 2012 3:42:11 PM ru.atomation.jbrowser.impl.JBrowserManager initialize
SEVERE: failed to initialize mozilla
Throwable occurred: java.io.IOException: Unable to resolve XULRunner home location
    at ru.atomation.jbrowser.impl.JBrowserManager.initialize(JBrowserManager.java:118)
    at ru.atomation.jbrowser.impl.JBrowserManager.<init>(JBrowserManager.java:67)
    at ru.atomation.jbrowser.impl.JBrowserBuilder.buildBrowserManager(JBrowserBuilder.java:127)
    at GettingStartedSnippet.main(GettingStartedSnippet.java:23)

我浏览找到解决方案,我无法得到解决方案。请任何人都可以为我提供解决方案。

3 个答案:

答案 0 :(得分:4)

  

..或任何替代方案。

使用实际的嵌入式浏览器。

E.G。

答案 1 :(得分:0)

Jbrowser使用xullrunner形式的mozilla项目,因此jbrowser是firefox浏览器的包装器。

对于我的问题,我使用NativeSwing library,这是我觉得最好的组件。我实现了将非html页面集成到Swing应用程序中的网页。

答案 2 :(得分:0)

1.首先下载jbrowser-linux-demo-with-sources.tar。 2.然后创建名为“JbrowserDemo”的Java应用程序。 3.Copy Xulrunner文件夹,位于jbrowser-linux-demo-with-sources中。 4.粘贴到应用程序文件夹(JbrowserDemo)。 5.然后运行您的应用程序“GettingStartedSnippet”