我通过扩展JTextPane实现了多行标签。构造函数设置各种属性以使其看起来像标签,包括禁用任何边框/将边距设置为0都很好。
环境:
使用jgoodies-looks-2.6.0 的
com.jgoodies.looks.windows.WindowsLookAndFeel
L&F(也已与javax.swing.plaf.metal.MetalLookAndFeel
测试,同样的问题)当我增加字体大小时,第一个字母的左侧有时会有“空白” /在19pt处有〜1px的边距(可能随着字体大小而增加)。至少对于字母B,F和L会发生这种情况,但对于A肯定不会。这是一个示例:
在左侧,您可以清楚地看到布局看起来很杂乱,标题的左边距有这个怪异的边缘。请注意,带有数字(1861)的第一行是常规JLabel。
放大确认这一点(粉红色的线用于说明):
因此,从我可以看到的排版是不正确的。
可以认为这是挥杆中的错误吗?有办法解决吗?例如。在这种情况下,有没有一种简便且干净的方法(即,不使用paint()-ing)来精确控制摆动中的印刷功能?
编辑:
这类似于我的期望:
与之前相比:
最佳答案
如果您在此处查看屏幕截图:
特别是看一下1861年……您会发现1的两侧都有较大的空间。特别是1与8之间以及6与1之间的间隙大于8与6之间的间隙。
这就是在该特定字体上排列布局的方式。他们清楚地认为1被推得太靠近其周围的字符,因此他们在两侧增加了更多空间。
您“修复”此问题的选项是有限的。
即
1861
Baked Beans
dkjfdf skdfjsdlf