6

我在 Swing JEditorPane 中显示 HTML 内容。要更改 HTML 的默认外观,我正在使用 CSS 样式表。这很好用。我的问题只是 JEditorPane 不支持完整的 CSS 规范。是否有 JEditorPane 支持的 CSS 功能列表?

4

3 回答 3

5

Java 在 HTML/CSS 支持方面的记录相对较差。多年来,trashgod 强调的文档中的评论一直很有希望得到改进。大约在 JavaFX 发布的时候,有人谈到官方的JWebPane,它允许 Java 开发人员访问 webkit 引擎,就像在 Safari 和 Chrome 中使用的那样。然而,它从未实现。

我能提供的唯一建议是查看 Java 的替代 HTML/CSS 渲染。我经常推荐的一个是xhtmlrenderer项目。开发速度已经放缓,因为它通常会维护现有版本并偶尔进行错误修复。它以 CSS2.1 为目标,这通常绰绰有余;虽然当标准最终确定时它可能会进入 CSS。

于 2010-12-08T16:45:08.953 回答
5

查看来自 OpenJava JDK 的 CSS.java 源代码,我发现了这个:

将一组 CSS 属性定义为类型安全的枚举。HTML 视图实现使用 CSS 属性来确定它们将如何呈现。这也定义了在 CSS/HTML/StyleConstants 之间映射的方法。任何速记属性,例如字体,都映射到内在属性。

下面描述了渲染引擎支持的 CSS 属性:

  • 字体系列
  • 字体样式
  • 字体大小(支持相对单位)
  • 字体粗细
  • 字体
  • 颜色
  • 背景色(透明除外)
  • 背景图片
  • 背景重复
  • 背景位置
  • 背景
  • 背景重复
  • 文本装饰(闪烁和上划线除外)
  • 垂直对齐(仅 sup 和 super)
  • 文本对齐(对齐被视为中心)
  • 边距顶部
  • 右边距
  • 边距底部
  • 左边距
  • 利润
  • 填充顶部
  • 填充权
  • 填充底部
  • 向左填充
  • 边框样式(仅支持 inset、outset 和 none)
  • 列表样式类型
  • 列表样式位置

以下是建模的,但当前未渲染。

  • 字体变体
  • 背景附件(背景总是被视为滚动)
  • 字间距
  • 字母间距
  • 文本缩进
  • 文本转换
  • 线高
  • border-top-width (用于指示是否应使用边框)
  • 右边框宽度
  • 边框底部宽度
  • 左边框宽度
  • 边框宽度
  • 边框顶部
  • 右边界
  • 边框底部
  • 左边框
  • 边界
  • 宽度
  • 高度
  • 漂浮
  • 清除
  • 展示
  • 空白
  • 列表式
于 2014-08-10T17:46:03.087 回答
0

JEdi​​torPane 非常有限。如果您想要正确的 HTML 显示,您最好集成一个本机 Web 浏览器。

检查像 DJ Native Swing 项目这样的项目:http: //djproject.sourceforge.net/ns

于 2011-02-22T23:16:36.990 回答