दिलचस्प पोस्ट
एंड्रॉइड में हेक्स स्ट्रिंग को रंग पूर्णांक कैसे परिवर्तित करें? लिनक्स में प्रक्रियाओं की अधिकतम संख्या थ्रेड-सुरक्षित आलसी आरम्भिकरण कैसे कार्यान्वित करें? मोबाइल के लिए सामग्री अनुकूलन करने का तरीका कैसे रीसाइक्लिंग के लिए से अलग है और से अलग नहीं है? सरणी का रैंडम फेरबदल सीमा / रूपरेखा के साथ षट्कोण आकार मैं PowerShell से कैसे अपनी ध्वनि को म्यूट / अनम्यूट कर सकता / सकती हूं? फ़ाइल प्रकार का उपयोग करके सी # निर्धारित करें एस्केप @ चरित्र में जीआईटी प्रॉक्सी पासवर्ड WPF में बिटमैप इमेज ताला फ़ाइल है सृजन टाइमस्टैम्प और हाइबरनेट और MySQL के साथ अंतिम अपडेट टाइमस्टैम्प क्लिकऑन के लिए क्या विकल्प हैं? मान मान मान्य करें एसवीजी में एसवीजी एम्बेड करें?

स्विंग प्रोग्राम का डिफ़ॉल्ट फ़ॉन्ट सेट करना

मैं सोच रहा था कि मेरे संपूर्ण जावा स्विंग प्रोग्राम के लिए डिफ़ॉल्ट फ़ॉन्ट कैसे सेट करें। मेरे शोध से ऐसा प्रतीत होता है कि यह UIManager साथ किया जा सकता है, UIManager साथ कुछ करना है, लेकिन मैं इसे विशेष रूप से कैसे प्राप्त नहीं कर सकता, और UIManager बहुत जटिल दिखता है

Solutions Collecting From Web of "स्विंग प्रोग्राम का डिफ़ॉल्ट फ़ॉन्ट सेट करना"

प्रयत्न:

 public static void setUIFont (javax.swing.plaf.FontUIResource f){ java.util.Enumeration keys = UIManager.getDefaults().keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); Object value = UIManager.get (key); if (value instanceof javax.swing.plaf.FontUIResource) UIManager.put (key, f); } } 

मिलन …

 setUIFont (new javax.swing.plaf.FontUIResource("Serif",Font.ITALIC,12)); 
 UIManager.put("Button.font", /* font of your liking */); UIManager.put("ToggleButton.font", /* font of your liking */); UIManager.put("RadioButton.font", /* font of your liking */); UIManager.put("CheckBox.font", /* font of your liking */); UIManager.put("ColorChooser.font", /* font of your liking */); UIManager.put("ComboBox.font", /* font of your liking */); UIManager.put("Label.font", /* font of your liking */); UIManager.put("List.font", /* font of your liking */); UIManager.put("MenuBar.font", /* font of your liking */); UIManager.put("MenuItem.font", /* font of your liking */); UIManager.put("RadioButtonMenuItem.font", /* font of your liking */); UIManager.put("CheckBoxMenuItem.font", /* font of your liking */); UIManager.put("Menu.font", /* font of your liking */); UIManager.put("PopupMenu.font", /* font of your liking */); UIManager.put("OptionPane.font", /* font of your liking */); UIManager.put("Panel.font", /* font of your liking */); UIManager.put("ProgressBar.font", /* font of your liking */); UIManager.put("ScrollPane.font", /* font of your liking */); UIManager.put("Viewport.font", /* font of your liking */); UIManager.put("TabbedPane.font", /* font of your liking */); UIManager.put("Table.font", /* font of your liking */); UIManager.put("TableHeader.font", /* font of your liking */); UIManager.put("TextField.font", /* font of your liking */); UIManager.put("PasswordField.font", /* font of your liking */); UIManager.put("TextArea.font", /* font of your liking */); UIManager.put("TextPane.font", /* font of your liking */); UIManager.put("EditorPane.font", /* font of your liking */); UIManager.put("TitledBorder.font", /* font of your liking */); UIManager.put("ToolBar.font", /* font of your liking */); UIManager.put("ToolTip.font", /* font of your liking */); UIManager.put("Tree.font", /* font of your liking */); 

स्रोत: http://www.jguru.com/faq/view.jsp?EID=340519

 java -Dswing.aatext=true -Dswing.plaf.metal.controlFont=Tahoma -Dswing.plaf.metal.userFont=Tahoma … 

यह न केवल आपके संपूर्ण UI पर टैहोमा को निर्धारित करेगा बल्कि एंटी-अलायज़िंग को चालू करेगा जो कि किसी भी फ़ॉन्ट को और अधिक सुंदर बनाता है, तुरंत।

मुझे लगता है कि यह बेहतर है, इसे पूरे यूआईएनएनेजर के बजाय मौजूदा लाफ के लिए बुलाते हुए यह कहें

 UIManager.getLookAndFeelDefaults() .put("defaultFont", new Font("Arial", Font.BOLD, 14)); 

अपने जेफ्राम ऑब्जेक्ट को इंस्टाज़ करने से पहले मुख्य में कहीं। यह मेरे लिए पूरी तरह से काम किया याद रखें यह डिफॉल्ट फ़ॉन्ट है, जिनके लिए निर्दिष्ट फ़ॉन्ट नहीं है।

स्रोत: http://www.java.net/node/680725

सावधान रहें कि डिफ़ॉल्ट फ़ॉन्ट सेट करने का तरीका आपके द्वारा उपयोग किए जा रहे लुक एंड फेल पर निर्भर करता है। Romain Hippeau द्वारा वर्णित समाधान एलएएफ के साथ ठीक काम करता है, लेकिन निम्बस के साथ नहीं। शेरिफ द्वारा पोस्ट किया गया एक निंबस के साथ ठीक काम करता है, लेकिन दूसरों के साथ नहीं (धातु, उदाहरण के लिए)

दोनों का संयोजन एलएएफ के अधिकांश पर काम कर सकता है, लेकिन इन समाधानों में से कोई भी जीटीके + एलएएफ के साथ काम नहीं करता है

मुझे लगता है (लेकिन मुझे यकीन नहीं है), कोई क्रॉस-प्लेटफ़ॉर्म समाधान नहीं है

Romain Hippeau से प्रेरित होकर, यदि आप सिर्फ फ़ॉन्ट आकार सेट करना चाहते हैं तो इस कोड का उपयोग करें।

 for (Map.Entry<Object, Object> entry : javax.swing.UIManager.getDefaults().entrySet()) { Object key = entry.getKey(); Object value = javax.swing.UIManager.get(key); if (value != null && value instanceof javax.swing.plaf.FontUIResource) { javax.swing.plaf.FontUIResource fr=(javax.swing.plaf.FontUIResource)value; javax.swing.plaf.FontUIResource f = new javax.swing.plaf.FontUIResource(fr.getFamily(), fr.getStyle(), FONT_SIZE); javax.swing.UIManager.put(key, f); } } 

मैं निंबस एल एंड एफ का उपयोग कर रहा हूं

@ रमैन हिपपौ से कोड का उपयोग करने के लिए, मुझे UIManager.getLookAndFeelDefaults() बजाय UIManager.getDefaults() का उपयोग करना था और संशोधित मानों को put लिए लौटा संदर्भ का उपयोग करना था:

  int szIncr = 5; // Value to increase the size by UIDefaults uidef = UIManager.getLookAndFeelDefaults(); for (Entry<Object,Object> e : uidef.entrySet()) { Object val = e.getValue(); if (val != null && val instanceof FontUIResource) { FontUIResource fui = (FontUIResource)val; uidef.put(e.getKey(), new FontUIResource(fui.getName(), fui.getStyle(), fui.getSize()+szIncr)); } } 

किसी कारण के लिए, यह डिफ़ॉल्ट एल एंड एफ के साथ काम नहीं करता … (सीमित परीक्षणों पर आधारित)

इस समस्या को हल करने के लिए, मैं सिर्फ AWTEventListener को लागू करता हूं और कंटेनरएवेंट के COMPONENT_ADDED के लिए सुनता हूं।

यहां पर सभी कहानी विवरण: http://wiki.idempiere.org/en/Swing_Miss_Support_Some_Language

सभी कोड: https://bitbucket.org/hieplq/unicentapos/src/9b22875ab65e26ff46fd9ae62d556b7f64621afa/src-extend/vn/hsv/uitil/font/FontGlyphsUtil.java?at=tip

  1. AWTEventListener लागू करें
 public void eventDispatched(AWTEvent event) { if (!isMissSupportGlyph || !(event instanceof ComponentEvent) || !(event instanceof ContainerEvent)) return; if (event instanceof ContainerEvent){ ContainerEvent containerEvent = (ContainerEvent)event; if (containerEvent.getID() == ContainerEvent.COMPONENT_ADDED){ updateChildControlFont(containerEvent.getChild()); } } } 
  1. रजिस्ट्री श्रोता जोड़ें (प्रोग्राम को शुरू करने पर यह सबसे अच्छा स्थान है)
 Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.COMPONENT_EVENT_MASK | AWTEvent.CONTAINER_EVENT_MASK); 

शोध प्रबंध समाधानों में से कोई भी मेरे लिए ठीक काम नहीं करता है, मैं अपनी (बेवकूफी) एक बना रहा हूं लेकिन यह काम करता है:

 private void changeFontRecursive(Container root, Font font) { for (Component c : root.getComponents()) { c.setFont(font); if (c instanceof Container) { changeFontRecursive((Container) c, font); } } } 

सही जवाब अमीर रमनफार का है, लेकिन आपको फ़ॉन्ट फोरुइरसॉर्स को फ़ॉन्ट का रूप देना होगा। उदाहरण के लिए :

 UIManager.put("Button.font", new FontUIResource(new Font ("Helvetica", Font.BOLD, 16))); 

मैंने सीनेथ का इस्तेमाल किया और एक्सएमएल फ़ाइल को महसूस किया और वहां फोंट को परिभाषित किया। आसान, लचीला और महाद्वीप
आपको एक createFont तरह एक क्लास बनाने की आवश्यकता है:

 public class CustomFontResource { public static FontUIResource createFont(String path, final int size) throws IOException, FontFormatException { Font font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream(path)); return new FontUIResource(font.deriveFont(Font.PLAIN, size)); } 

और आपके सिन्थ XML में फ़ॉन्ट को परिभाषित करना जैसे:

  <object id="Basic_Regular" class="<your CustomFontResource class>" method="createFont"> <string>path_to_your_font</string> <int>font_size</int> </object> 

तो आप इसे xml में जहां भी चाहें संदर्भ के रूप में इसका उपयोग कर सकते हैं।