] जब आपने इस उद्देश्य के लिए एक कीइलिस्टेनर का उपयोग करने का प्रयास किया है, तो एक अधिक प्रभावी दृष्टिकोण है।
एक दस्तावेज़फ़िल्टर को लागू करना, जैसा कि एक कीइलिस्टेनर पर भरोसा करने का विरोध किया गया है, कई फायदे प्रदान करता है:
आयात javax.swing.text.plaindocument; आयात javax.swing.text.documentfilter; आयात javax.swing.text.attributeset; आयात javax.swing.text.badlocationException; क्लास intdocumentfilter ने प्लेनडॉकेमेंट का विस्तार किया { @Override पब्लिक शून्य इन्सर्टस्ट्रिंग (फ़िल्टरबिपस एफबी, इंट ऑफसेट, स्ट्रिंग स्ट्रिंग, एट्रिब्यूटेट एटीआरटी) BadlocationException { if (string == null || string.isempty ()) { Super.InsertString (FB, ऑफसेट, स्ट्रिंग, ATTR); } अन्य { कोशिश { Integer.parseint (स्ट्रिंग); Super.InsertString (FB, ऑफसेट, स्ट्रिंग, ATTR); } कैच (नंबरफॉर्मेट एक्ससेप्शन ई) { // उपयोगकर्ता को चेतावनी दें और डालने की अनुमति न दें } } } @Override सार्वजनिक शून्य प्रतिस्थापन (फ़िल्टरबिपस एफबी, इंट ऑफसेट, इंट लंबाई, स्ट्रिंग टेक्स्ट, एट्रिब्यूटेट एटीआरटीएस) बैडलोकेशन एक्ससेप्शन { if (text == null || text.isempty ()) { Super.Replace (FB, ऑफसेट, लंबाई, पाठ, Attrs); } अन्य { कोशिश { Integer.parseint (पाठ); Super.Replace (FB, ऑफसेट, लंबाई, पाठ, Attrs); } कैच (नंबरफॉर्मेट एक्ससेप्शन ई) { // उपयोगकर्ता को चेतावनी दें और डालने की अनुमति न दें } } } }
इस फ़िल्टर का उपयोग करने के लिए, इसे इंस्टेंट करें और इसे JTextField के साथ जुड़े प्लेनडॉकेमेंट ऑब्जेक्ट पर सेट करें:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3