2016-08-05 13 views
1

から下線を削除します。別のJLabelをクリックしたら何私は一度、このコードをクリックしたJLabelのテキストに下線を付けるために使用するJLabelのテキスト

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

は、だから今、私は(下線なし)その最初の状態に復元する必要があります私は変える?

ありがとうございました!

+2

どのように 'attributes.put(TextAttribute.UNDERLINE、TextAttribute.UNDERLINE_OFF)について;'? –

+0

あなたの提案に感謝しますが、「UNDERLINE_OFF」などの属性はありません。 –

+0

素晴らしいです!タイ –

答えて

3

TextAttribute.UNDERLINE_OFFは実際の定数ではありません。だから私はTextAttribute#UNDERLINE documentationを相談:

public static final TextAttribute UNDERLINE 

は下線を表す属性キーです。値はIntegerのインスタンスです。デフォルト値は-1です。これはアンダーラインを意味しません。

定数値UNDERLINE_ONが提供されています。

下線は、視覚的境界とテキストのアウトラインの両方に影響します。

そして、それはデフォルト値が-1で判明。だから、バック下線されていないにテキストを元に戻すだけで使用します。

attributes.put(TextAttribute.UNDERLINE, -1); 
関連する問題