2012-04-11 17 views
7

मैं स्विंग का उपयोग करने वाले एप्लिकेशन पर काम कर रहा हूं। मैंने उपयोगकर्ता के लिए काम करने के लिए सफलतापूर्वक मुख्य जीयूआई बनाया है। हालांकि, मैं उपयोगकर्ता को अपनी सेटिंग्स बदलने की अनुमति देना चाहता हूं। सेटिंग्स विंडो बनाने के बारे में मुझे कैसे जाना चाहिए? 'सेटिंग' नामक एक नया जेएफआरएम का उपयोग करना इसे संभालने का सबसे अच्छा तरीका होगा, या दूसरे जेएफआरएएम की तुलना में उपयोग करने के लिए कुछ बेहतर है?स्विंग जीयूआई - 'सेटिंग' विंडो बनाना (उचित रूप से)

(नोट: निपटान पद्धति सेटिंग JFrame, बाहर निकलने पर, मुख्य जीयूआई बंद नहीं होगा, इसका इस्तेमाल करेंगे)

मैं एक तरीका है कि स्मृति के कम से कम राशि की खपत में इस संभाल करने के लिए चाहते हैं, लेकिन आवेदन के लिए एक पेशेवर रूप बनाए रखना।

http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/ui/dialogs/ParamDialog.java?view=log

+1

देखें [एकाधिक जेएफआरम्स का उपयोग, अच्छा/बुरा अभ्यास?] (Http://stackoverflow.com/a/9554657/418556) अच्छा सवाल, बीटीडब्ल्यू। –

उत्तर

5

क्या आपने कार्डलाउट माना है? http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

व्यक्तिगत रूप से, मुझे कॉन्फ़िगरेशन सेटिंग्स के लिए थोड़ा दिनांकित होने के लिए एक अलग संवाद का उपयोग मिलता है। मैं टैब्ड लेआउट पसंद करता हूं, जो शीर्ष पर एक टैब बार के साथ सजाए गए कार्ड लेआउट हैं।

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

अंत में, यह वास्तव में आपके उपयोगकर्ताओं को पसंद करने के बारे में है, लेकिन याद रखें कि उनमें से बहुत से लोग उन्हें क्या पसंद कर सकते हैं, भले ही बेहतर समाधान न हो। आपको संतुलन मिलना होगा, और यदि आपके कार्यान्वयन चट्टानों को, तो अंततः वे अपने अन्य अनुप्रयोगों में उपयोग की जाने वाली समस्या के दृष्टिकोण के लिए चाहते हैं।

एकाधिक खिड़कियों के विपरीत, इसका एक आदर्श उदाहरण टैब्ड ब्राउजिंग है। निजी तौर पर, मैं कल्पना नहीं कर सकता कि अब एकाधिक विंडो ब्राउज़िंग पर जा रहा हूं कि मैं टैब ब्राउज़ करने के आदी हो गया हूं, लेकिन एक समय में, कई खिड़कियां शहर में एकमात्र गेम थीं।

अंत में, यदि आपको पता चलता है कि आपने गलत विकल्प चुना है, तो कोड को आसानी से कार्यान्वित करने के लिए पर्याप्त कोड रखें। जब तक आपकी कॉन्फ़िगरेशन स्क्रीन केवल एक सादा जेपीनेल (या केवल एक जेपीनल में लिपटे) है, तो इसे करना बहुत मुश्किल नहीं होना चाहिए।

+1

मैं इस बात से सहमत नहीं हूं कि 'कार्डलाउट' इसके लिए सबसे अच्छा विकल्प है, मैं व्यक्तिगत रूप से एक मॉडल 'जेडियलॉग' या 'जॉप्शनपेन' में विकल्प सेटिंग्स देखना पसंद करता हूं। ओटीओएच आपके बाकी उत्तर पते बताते हैं कि 'प्रकार अलग-अलग हैं/चीजें समय के साथ बदलती हैं'। महान अवलोकन और स्पष्टीकरण। –

+0

मुझे कार्डलेआउट का मूल विचार पसंद है। बहुत साफ और साफ लगता है। मैं देखता हूं कि अधिकांश प्रोग्रामों में एक सेटिंग विंडो के संबंध में एक मोडल जेडियलॉग होता है। मैं दोनों का उपयोग करने की कोशिश करूंगा और देखें कि किस तरह से क्लीनर दिखता है। –

1

यहाँ एक वर्ग उस चीज़ का सिर्फ इस तरह करता है।

0

आप विशेष रूप से है कि इंटरफ़ेस का 'handlePreferences' विधि में, ApplicationListener इंटरफ़ेस को देखने के लिए है:

संबंधित मुद्दे