2010-02-04 12 views
6

हाय Stackoverflow परिवारस्विंग में अच्छा जीयूआई डिजाइन बनाने के लिए

मैं एक जावा घुमाओ आवेदन को विकसित किया है लेकिन मैं अपने स्विंग फ्रेम के डिजाइन में सुधार करना चाहते हैं। मैं Google में इस मुद्दे की खोज करता हूं, लेकिन मुझे पर्याप्त समाधान नहीं मिल रहा है। कृपया इस मुद्दे के बारे में अपने अनुभव और राय साझा करें।

पेज। शायद यह सवाल आपके लिए अच्छा नहीं है लेकिन मेरे लिए यह महत्वपूर्ण है और मेरे जैसे अन्य

+0

इसे बेहतर समझाएं, कृपया। आप किस प्रभाव को प्राप्त करना चाहते हैं? – oneat

+3

आप विशिष्ट आवश्यकताओं क्या हैं, या आप क्या सुधारना चाहते हैं? प्रयोज्य? गति? देखो और महसूस? दूसरों? – OscarRyz

उत्तर

16

जाओ और यह पुस्तक खरीद:

http://filthyrichclients.org/images/book.png

विवरण पृष्ठ से:

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

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

शायद आपको अपने जीवन में अधिक गंदी रिच क्लाइंट चाहिए।

इसे पढ़ें और इसे यूआई प्राप्त करने तक समझें।

:)

5

जोएल स्पॉल्स्की का एक अच्छा लेख है: User Interface Design for Programmers। यह विशेष रूप से स्विंग को संबोधित नहीं करता है, लेकिन यह बताता है कि गैर-प्रोग्रामर दर्शकों के लिए सरल, कुशल UI कैसे डिज़ाइन करें।

1

ठीक है, मैं आपको अपना अनुभव दूंगा। मैं एसडब्ल्यूटी & सामान्य रूप से ग्रहण पसंद करता हूं, क्योंकि यह बहुत अधिक अच्छी तरह से एकीकृत करता है और विस्तार बिंदुओं और क्या नहीं के साथ इतना लचीला है, लेकिन कभी-कभी मैं ओवरकिल की सराहना करता हूं।

स्विंग का उपयोग करते समय, मैं लगभग हमेशा ग्रिडबैगआउट का उपयोग करता हूं जब तक कि फॉर्म बहुत आसान न हो। ऐसा इसलिए है क्योंकि अधिकांश जीआईआई जिन्हें मैं डिज़ाइन या अनुभव करता हूं उनमें बहुत सारे तत्व होते हैं जिन्हें फ्लो या टेबल-स्टाइल में जरूरी नहीं रखा जाता है - ग्रिडबैगआउटआउट में यूई को एक तरह से आकर्षित करने की क्षमता प्रदान करता है + यदि आवश्यक हो तो आकार बदलने की अनुमति दें, या आप कर सकते हैं ऐसा होने से रोकें।

विशिष्ट बातें मैं का इस्तेमाल करते हैं:

GridBagConsts.insets = new Insets(2,2,2,2); 

यह gridbaglayout में किसी भी सेल करने के लिए गद्दी कहते हैं, इसे और अधिक कुछ मैं एक साथ फेंक दिया की तुलना में एमएस द्वारा जीटीके/के लिए बनाया गया एक कार्यक्रम की तरह लग रही है।

try 
{ 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch(Exception e) 
{ 
    System.out.println("Error setting native LAF: " + e); 
} 

नज़र स्थापना और प्रणाली की है कि लग रहा है - मैं जो कुछ भी अंतर्निहित विषय (धातु) के एक प्रशंसक नहीं हूँ और प्रणाली के साथ एकीकृत करने और अधिक अनुकूल है।

यह कठिन और तेज़ नियमों के लिए है। स्विंग में

उसके अलावा, यह बहुत ज्यादा आवेदन विशेष और आप है सामान्य यूआई डिजाइन पर पढ़ने की आवश्यकता होगी। आम तौर पर, यह नियंत्रण और उपकरणों में निर्मित यानी सिस्टम की तरह दिखने में मदद करता है। उदाहरण के लिए, जावा क्लास लाइब्रेरी में फ़ाइल चयनकर्ता शामिल हैं: http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html जो सिस्टम एलएएफ पर सेट करते हैं, वे विंडोज या जीनोम (-िश) चुनने वाले जैसे दिखाई देते हैं। हर दूसरे एप्लिकेशन से परिचित होने के लिए कदम उठाने से, आपके आवेदन को उपयोग में आसान बना दिया जाएगा।

+0

GridBagLayout की बजाय - मैं MigLayout का उपयोग करता हूं। http://www.miglayout.com/ यह दोनों एसडब्ल्यूटी और स्विंग में काम करता है। – Nate

1

इसके अलावा JSR-296 पर एक नज़र डालें: जो, एक साथ एक आवेदन पत्र डाल कैसे संसाधन बंडलों को संभालने के लिए तरह के पहलुओं में से कुछ को औपचारिक रूप देने का प्रयास है, कैसे 'कार्य' की आग (पृष्ठभूमि और मोडल आदि)।

नेटबींस के वर्तमान (और कुछ पिछले संस्करण) में जेएसआर -296 ऐप्स बनाने के लिए एक विज़ार्ड है। ("डेस्कटॉप अनुप्रयोग")।

http://jcp.org/en/jsr/detail?id=296

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