2010-12-08 25 views
8

http://java.sun.com/products/jfc/tsc/articles/mixing/index.html सलाह देते हैं कि JPopupMenu हे हेवीवेट कैसे बनाएं।जेपीओपअपमेनू के सबमेनस हेवीवेट

setLightWeightPopupEnabled(false); 

यह ठीक काम करता है, लेकिन अगर मैं पॉपअप, JMenu आइटम के रूप में कार्यान्वित में सबमेनू है, वे पॉपअप के भारी वजन के वारिस नहीं हैं: बस गुण सेट। JMenu में हेवीवेट बनाने की कोई विधि नहीं है, और एडब्ल्यूटी Menu का उपयोग करना एक विकल्प नहीं है, क्योंकि मैं इसमें स्विंग आइटम रखना चाहता हूं।

मैं सबमेनस हेवीवेट भी कैसे बना सकता हूं?

+0

+1 अच्छा, यह मुझे समय बचाया। – KJW

+0

दोस्त, ऐसा लगता है कि आपका अपडेट आपके प्रश्न का एक बिल्कुल वैध जवाब है, इसलिए अपडेट को उत्तर देने के लिए ले जाएं, और उत्तर को स्वीकार के रूप में चिह्नित करें, इससे इंटरनेट (और अधिक विशेष रूप से स्टैक ओवरफ्लो) थोड़ा बेहतर हो जाएगा। – Riduidel

+0

अच्छा विचार, किया गया! –

उत्तर

2

ऐसा लगता है कि यह एक स्विंग बग है। वैश्विक संपत्ति

JPopupMenu.setDefaultLightWeightPopupEnabled(false); 

काम करता है! इसके अलावा सबमेनू JMenu आइटम भारी हो जाते हैं, जैसा कि उन्हें करना चाहिए। जाहिर है प्रति उदाहरण विधि setLightWeightPopupEnabled समान रूप से काम करना चाहिए, लेकिन ऐसा नहीं है।

मैंने इस पर एक बग (बग आईडी: 7005406) दायर किया, लेकिन मैं यहां प्रश्न छोड़ देता हूं अगर कोई और इस पर टक्कर देता है। तो समाधान बग ठीक होने तक वैश्विक सेटिंग का उपयोग करना है।