2009-01-15 16 views
8

मैं फ्लेमिंगो रिबन और सबस्टेंस ऑफिस 2007 का उपयोग और महसूस कर रहा हूं।क्या मैं दो अलग-अलग रूपों का उपयोग कर सकता हूं और उसी स्विंग एप्लिकेशन में महसूस करता हूं?

बेशक अब प्रत्येक नियंत्रण में यह दिखता है और महसूस करता है, यहां तक ​​कि संवाद बॉक्स पर भी।

जो मैं चाहता हूं वह Office 2007 में कुछ है, जहां रिबन के पास Office 2007 दिखता है, लेकिन अन्य नियंत्रण उनके मूल Vista/XP look को रखते हैं।

क्या कुछ नियंत्रणों को एक अलग रूप और असाइन करना असाइन करना संभव है? शायद किसी प्रकार की चेनिंग या प्रॉक्सी लुक और महसूस कर रहे हैं?

उत्तर

9

मैंने अभी पाया: Substance 5.0SKIN_PROPERTY उपलब्ध है।

यह अलग JRootPanes करने के लिए विभिन्न खाल बताए की अनुमति देता है (अर्थात JDialog, JFrame, JInternalFrame)

एक छोटी सी चाल: मैं ओवरराइड JInternalFrame अतिरिक्त सीमा और शीर्षक फलक को दूर करने के लिए इतना है कि यह सिर्फ एक सीमाहीन पैनल की तरह दिखता है। इस तरह इंप्रेशन बनाना संभव है, कि किसी रूप/संवाद के विभिन्न हिस्सों में अलग-अलग दिखते हैं।

2

यहां एक लाइब्रेरी है जो स्वचालित रूप से दिखने और महसूस करने में बदलाव करेगी। मुझे यकीन नहीं है कि यह हर घटक के लिए अलग-अलग तरीके से किया जाएगा, लेकिन आपको इसे देखना चाहिए। pbjar.org

इस किताब को अगर आप नज़र में गहरी जाने के लिए और महसूस /java-look-and-feel-design-guidelines-second-edition

मैं कुछ कोड उदाहरण देखने के लिए खुशी होगी, अगर कोई यह लिख सकते हैं, शुरू करने पाने के लिए स्वतंत्र महसूस करना चाहते हैं उपयोगी होना चाहिए।

संपादित करें:

इस मंच धागा Thread में मैं निम्नलिखित विवरण

स्विंग एक देखो & महसूस (एक PLAF) का उपयोग करता पाया। पीएलएफ़ प्रति-जेएफआरएएम स्तर पर संलग्न नहीं हैं। वे एक प्रति-वीएम स्तर पर संलग्न हैं। एक आवेदन के भीतर पीएलएफ़ मिश्रण करना लगभग असंभव है। मेरे पास कुछ प्रयास देखे गए हैं, सभी असफल रहे।

+0

यह वास्तव में प्रति-AppContext है। आप अलग-अलग पीएल और एफएस स्थापित विभिन्न साइटों पर एप्लेट्स प्राप्त करने में सक्षम होना चाहिए। –

1

दुर्भाग्यवश स्विंग दृश्यों के पीछे कई "psuedo- global" चीजें करता है। AFAIK, इसे लगातार करने का एकमात्र तरीका निजी AppContext API का उपयोग करना है। प्रत्येक AppContext का अपना इवेंट प्रेषण धागा और अन्य "psuedo-globals" है।