उत्पन्न यह जो oject एक DocumentEvent उत्पन्न की खोज के लिए संभव है लगता है? कुछ की तरह मैं ActionListener के साथ क्या कर सकते हैं:कैसे स्रोत घटक है कि एक DocumentEvent
JTextField field = new JTextField("");
field.addActionListener(actionListener);
//inside ActionListener
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() instanceof JTextField) //true
}
मैं DocumentEvent साथ भी ऐसा ही चाहते हैं, लेकिन एक ही तरीके से काम करने के लिए नहीं लगता है:
JTextField field = new JTextField("");
field.getDocument.addDocumentListener(documentListener);
//inside documentListener
public void insertUpdate(DocumentEvent){
if (arg0.getSource() instanceof JTextField) //false: class is javax.swing.text.PlainDocument
if (arg0.getSource() instanceof MyComponent){
MyComponent comp = (MyComponent)arg0.getSource();
comp.callSpecificMethodUponMyComp();
}
}
answser निम्नलिखित बातों को ध्यान में रखना चाहिए:
- घटना के उत्पन्न होने वाले ऑब्जेक्ट प्रकार को जानने के मेरे उद्देश्यों के लिए पर्याप्त नहीं है, लेकिन मुझे रनटाइम पर इसके संदर्भ की आवश्यकता है।
- आमतौर पर घटनाओं स्विंग वस्तु (myComp सार्वजनिक JTextField) के विस्तार से उत्पन्न होते हैं। इन वस्तुओं में अतिरिक्त जानकारी है कि श्रोता विधि (ते। InsertUpdate)
- DocumentListener एक वर्ग है कि क्षेत्रों है कि घटनाओं उत्पन्न होने की जानकारी नहीं से कार्यान्वित किया जाता है के अंदर क्रम को पुनः देखा जाना चाहिए की दुकान। विभिन्न प्रकार के विभिन्न क्षेत्रों रनटाइम पर श्रोता के लिए attacched जा सकता है।
आपके उत्तर के लिए धन्यवाद। काफी उपयोगी लेकिन यह मेरे डिजाइन के लिए पर्याप्त नहीं है। मैंने अपने प्रश्नों को बेहतर तरीके से समझाने की कोशिश की जो मेरी ज़रूरतें हैं – Heisenbug
इस उत्तर का पहला संस्करण, जो 'मालिक' संपत्ति सेट करता है, सवाल के साथ पूरी तरह फिट होना प्रतीत होता है (कूल टिप बीटीडब्ल्यू, मुझे इसके बारे में पता नहीं था!)। क्या आप अधिक विशेष रूप से समझा सकते हैं कि यह आपकी आवश्यकताओं को पूरा क्यों नहीं करता है? –
@Jesse Barnum: मुझे लगता है कि आप सही कर रहे हैं। असल में मैंने कुत्ते के पहले जवाब को गलत समझा है जो सही था। असल में यदि मैं माइक्रॉम्पोनेंट प्रकार का प्रत्यक्ष संदर्भ चाहता हूं तो मैं फ़ील्ड.पुटप्रॉपर्टी ("मायकंपोनेंट", anInstanceOfMyComponent) जैसे कुछ कर सकता हूं, है ना? (मैं अब थोड़ा बेवकूफ महसूस कर रहा हूं :(, शायद इन दिनों कोड की लाइनों ने मुझे भ्रमित कर दिया) – Heisenbug