GUI में उपयोग के लिए जावा में एक साधारण तालिका कैसे बनाएं

तालिका डेटा संग्रहीत करने के लिए एरे का उपयोग करना

के लिए डेटा प्रदान करने के लिए एक सरल तरीका है

कक्षा में दो सरणियों का उपयोग करना है। पहले कॉलम नामों को रखता है a

सरणी:

दूसरी सरणी एक दो-आयामी ऑब्जेक्ट सरणी है जो तालिका के लिए डेटा रखती है। उदाहरण के लिए, इस ओलंपिक में छह ओलंपिक तैराक शामिल हैं:

यहाँ यह सुनिश्चित करना है कि दो सरणियों में समान स्तंभ हैं।

JTable का निर्माण

एक बार आपके पास डेटा होने के बाद, टेबल बनाना एक सरल कार्य है। बस फोन करो

JTable
निर्माता और इसे दो सरणियों को पास करें: आप शायद यह सुनिश्चित करने के लिए स्क्रॉल पट्टियाँ जोड़ना चाहेंगे कि उपयोगकर्ता सभी डेटा देख सकता है। ऐसा करने के लिए, जगह है।
JTable
में
jScrollPane
: अब जब तालिका प्रदर्शित होती है, तो आपको डेटा के कॉलम और पंक्तियाँ दिखाई देंगी और ऊपर और नीचे स्क्रॉल करने की क्षमता होगी।

JTable ऑब्जेक्ट एक इंटरेक्टिव टेबल प्रदान करता है। यदि आप किसी भी सेल पर डबल-क्लिक करते हैं, तो आप सामग्री को संपादित करने में सक्षम होंगे - हालाँकि कोई भी संपादन केवल जीयूआई को प्रभावित करता है, न कि अंतर्निहित डेटा को। (एक इवेंट श्रोता डेटा के परिवर्तन को संभालने के लिए इसे लागू करने की आवश्यकता होगी।)

instagram viewer

कॉलम की चौड़ाई बदलने के लिए, माउस को एक कॉलम हेडर के किनारे पर घुमाएं और इसे आगे और पीछे खींचें। स्तंभों के क्रम को बदलने के लिए, एक कॉलम हेडर को क्लिक करें और दबाए रखें, फिर उसे नई स्थिति पर खींचें।

स्तंभों को क्रमबद्ध करना

पंक्तियों को सॉर्ट करने की क्षमता जोड़ने के लिए, कॉल करें

setAutoCreateRowSorter
विधि: जब यह विधि सही पर सेट हो जाती है, तो आप उस कॉलम के तहत कोशिकाओं की सामग्री के अनुसार पंक्तियों को क्रमबद्ध करने के लिए एक कॉलम हेडर पर क्लिक कर सकते हैं।

तालिका का प्रकटन बदलना

ग्रिड लाइनों की दृश्यता को नियंत्रित करने के लिए, का उपयोग करें

setShowGrid
विधि: तालिका का रंग पूरी तरह से बदलने के लिए, का उपयोग करें।
बैकग्राउंड सेट
तथा
setGridColor
विधियाँ: तालिका की स्तंभ चौड़ाई डिफ़ॉल्ट रूप से बराबर होती है। यदि कंटेनर जिस टेबल में है वह फिर से आकार में है, तो कॉलम की चौड़ाई का विस्तार और सिकुड़ जाएगा और कंटेनर बड़ा या छोटा हो जाता है। यदि कोई उपयोगकर्ता कॉलम का आकार बदलता है, तो दाईं ओर कॉलम की चौड़ाई नए कॉलम के आकार को समायोजित करने के लिए बदल जाएगी।

प्रारंभिक स्तंभ चौड़ाई सेटप्रेफ्रेडविद विधि या एक स्तंभ का उपयोग करके सेट की जा सकती है। पहले स्तंभ के लिए एक संदर्भ प्राप्त करने के लिए TableColumn वर्ग का उपयोग करें, और उसके बाद सेटप्रेफ्रेडवर्ड विधि को सेट करने के लिए:

पंक्तियों का चयन

डिफ़ॉल्ट रूप से, उपयोगकर्ता तीन में से एक तरीके से तालिका की पंक्तियों का चयन कर सकता है:

  • किसी एक पंक्ति का चयन करने के लिए, उस पंक्ति में एक तालिका सेल चुनें।
  • निरंतर, एकाधिक पंक्तियों का चयन करने के लिए, माउस को कई पंक्तियों पर खींचें या शिफ्ट सेल प्रेस के साथ तालिका कोशिकाओं का चयन करें।
  • गैर-निरंतर, कई पंक्तियों का चयन करने के लिए, नीचे रखते हुए तालिका कोशिकाओं का चयन करें नियंत्रण कुंजी (कमांड की Macs के लिए)।

तालिका मॉडल का उपयोग करना

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

- द

स्तंभ शामिल हैं

और यह

स्तंभ शामिल हैं

. फिर भी इन दोनों स्तंभों को स्ट्रिंग्स के रूप में प्रदर्शित किया जाता है। इस व्यवहार को बदलने के लिए, एक तालिका मॉडल बनाएं।

एक तालिका मॉडल तालिका में प्रदर्शित किए जाने वाले डेटा का प्रबंधन करता है। एक टेबल मॉडल को लागू करने के लिए, आप एक वर्ग बना सकते हैं जो विस्तार करता है

वर्ग:

उपरोक्त छह विधियाँ इस चरण-दर-चरण मार्गदर्शिका में उपयोग की जाती हैं, लेकिन इसके द्वारा परिभाषित अधिक विधियाँ हैं

वह वर्ग जो डेटा में हेरफेर करने में उपयोगी है

वस्तु। जब का उपयोग करने के लिए एक वर्ग का विस्तार

आप केवल लागू करने के लिए आवश्यक हैं

,

तथा

तरीकों।

ऊपर दिखाए गए उन पाँच तरीकों को लागू करने वाला एक नया वर्ग बनाएँ:

यह इस उदाहरण के लिए समझ में आता है

तालिका डेटा वाले दो तारों को रखने के लिए कक्षा। फिर

,

तथा

तालिका के लिए मान प्रदान करने के लिए तरीके सरणियों का उपयोग कर सकते हैं। यह भी, कैसे नोटिस

संपादित किए जाने वाले पहले दो स्तंभों को अस्वीकार करने के लिए विधि लिखी गई है।

अब, बनाने के लिए दो सरणियों का उपयोग करने के बजाय

ऑब्जेक्ट, हम उपयोग कर सकते हैं

वर्ग:

जब कोड चलता है, तो आप देखेंगे कि

ऑब्जेक्ट तालिका मॉडल का उपयोग कर रहा है क्योंकि तालिका कोशिकाओं में से कोई भी संपादन योग्य नहीं है, और स्तंभ नामों का सही उपयोग किया जा रहा है। अगर द

विधि लागू नहीं की गई थी, तब तालिका के कॉलम नाम A, B, C, D, आदि के डिफ़ॉल्ट नामों के रूप में प्रदर्शित होंगे।

आइए अब विधि पर विचार करें

. यह अकेले तालिका मॉडल को कार्यान्वयन के लायक बनाता है क्योंकि यह प्रदान करता है

प्रत्येक स्तंभ के भीतर निहित डेटा प्रकार के साथ ऑब्जेक्ट। यदि आपको याद है, ऑब्जेक्ट डेटा ऐरे में दो कॉलम हैं जो नहीं हैं

डेटा प्रकार:

स्तंभ जिसमें इन्ट्स हैं, और

स्तंभ जिसमें सम्‍मिलित है

. इन डेटा प्रकारों को जानने से प्रदान की गई कार्यक्षमता बदल जाती है

उन स्तंभों के लिए वस्तु। कार्यान्वित तालिका मॉडल के साथ नमूना तालिका कोड चलाने का मतलब है

कॉलम वास्तव में चेकबॉक्स की एक श्रृंखला होगी।

एक ComboBox संपादक जोड़ना

आप तालिका में कक्षों के लिए कस्टम संपादकों को परिभाषित कर सकते हैं। उदाहरण के लिए, आप एक कॉम्बो बॉक्स को एक क्षेत्र के लिए मानक पाठ संपादन का विकल्प बना सकते हैं।

यहाँ एक उदाहरण का उपयोग कर रहा है

देश क्षेत्र:

देश कॉलम के लिए डिफ़ॉल्ट संपादक सेट करने के लिए, का उपयोग करें

देश कॉलम, और

विधि सेट करने के लिए

सेल संपादक के रूप में:

instagram story viewer