2013-04-09 5 views
22

मैं एक जेएलबीएल रेखांकित करने की कोशिश कर रहा हूं। मैंने हर जगह खोज की, लेकिन मुझे कुछ नहीं मिला। यहां तक ​​कि गुणों में, जेएलएबल को रेखांकित करने के लिए कोई विकल्प नहीं है। मैं क्या कर सकता हूँ?रेखांकित जेएलएबल

+1

कहाँ कोड है? –

उत्तर

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

या

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

बेहतर उपयोग करें 'मानचित्र <टेक्स्ट एट्रिब्यूट, ऑब्जेक्ट> विशेषताएँ = नया हैश मैप <> (font.getAttributes());' कंपाइलर चेतावनी से बचने के लिए 'अनचेक कॉल (k v) (...) '। – Petschko

संबंधित मुद्दे