Swing JEditorPane CSS功能

lad*_*adi 6 java swing jeditorpane

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

aro*_*roo 5

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

我能提供的唯一建议是查看Java的替代HTML/CSS渲染.我经常推荐的是xhtmlrenderer项目.开发速度已经放缓,因为它通常会维护现有版本,偶尔会出现错误修复.它针对CSS2.1,这通常是足够的; 虽然它可能会在标准实际完成时进入CSS.


Maj*_*nko 5

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

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

下面介绍渲染引擎支持的CSS属性:

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

以下是建模的,但目前没有渲染。

  • 字体变体
  • 背景附件(背景总是被视为滚动)
  • 字间距
  • 字母间距
  • 文本缩进
  • 文本转换
  • 行高
  • 边框顶部宽度(用于指示是否应使用边框)
  • 边框右宽
  • 边框底宽
  • 边框左宽
  • 边框宽度
  • 边框顶部
  • 右边界
  • 边框底部
  • 左边界
  • 边界
  • 宽度
  • 高度
  • 漂浮
  • 清除
  • 展示
  • 空白
  • 列表样式