2013-04-09 34 views
22

私はJLabelに下線を引いています。私はどこでも検索しましたが、何も見つかりませんでした。プロパティでも、JLabelに下線を付けるオプションはありません。私に何ができる?下線付きのJLabel

+1

コードはどこにありますか? –

答えて

36
JLabel label = new JLabel("<HTML><U>YOUR TEXT HERE</U></HTML>"); 
label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 

OR

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)); 
+15

あなたのタグを閉じることを忘れないでください! – Clark

+2

@clarkそれは問題ではありませんが、 – khandelwaldeval

+3

@devaldcoolでも問題ありません。良い習慣は、少なくとも良い習慣を作るために従うべきです。不注意なコーディングは、暗い側面への道です。不注意なコーディングは悪い習慣につながります。悪い習慣は、壊れたコードにつながります。壊れたコードは苦しみにつながります。 – hfontanez

32
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)); 
+3

+1、レンダリング時間を短縮するには、HTML – camickr

+4

+1を使用します。また、label.getText()は、HTMLマークアップの代わりに、実際の目的のテキストを返すようになりました。 – splungebob

+1

コンパイラの警告 'put(k v)(...)'に対する未確認の呼び出しを避けるために 'Map attributes = new HashMap <>(font.getAttributes()); – Petschko