1

我以 Java swing 形式显示 Html 文件数据。内容正在显示,但某些格式受到干扰。正在显示图像,但格式受到干扰。并且超链接不起作用,您能建议我的代码吗,我正在使用以下代码。setContentType 方法有问题吗

    File htmlFile = new File("e:/test/help4t.htm");
             htmlPane = new JEditorPane();
            htmlPane.setContentType("text/html");
        htmlPane.setPage(htmlFile.toURI().toURL());
         //URL url= new URL("http://www.lawcrux.com");


       //  htmlPane.setPage(url);
         htmlPane.addHyperlinkListener(this);

        JScrollPane jsp= new JScrollPane(htmlPane);

                cp.add(jsp);
        jsp.setBounds(750, 50, 600, 600);  


        } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, "exception is" + ex);
        }

请帮忙

问候

4

2 回答 2

3

好吧,JEditorPane只支持 HTML 3.2。

即使上面说了;我不建议使用没有库(或您自己的库 - 除非那是您的项目)来帮助您渲染 html。看看(纯Java库):

  • Lobo 项目(Lobo 项目旨在开发一个完全用 Java 编写的可扩展浏览器和 RIA 平台,不仅支持 HTML 和 Javascript,还支持渲染任意富互联网应用程序 (RIA) 语言)

  • Ekit(Ekit 是一个免费的开源 Java HTML 编辑器小程序和应用程序。Ekit 独立版还允许加载和保存 HTML,以及序列化并保存为 RTF。它正在接近其第一个生产版本。)

  • DJ 项目(NativeSwing 库允许将一些本地组件轻松集成到 Swing 应用程序中,并提供一些本地实用程序来增强 Swing 的 API。它由一个框架库和一个基于 SWT 的实现组成,它提供了许多丰富的组件。这个基于 SWT 的实现的关键组件当然是一个丰富的 Web 浏览器和一个 Flash 播放器,尽管它还提供了一个多媒体播放器、一个 HTML 编辑器和一个语法荧光笔。)

  • CSSBox(CSSBox 是一个用纯 Java 编写的 (X)HTML/CSS 渲染引擎。它的主要目的是提供有关渲染的页面内容和布局的完整且可进一步处理的信息。但是,它也允许显示渲染的文档。)

  • RealObjects(虽然不是免费的)

于 2012-09-22T11:11:45.123 回答
2

你为什么不使用Jsoup它,它提供了一个非常方便的 API 来提取和操作数据。

请参阅此链接:

http://jsoup.org/

于 2012-09-22T11:07:37.997 回答