के लिए एक ही फ़ॉन्ट सेट करें, मैं JPanel
में सभी घटक के लिए एक विशिष्ट फ़ॉन्ट सेट करना चाहता हूं लेकिन मुझे लगता है कि सवाल अभी भी सामान्य है और जेपीनेल तक ही सीमित नहीं है। मैं एक कंटेनर (जेएफआरएएम या जेपीनल) में घटक की सूची में फ़ॉन्ट कैसे सेट कर सकता हूं?सभी घटक जावा
उत्तर
उन घटकों के लिए फ़ॉन्ट मानों को UIManager
में सेट करें जिन्हें आप बदलना चाहते हैं। UIManager
वर्ग के लिए अलग गुण हो सकता है
Font labelFont = ... ;
UIManager.put("Label.font", labelFont);
ध्यान दें कि अलग लग रहे है और लगता है (एल & एफ) है, तो आप एक एल & एफ से यह बदलाव करते हैं: उदाहरण के लिए, आप ऐसा करके लेबल के लिए प्रयुक्त फ़ॉन्ट सेट कर सकते हैं दूसरे के लिए, आपको समस्या हो सकती है।
- आप UIManager
उपयोग कर सकते हैं यह करने के लिए ....
उदाहरण के लिए:
public class FrameTest {
public static void setUIFont(FontUIResource f) {
Enumeration keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof FontUIResource) {
FontUIResource orig = (FontUIResource) value;
Font font = new Font(f.getFontName(), orig.getStyle(), f.getSize());
UIManager.put(key, new FontUIResource(font));
}
}
}
public static void main(String[] args) throws InterruptedException {
setUIFont(new FontUIResource(new Font("Arial", 0, 20)));
JFrame f = new JFrame("Demo");
f.getContentPane().setLayout(new BorderLayout());
JPanel p = new JPanel();
p.add(new JLabel("hello"));
p.setBorder(BorderFactory.createTitledBorder("Test Title"));
f.add(p);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300, 300);
f.setVisible(true);
}
}
यदि मैं UIManager का उपयोग करता हूं तो मैं पूरे एप्लिकेशन में घटक को फ़ॉन्ट में बदलता हूं लेकिन मैं इसे केवल एक विशिष्ट 'जेएफआरएएम' या 'जेपीनेल' में बदलने के लिए नहीं चाहता था। धन्यवाद – Luca
यहाँ एक सरल विधि है कि आप के तहत पूरे घटकों पेड़ से फ़ॉन्ट निर्दिष्ट करने के लिए अनुमति देता है कोई कंटेनर (या सिर्फ एक साधारण घटक, कोई फर्क नहीं पड़ता):
public static void changeFont (Component component, Font font)
{
component.setFont (font);
if (component instanceof Container)
{
for (Component child : ((Container) component).getComponents())
{
changeFont (child, font);
}
}
}
बस वाई पास करें इस विधि में हमारे पैनल और विशिष्ट फ़ॉन्ट और आप सभी बच्चों को भी रिफैक्टर मिल जाएगा।
बहुत बढ़िया, यह बहुत अच्छा काम कर रहा है, मैंने आपके कोड को इस तरह थोड़ा बदल दिया है, और यह मेरी मदद कर रहा है, मैं उस कोड को उत्तर में पोस्ट कर रहा हूं –
Mikle अनाज से प्रेरित होकर उत्तर मैं पुराने fontsize
public static void changeFont(Component component, int fontSize) {
Font f = component.getFont();
component.setFont(new Font(f.getName(),f.getStyle(),f.getSize() + fontSize));
if (component instanceof Container) {
for (Component child : ((Container) component).getComponents()) {
changeFont(child, fontSize);
}
}
}
- 1. घटक
- 2. जावा स्विंग के लिए फ़ाइल ब्राउज़र घटक
- 3. घटक
- 4. घटक
- 5. घटक
- 6. जावा स्विंग जीयूआई घटक कैसे आरटीएल देखें?
- 7. जावा घटक आधारित बनाम अनुरोध आधारित ढांचे
- 8. जावा घटक। शो()/छुपाएं() बहिष्कृत हैं ... क्यों?
- 9. घटक
- 10. घटक
- 11. घटक
- 12. घटक
- 13. एनएचबेर्नेट घटक मैपिंग - नल घटक
- 14. ComponentRefs के घटक घटक समूह
- 15. में सभी सूची जावा
- 16. बाल घटक में माउसमोशन लिस्टनर मूल घटक
- 17. घटक dll
- 18. समग्र घटक और आईडी
- 19. सभी सुपर वर्गों देखें जावा
- 20. मेरी सभी जावा परियोजनाएं ग्रहण
- 21. जावा - चर परिवर्तन सभी के
- 22. जावा में सभी विधि आभासी
- 23. कैसे WebBrowser घटक
- 24. एक कस्टम घुमाओ घटक
- 25. TJpegImage घटक
- 26. स्क्रिप्ट घटक
- 27. जेएसएफ घटक
- 28. जीपीएल घटक?
- 29. जीयूआई घटक
- 30. वसंत घटक
हो रही द्वारा प्रतिशत में प्रत्येक घटक के फॉन्ट को बढ़ाने के लिए अपने कोड का उपयोग किया है मैं UIManager का उपयोग मैं आवेदन भर घटक के फ़ॉन्ट बदलने, लेकिन मैं इसे केवल एक विशिष्ट 'जेएफआरएएम' या 'जेपीनेल' में बदलने के लिए नहीं था। धन्यवाद – Luca