1

我正在尝试创建一个JLabel包含带有助记符的 HTML 文本。它工作得很好。我能够抓住为其设置标签的组件的焦点。

但是我在指定的助记符索引下看不到下划线。这是一段代码摘录

JLabel l=new JLabel("<html><h2>Label 8</h2></html>");
l.setDisplayedMnemonic('8');
l.setDisplayedMnemonicIndex(16);

除了使用 HTML 手动下划线的答案

JLabel l=new JLabel("<html><h2>Label <u>8</u></html>");

有没有替代方法?

顺便说一句,我没有得到IllegalArgumentException

任何答案表示赞赏。

4

2 回答 2

2

有没有替代方法?

当然。不要在组件中使用 HTML,只需设置一个大的Font. 如果使用 HTML,预计会出现类似的怪癖。

于 2013-07-12T05:15:14.157 回答
0

快速查看JavadocIllegalArgumentException如果索引等于其内容的长度或小于 -1,则会抛出 an 。从技术上讲,您JLabel仅包含此字符串:“Label 8”。不包括HTML 内容。因此,您给定的索引 16 大于字符串的长度 8,这反过来又会抛出一个IllegalArgumentException.

于 2013-07-12T05:18:23.370 回答