我有兴趣在Java应用程序中显示HTML文本(使用CSS)。我有什么选择?
虽然我没有在我的应用程序中使用SWT,但我看到SWT在所有平台上都提供了一个WebKit浏览器的界面。有没有办法可以使用SWT的WebKit集成来让它在图像中呈现我可以重用的文本?
Swing组件(1)将呈现HTML 3.2和基本样式。如果您控制HTML,这可能是一个可行的选择。
有关在HTML中使用图像的2个简单示例,请参阅我的答案here
有关使用CSS在Swing组件中设置HTML样式的示例,请参阅以下答案:
JButtons
JEditorPane
,其余使用JLabel
。许多组件使用JLabel
作为默认渲染组件,例如工具提示和默认列表和表格渲染器。 JButton
部分支持HTML。对于禁用的按钮,它将无法正确呈现。 JTextPane
(样式文本)也支持HTML,但JTextArea
和JTextField
(纯文本)不支持。有关更多信息,请参阅Java教程中的How to Use HTML in Swing Components。
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());