使用Font.UNDERLINED时是否可以设置下划线偏移?我正在使用以下内容使字体加下划线:
LabelField lf = new LabelField("Forgot your password?");
lf.setFont(Font.getDefault().derive(Font.BOLD | Font.UNDERLINED));
上面的代码产生
我希望下划线出现在字体的最底部位置。像这样:
我能想到的解决方案:
一种可能的解决方案是扩展
LabelField
和覆盖其paint()
方法。形式上的东西:paint(Graphics g) { super.paint(g); g.drawLine(...); }
只要
LabelField
's 的内容占一行,上面的代码就可以正常工作。一旦内容占据多行就会变得非常混乱。因此,我正在寻找更合适的解决方案。另一种解决方案是编写一个类似于
LabelField
从头开始的新字段。