2010-06-08 12 views
5

मैं जावा जोरों पर एक आवेदन का निर्माण कर रहा हूँ और मैं निम्नलिखित कोड का उपयोग कर रहा यूआई देने के लिए एक देशी ओएस देखनेस्विंग यूआई देशी ओएस देखने

try { 
    UIManager.setLookAndFeel(
    UIManager.getSystemLookAndFeelClassName()); 
    } catch (Exception e) { 
    e.printStackTrace(); 
} 

एक ओएस एक्स पर नहीं है, देखो ठीक है , लेकिन विंडोज़ (एक्सपी और 7) पर बटन इस तरह दिखते हैं।

alt text http://img710.imageshack.us/img710/8735/buttonsoc.png

मैं अन्य परियोजनाओं पर इस सटीक एक ही कोड का इस्तेमाल किया है और यह ठीक काम करता है। लेकिन इस विशेष परियोजना में मुझे एक पूरी तरह से अलग दिखता है।

मैं पहले से

धन्यवाद जावा 1.6

उपयोग कर रहा हूँ!

+0

जावा का कौन सा संस्करण आप उपयोग कर रहे हैं? –

+2

आपने जो पोस्ट किया है उसे काम करना चाहिए, क्या आपने http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/plaf.html#programmatic पर देखा है? –

+0

@ रोमेन - यही वह जगह है जहां से मुझे कोड मिला और इससे पहले काम किया। अब आश्चर्य की बात है कि यह एक अलग दिख रहा है। मैंने इसे एक ही परिणाम के साथ विभिन्न प्रणालियों पर भी परीक्षण किया। –

उत्तर

8

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

यह समझाएगा कि यह मैक पर क्यों काम करता है (एल & एफ ऐप्पल के जेवीएम आईआईआरसी पर मैक के लिए डिफ़ॉल्ट), लेकिन विंडोज़ पर नहीं। यदि आप एल & एफ को सीधे अपनी मुख्य विधि में पहली कॉल के रूप में सेट करते हैं, तो आप इसे जल्दी से जांच सकते हैं (यह मानते हुए कि आपकी मुख्य कक्षा में पाठ्यक्रम के किसी भी प्रारंभिक प्रारंभिक जीयूआई उदाहरण नहीं हैं)।

+0

संशोधित करते हैं, यह देखने के लिए UIManager पर एक खोज करने के बारे में! वह यह था। तुम मुझे बहुत दर्द बचाओ। –