我通过扩展JTextPane实现了多行标签。构造函数设置各种属性以使其看起来像一个标签,包括禁用任何边框/设置边距为0,效果很好。
环境:
com.jgoodies.looks.windows.WindowsLookAndFeel
L& F(也使用javax.swing.plaf.metal.MetalLookAndFeel
测试,同样的问题)当我增加字体大小时,第一个字母有时会在其左边有“空格”/ 19pt的边距~1px(可能随字体大小增加)。至少对于字母B,F和L这种情况会发生,但肯定不适用于A.以下是一个例子:
在左侧,您可以清楚地看到布局看起来很糟糕,标题左侧有这个奇怪的边距。请注意,带编号(1861)的第一行是常规JLabel。
放大确认这一点(粉色线用于说明):
所以从我看到的排版是不合适的。
这可以被视为摆动中的错误吗?有办法解决这个问题吗?例如。在这种情况下,是否有一种简单而干净的方式(即不是油漆())方式对摆动中的印刷特征进行细粒度控制?
编辑:
这与我的期望相似:
vs之前:
答案 0 :(得分:1)
如果你在这里查看截图:
特别是看看1861 ......你可以看到1的两边都有一个更大的空间。特别是1到8之间和6到1之间的差距大于8到6之间的差距。 。
这就是如何在特定字体上排列布局。他们清楚地认为1被推得太靠近周围的角色,所以他们在两边都增加了更多的空间。
“修复”此选项的选项有限。
即
1861
Baked Beans
dkjfdf skdfjsdlf