1

我有一个小的(500kb)swing 小程序,它使用 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())); 
4

3 回答 3

2

虽然我以前没有使用过,但Lobo是一个开源的 Java 网络浏览器,支持 HTML 4、Javascript 和 CSS 2。

JEditorPane仅支持 HTML 3.2 相比,Lobo 似乎是加载现代网页的更好选择。

于 2009-01-05T13:35:44.350 回答
1

AFAIK,JEditorPane 是一个非常原始的 HTML 组件:它被 CSS 混淆了,对 JS 一无所知。
我怀疑您会发现“小型+免费”类做得更好,HTML 解析和显示不是一项简单的业务,今天更是如此。

也许最好让业务中的大人物来处理这项任务,即。使用 Internet Explorer 或 Mozilla 组件(取决于可用的组件等):JDIC:在 Java 中嵌入 Web 浏览器

于 2009-01-05T13:24:29.520 回答
0

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

于 2010-04-02T00:58:46.433 回答