Swing JEditorPane CSS功能

时间:2010-11-07 10:17:55

标签: java swing jeditorpane

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

3 个答案:

答案 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