我正在使用HTML无序列表在JEditorPane中显示一些文本。 HTML的示例如下所示:
<ul><li>Cautious</li>
<li>Curious</li>
</ul>
这很好用,但奇怪的是<li>
生成的子弹看起来与它旁边的文本质量不同。 (如果重要的话,运行Mac OS 10.7.5)。圆形子弹看起来像块状和像素化:
正常缩放:
放大:
当放大时特别明显,这只是一块不对称的像素块,并且没有任何形式的抗锯齿,这使得一个不太令人信服的圆形子弹点。与旁边的文字相比,即使在正常变焦的情况下,它看起来也是一个挑剔的眼睛。
有什么方法可以解决这个问题吗?
编辑:在Mac上使用•字符(选项 + 8 )在文本中创建一个看起来不像素化的较小的项目符号点。我当然可以手动插入这个字符,而不是使用<ul><li>
,但如果可以,我想使用HTML无序列表。
答案 0 :(得分:6)
使用渲染提示打开消除锯齿属性KEY_ANTIALIASING
。
您设置了一些渲染提示globally,但这似乎不适用于KEY_ANTIALIASING
,因此您需要覆盖paint()
的{{1}}方法。
JEditorPane
答案 1 :(得分:2)
您需要修改项目符号。创建一个外观更好的项目符号的图像,然后将CSS添加到编辑器窗格中,以使其使用新的项目符号图像。
JEditorPane pane = new JEditorPane();
String u = "C:/path/to/bullet.png";
HTMLEditorKit htmlEditorKit = (HTMLEditorKit) pane.getEditorKit();
StyleSheet styleSheet = htmlEditorKit.getStyleSheet();
styleSheet.addRule(String.format("ul{list-style-image:url(%s);margin:0px 20px;", u));