2013-04-09 23 views
22

Altı çizili bir JLabel yapmaya çalışıyorum. Her yerde aradım ama hiçbir şeyim yok. Özelliklerde bile, JLabel'in altını çizmek için bir seçenek yoktur. Ne yapabilirim?Altı çizili JLabel

+1

kodu nerede? –

cevap

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

VEYA

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

Etiketlerinizi kapatmayı unutmayın! – Clark

+2

@Clark – khandelwaldeval

+3

@devaldcool farketmez, iyi olmasa bile iyi alışkanlıklar yaratmak için iyi bir uygulama yapılmalıdır. Dikkatsiz kodlama karanlık tarafın yoludur. Dikkatsiz kodlama kötü alışkanlıklara yol açar. Kötü alışkanlıklar bozuk kodlara yol açar. Bozuk kod acı çekmeye yol açar. – 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, daha hızlı görüntü elde etmek için HTML – camickr

+4

+1 kodunu kullanın. Ayrıca, label.getText() öğesi artık HTML işaretlemesi yerine gerçek, amaçlanan metni döndürecektir. – splungebob

+1

"Map attributes = new HashMap <> (font.getAttributes());' derleyici uyarısını önlemek için işaretlenmemiş çağrıyı (k v) (...) 'kullanmaktan daha iyi kullanın. – Petschko

İlgili konular