Swing 带下划线文本的JToggleButton

Swing 带下划线文本的JToggleButton,swing,jbutton,Swing,Jbutton,好吧,标题说明了这一点 在Netbeans中,我可以更改JToggleButton的字体,但只有粗体和斜体的选项,而下划线的文本则没有。我想这并不是严格意义上的字体属性,但我不知道怎么做。您可以使用HTML在Swing中呈现许多组件(请参见),这样您就可以创建一个带下划线的字符串,并调用JToggleButton.setText(String)或JToggleButton(String)。比如说 new JToggleButton("<html><u>" + textTo

好吧,标题说明了这一点


在Netbeans中,我可以更改JToggleButton的字体,但只有粗体和斜体的选项,而下划线的文本则没有。我想这并不是严格意义上的字体属性,但我不知道怎么做。

您可以使用HTML在Swing中呈现许多组件(请参见),这样您就可以创建一个带下划线的字符串,并调用
JToggleButton.setText(String)
JToggleButton(String)
。比如说

new JToggleButton("<html><u>" + textToUnderline + "</u></html>");
newjtogglebutton(“+textToUnderline+”);

(顺便说一句,关闭
标记是可选的,尽管我总是包括它)。

还要注意,使用HTML会阻止基线对齐(由几个布局管理器使用)正常工作。我一直强烈建议不要在Swing组件中使用HTML。在当前上下文中,我想可以将JToggleButton子类化并重写paintComponent(),或者可能在LAF级别工作(但这更困难)。