呈现HTML以在Java应用程序中显示

时间:2011-07-05 13:29:58

标签: java webkit swt html-rendering

我有兴趣在Java应用程序中显示HTML文本(使用CSS)。我有什么选择?

虽然我在我的应用程序中不使用SWT,但我看到SWT在所有平台上都提供了一个WebKit浏览器的界面。有没有办法可以使用SWT的WebKit集成来让它在图像中呈现我可以重用的文本?

2 个答案:

答案 0 :(得分:3)

Swing HTML支持

Swing组件(1)将呈现HTML 3.2和基本样式。如果您控制HTML,这可能是一个可行的选择。

HTML

有关在HTML中使用图片的2个简单示例,请参阅我的回答here

直接从Jar文件

JEditorPane displaying Jar'd HTML

使用相对参考

Image referenced from base

CSS

有关使用CSS在Swing组件中设置HTML样式的示例,请参阅以下答案:

Java: HTML in Swing, link margin not working

Link Cloud

Word Wrap in JButtons

Word wrap @ 160px Word wrap @ 200px

买者

  1. 更具体地说,一些 Swing组件支持HTML。第一个屏幕截图来自JEditorPane,其余的使用JLabel。许多组件使用JLabel作为默认呈现组件,例如工具提示,&默认列表&表格渲染器。 JButton部分支持HTML。对于禁用的按钮,它将无法正确呈现。 JTextPane(样式文字)也支持HTML,但JTextArea& JTextField(纯文本)没有。
  2. 另见

    有关更多信息,请参阅Java教程中的How to Use HTML in Swing Components

答案 1 :(得分:3)

Native Swing允许在Java Swing应用程序中使用SWT浏览器并将其与Swing小部件混合使用。它在几个平台(以及Windows上的IE)上同时支持WebKit和Xulrunner。确保拥有与最新SWT实现兼容的libwebkit或libxulrunner,如SWT FAQ中所述 要使用的浏览器引擎由传递给JWebBrowser的NSOption控制:

JWebBrowser geckoWebView = new JWebBrowser(JWebBrowser.useXULRunnerRuntime());
JWebBrowser webkitWebView = new JWebBrowser(JWebBrowser.useWebkitRuntime());