2013-04-09 9 views
22

Ich versuche, ein JLabel unterstrichen zu machen. Ich habe überall gesucht, aber ich habe nichts. Auch in den Eigenschaften gibt es keine Möglichkeit, das JLabel zu unterstreichen. Was kann ich tun?Unterstrichen JLabel

+1

Wo ist der Code? –

Antwort

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

ODER

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

Vergessen Sie nicht, Ihre Tags zu schließen! – Clark

+2

@Clark es ist egal – khandelwaldeval

+3

@devaldcool, auch wenn es keine Rolle spielt, sollte mindestens eine gute Praxis folgen, um gute Gewohnheiten zu schaffen. Unvorsichtige Codierung ist der Weg zur dunklen Seite. Unvorsichtiges Kodieren führt zu schlechten Angewohnheiten. Schlechte Angewohnheiten führen zu kaputten Codes. Gebrochener Code führt zu Leiden. – 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, für schnelleres Rendering dann mit HTML – camickr

+4

+1. Label.getText() gibt nun anstelle von HTML-Markup den eigentlichen, beabsichtigten Text zurück. – splungebob

+1

Bessere Verwendung von attributes = new HashMap <> (font.getAttributes()); 'um die Compiler-Warnung zu vermeiden' unchecked call to put (k v) (...) '. – Petschko