2012-02-28 15 views
7

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

  • सक्रिय खिड़कियां (JFrame) और उनके आकार और पदों स्क्रीन पर
  • टेबल सेटिंग्स, सहित चयनित स्तंभ, स्तंभ क्रम, स्तंभ चौड़ाई, छंटाई, छानने

किसी को भी एक स्मार्ट और आसान तरीका स्पष्ट बिना यह पूरा करने के बारे में पता है, और क्या एक बहुत जटिल और बोझिल, Preferences एपीआई के साथ जानकारी के प्रत्येक भाग सभी खुले विंडो से अधिक पुनरावृत्ति और बचत के समाधान की तरह लगता है ? धन्यवाद

+1

हमेशा 'संपूर्ण जीयूआई क्रमबद्ध' होता है, लेकिन मुझे संदेह है कि 1) उन जीयूआई के गैर धारावाहिक भाग नहीं होंगे 2) कि यह सही काम करने में परेशानी होगी। –

+0

मेरा मानना ​​है कि आप दोनों संदेहों पर सही हैं। – hgus1294

+1

आप (बेहतर) स्विंग एप्लिकेशन फ्रेमवर्क का उपयोग करने पर विचार कर सकते हैं जो आवेदन की स्थिति को स्टोर करने में सहायता करता है - अन्य नस्लों के बीच - दर्द रहित ढंग से (हालांकि एक नए ढांचे पर स्विच करना बहुत आक्रामक हो सकता है :-) – kleopatra

उत्तर

7

इस मामले में, स्पष्ट समाधान, java.util.prefs.Preferences, शायद सही है। RCPrefs इस game से एक साधारण उदाहरण है जो enum सहित विभिन्न प्रकार के डेटा प्रकारों को सहेजता है। सटीक कार्यान्वयन आवेदन पर अत्यधिक निर्भर है। कष्टप्रद होने पर, इसे विशेष रूप से जटिल नहीं होना चाहिए। अस्थिरता के लिए, example स्थैतिक तरीकों का उपयोग करता है; फ्रेम और टेबल वरीयताएं शायद प्रत्येक वर्ग के लायक हैं।

+0

मैं एक काउंटर उदाहरण का स्वागत करता हूं। – trashgod

+0

धन्यवाद। उदाहरण उपयोगी था और मैंने सोचा कि वर्कस्पेस-वर्ग बनाने का विचार समझ में आया है। मैंने एक 'WsFrame' वर्ग बनाया है जिसमें सामान्य सेटिंग्स जैसे स्थिति और आकार शामिल हैं। इस ऑब्जेक्ट में 'WsTable' (तालिका सेटिंग्स के लिए) जैसी एक या एकाधिक विशिष्ट सेटिंग्स हो सकती हैं। मैंने इस जानकारी को 'प्राथमिकता' के माध्यम से संग्रहीत करने का विकल्प चुना और XStream के माध्यम से 'WsFrame' ऑब्जेक्ट्स की सूची को क्रमबद्ध करने और xml के रूप में स्टोर करने का निर्णय लिया (जैसा कि मैं आलसी हूं और आउटपुट को देखने/संपादित करने के लिए सुविधाजनक है)। वास्तव में बहुत अच्छा काम करता है। धन्यवाद। – hgus1294

+0

उत्कृष्ट। मैं खराब हो सकता हूं, क्योंकि मेरा प्लेटफॉर्म 'प्राथमिकताएं' लागू करने के लिए एक्सएमएल का उपयोग करता है। अगर आप इसे विपरीत जवाब के रूप में जोड़ते हैं तो मुझे पिंग करें; मेरे विचार से यह उपयोगी साबित होगा। – trashgod

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