2011-12-30 21 views
5

पर क्लिक करते समय फ़ॉन्ट शैली बदलना पर क्लिक करते समय STYLE को कैसे बदलें?JButton Java

मैं PLAIN या BOLD या ITALIC

को 3 बटन प्रत्येक परिवर्तन शैलियों के लिए कोशिश कर रहा हूँ मैं font Class API पढ़ा है, लेकिन मैं setStyle की तरह कोई बात नहीं है हम केवल getStyle

मैं फ़ॉन्ट वर्ग पा सकते हैं जावा में इसकी तुलना में काफी जटिल है: एस।

+1

यह भी देखें http://stackoverflow.com/questions/8675038/increasing-decreasing-font-size-inside-textarea-using-jbutton एक बहुत ही समान प्रश्न – Robin

उत्तर

13

आपको setFont(...) को सेट स्टाइल पर कॉल करने की आवश्यकता होगी।

उदाहरण के लिए, आप एक ही फॉन्ट रखने लेकिन नामक एक JTextField की शैली को बदलना चाहते हैं "मैदान" आप की तरह कुछ कर सकता है:

field.setFont(field.getFont().deriveFont(Font.BOLD)); 

संपादित
दोनों के लिए फ़ॉन्ट सेट करने के लिए बोल्ड और इटैलिक, आप चाहते हैं या बिटमैप:

field.setFont(field.getFont().deriveFont(Font.BOLD | Font.ITALIC)); 

कृपया ध्यान दें कि इस बिटवाइज़ समावेशी का उपयोग करता OR ऑपरेटर जो एक पाइप प्रतीक का उपयोग करता है: | बल्कि था n लॉजिकल या ऑपरेटर जो डबल पाइप प्रतीक का उपयोग करता है: ||

साथ ही आगे की सूक्ष्मता और भ्रम की स्थिति है कि | एक तार्किक या ऑपरेटर के रूप में इस्तेमाल किया जा सकता के लिए ध्यान दें, लेकिन आप आमतौर पर बाद के बाद से इस के लिए || का उपयोग करना पसंद करेंगे कि एक "शॉर्ट सर्किट" ऑपरेटर है अगर बाएं हाथ अभिव्यक्ति का पक्ष सच है, दाएं हाथ की ओर भी मूल्यांकन नहीं किया जाता है।

+0

कमाल के लिए! इसलिए जब भी हम किसी भी पैरामीटर को संपादित करना चाहते हैं तो हमें 'setFont' करना होगा। मैंने पहले 'deriveFont' का उपयोग करने की कोशिश की लेकिन मुझे नहीं पता था कि इसका उपयोग कैसे किया जाए। अब यह पूरी तरह से स्पष्ट है :) धन्यवाद @ होवरक्राफ्ट! – Sobiaholic

+0

मुझे एक सवाल आया, अगर मैं पाठ को 'ITALIC' और 'बोल्ड' होना चाहता हूं तो कैसे? – Sobiaholic

+0

@iMohammad: कृपया उपरोक्त संपादन देखें। –

4

वर्तमान फ़ॉन्ट प्राप्त करें, वर्तमान में एक नया फ़ॉन्ट प्राप्त करने के लिए deriveFont का उपयोग करें, लेकिन एक नई शैली के साथ, और नया फ़ॉन्ट लागू करें।

+0

धन्यवाद :) मैंने इसे पोस्ट करने से पहले ही पढ़ा है लेकिन यह अस्पष्ट था। @ होवरक्राफ्ट के लिए धन्यवाद उसके उदाहरण ने मुझे बहुत मदद की! – Sobiaholic

3

आप यह कर सकते का पालन के रूप में

JButton myButton=new JButton(); 
myButton.setText("My Button"); 
myButton.setFont(new Font("Serif", Font.BOLD, 14)); 
2

एक विकल्प के रूप में, आप JEditorPane के लिए उपलब्ध StyledEditorKit कार्यों में लग सकता है। एक संबंधित उदाहरण here और एक ट्यूटोरियल here है।