在不使用JEditorPane的情况下在Applet中查看HTML

时间:2009-01-05 13:14:22

标签: java applet

我有一个小的(500kb)swing applet,它使用JEditorPane在其中显示非常简单/有限的小HTML页面,但是这似乎不能100%流畅地工作,一些客户显示没有空白页面任何java异常。页面在我的机器上正常工作。我需要一种更可靠的方式向所有用户显示HTML页面。

任何想法,如果有一个小+免费类使用而不是JEditorPane 或者有一个简单的方法可以使它更可靠(非空白)

private JEditorPane m_editorPane = new JTextPane();


    m_editorPane.setEditable( false);

    m_editorPane.setBackground(new Color(239  ,255, 215));
    m_editorPane.setBounds(30,42,520,478 );
    m_editorPane.setDoubleBuffered(true);
    m_editorPane.setBorder(null);

    m_editorPane.registerEditorKitForContentType("text/html", "com.xxxxx.SynchronousHTMLEditorKit");


m_editorPane.setPage(ResourceLoader.getURLforDataFile(param.trim())); 

3 个答案:

答案 0 :(得分:2)

虽然我之前没有使用它,Lobo是一个Java的开源Web浏览器,支持HTML 4,Javascript和CSS 2.

与只支持HTML 3.2的JEditorPane相比,看起来Lobo可能是加载现代网页的更好选择。

答案 1 :(得分:1)

AFAIK,JEditorPane是一个非常原始的HTML组件:它被CSS搞糊涂,对JS一无所知。
我怀疑你会发现一个“小+免费”课程做得更好,HTML解析和显示不是一个简单的业务,甚至今天更少。

或许最好让业务中的知名人士来处理这项任务,即。使用Internet Explorer或Mozilla组件(取决于可用的内容等):JDIC: Embedding a Web browser in Java

答案 2 :(得分:0)

我最近POC-ed了几个java HTML渲染解决方案。我们决定使用JEditorPane因为我们真的需要最小化我们的jar的大小并且它内置于Swing中。但是,我遇到的最好的图书馆是Flying Saucer。它没有任何js支持,但它的渲染质量和api是一流的,它是“免费”(LGLP),100%Java,只有大约1mb(对我们来说仍然太大,但与其他选项相比很小)。但是,它只渲染严格的XHTML(所有属性值必须引用,所有标记都正确形成),但这可能是好的,具体取决于您的需求(HtmlCleaner或其他一些此类实用程序可能有助于实现这一目标)。