我遇到了Swing在HTMLDocument中管理CSS的方式问题,特别是字体大小:
如果我这样做:
StyleConstants.setFontSize(jtextPane.getInputAttributes(), 15);
然后,
StyleConstants.getFontSize(jtextPane.getInputAttributes()));
将返回18 ...
我发现这可能是因为方法:
fromStyleConstants(StyleConstants key, Object value)
来自CSS.java的,它将参数值转换为以下数组的更高值: static final int sizeMapDefault [] = {8,10,12,14,18,24,36}; 来自StyleSheet类
但是在这种情况下,为什么有时候我会得到18,有时候我得到15 ......我想知道它是否不能来自HTML和CSS属性之间的冲突。实际上,当我检查StyleConstants.fontSize属性值15时,但我有一个可能产生冲突的CSS.Attribute.font-size属性?
否则,如果我加载html:
<html><body><p style="font-size:2em;">test</p></body></html>
正确显示文字。但是,我将插入符号设置在“e”和“s”之间,然后检查所有属性(characterElement,段落,输入等)。字体大小总是12 ...我应该做些什么来获得正确的值?
总而言之,有没有办法使用比StyleConstants.setFontSize更可靠的东西来获取和设置font-size的值?