Java 阿贝尔
我想做一个带下划线的JLabel。我到处找,但什么也没找到。即使在属性中,也没有为JLabel加下划线的选项。我能做什么?Java 阿贝尔,java,swing,netbeans,jlabel,Java,Swing,Netbeans,Jlabel,我想做一个带下划线的JLabel。我到处找,但什么也没找到。即使在属性中,也没有为JLabel加下划线的选项。我能做什么?JLabel标签=新的JLabel(“带下划线的标签”); JLabel label = new JLabel("<HTML><U>YOUR TEXT HERE</U></HTML>"); label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); Font
JLabel标签=新的JLabel(“带下划线的标签”);
JLabel label = new JLabel("<HTML><U>YOUR TEXT HERE</U></HTML>");
label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
Font=label.getFont();
Map attributes=新的HashMap(font.getAttributes());
attributes.put(texttribute.UNDERLINE,texttribute.UNDERLINE_ON);
label.setFont(font.deriveFont(属性));
别忘了关闭标签@克拉克,不是这样的matter@devaldcool,即使这无关紧要,至少应该遵循良好的实践来养成良好的习惯。粗心的编码是通向黑暗面的道路。粗心的编码会导致坏习惯。坏习惯导致坏代码。坏代码会导致痛苦。@hfontanez我相信在读了你的评论后,你会在弹出pendrive之前安全地移除它,或者用左手拿着叉子…生活很简单,伙计。不要浪费时间关闭标签或安全地移除pendrive,像从未吃过东西一样吃东西。我应该把这些代码放在哪里initComponents()
不可编辑,我使用的是Netbeans 8+1。另外,label.getText()现在将返回实际的、预期的文本,而不是HTML标记以避免编译器警告对put(kv)(…)的未选中调用。
JLabel label = new JLabel("Underlined Label");
Font font = label.getFont();
Map attributes = font.getAttributes();
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
label.setFont(font.deriveFont(attributes));
JLabel label = new JLabel("Underlined Label");
Font font = label.getFont();
Map<TextAttribute, Object> attributes = new HashMap<>(font.getAttributes());
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
label.setFont(font.deriveFont(attributes));