我在Swing JEditorPane中显示HTML内容。要更改我使用CSS样式表的HTML的默认外观。这非常有效。我的问题只是JEditorPane不支持完整的CSS规范。是否有JEditorPane支持的CSS功能列表?
答案 0 :(得分:5)
Java在HTML / CSS支持方面的记录相对较差。 trashgod强调的文档中的评论多年来一直是有希望的改进。大约在JavaFX发布的时候,有人谈到了一个官方JWebPane,它允许Java开发人员访问webkit引擎,如Safari和Chrome中所使用的那样。但是,它从未实现过。
我能提供的唯一建议是查看Java的替代HTML / CSS渲染。我经常推荐的是xhtmlrenderer项目。开发速度已经放缓,因为它通常会维护现有版本,偶尔会出现错误修复。它针对CSS2.1,这通常是足够的;虽然它可能会在标准实际定稿时进入CSS。
答案 1 :(得分:4)
查看OpenJava JDK的CSS.java源代码,我发现了这个:
将一组CSS属性定义为类型安全枚举。 HTML View实现使用CSS属性来确定它们的呈现方式。这也定义了在CSS / HTML / StyleConstants之间进行映射的方法。任何速记属性(如font)都将映射到内在属性。
以下描述了呈现引擎支持的CSS属性:
- 字体家庭
- 字体风格
- font-size(支持相对单位)
- 字体重量
- 字体
- 颜色
- background-color(透明除外)
- 背景图像
- 背景重复
- 背景位置
- 背景
- 背景重复
- 文字装饰(闪烁和上线除外)
- vertical-align(仅限sup和super)
- text-align(将justify视为中心)
- 边距
- 余量右
- 边距
- 利润率左
- 余量
- 填充顶
- 填充右
- 填充底
- 填充左
- border-style(仅支持inset,outset和none)
- 列表样式型
- list-style-position
以下内容已建模,但目前尚未呈现。
- 字体变量
- 背景附件(背景始终视为滚动)
- 字间距
- 字母间距
- 文本缩进
- 文本变换
- 行高
- border-top-width(用于指示是否应使用边框)
- 右边框宽度
- 边界底部宽度
- 左边框宽度
- 边界宽度
- 边框顶
- 右边框
- 边界底部
- 左边框
- 边界
- 宽度
- 高度
- 浮
- 明确
- 显示
- 空白
- list-style
答案 2 :(得分:0)
JEditorPane非常有限。如果您想要正确的HTML显示,最好集成本机Web浏览器。
检查DJ Native Swing项目之类的项目:http://djproject.sourceforge.net/ns