Java Swing JEditorPane CSS功能

Java Swing JEditorPane CSS功能,java,swing,jeditorpane,Java,Swing,Jeditorpane,我正在Swing窗格中显示HTML内容。要更改HTML的默认外观,我使用CSS样式表。这很有效。我的问题只是JEditorPane不支持完整的CSS规范。有JEditorPane支持的CSS功能列表吗?Java在HTML/CSS支持方面的记录相对较差。垃圾神强调的文件中的评论多年来一直在承诺改进。大约在JavaFX发布的时候,有一个官方的说法,允许Java开发人员访问webkit引擎,就像Safari和Chrome中使用的那样。然而,它从未实现 我能提供的唯一建议是查看Java的替代HTML/C

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

Java在HTML/CSS支持方面的记录相对较差。垃圾神强调的文件中的评论多年来一直在承诺改进。大约在JavaFX发布的时候,有一个官方的说法,允许Java开发人员访问webkit引擎,就像Safari和Chrome中使用的那样。然而,它从未实现


我能提供的唯一建议是查看Java的替代HTML/CSS呈现。我经常推荐的是这个项目。开发已经放缓,因为它通常会维护现有版本,偶尔会出现错误修复。它以CSS2.1为目标,这通常是非常充分的;尽管当标准最终确定时,它可能会进入CSS。

JEditorPane非常有限。如果您想要正确的HTML显示,最好集成本机web浏览器


检查像DJ Native Swing project这样的项目:

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

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

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

  • 字体系列
  • 字体样式
  • 字体大小(支持相对单位)
  • 字重
  • 字体
  • 颜色
  • 背景色(透明除外)
  • 背景图像
  • 背景重复
  • 背景位置
  • 背景
  • 背景重复
  • 文字装饰(闪烁和上划线除外)
  • 垂直对齐(仅sup和super)
  • 文本对齐(对齐被视为居中)
  • 边缘顶部
  • 右边距
  • 边缘底部
  • 左边距
  • 边际
  • 垫面
  • 右边填充
  • 垫底
  • 左侧填充
  • 边框样式(仅支持插入、起始和无)
  • 列表样式类型
  • 列表样式位置
以下内容已建模,但当前未渲染

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

CSS类文档说明了什么?好消息
javax.swing.text.html.StyleSheet
说“这个类的未来版本将提供更好的CSS支持”。@trashgood:我敢打赌,从2002年开始就有这样的评论:)@tulskiy:很遗憾,v7也没有变化:@trashgood:然后我们想知道:为什么java在台式机上不流行。。。