2010-06-25 5 views
6

यदि मैं कोई एक्शन श्रोता जोड़ता हूं तो मैं हमेशा "इस" को ब्रैकेट के बीच उपयोग करता हूं। लेकिन यह "यह" क्या खड़ा है?जावा ".addActionListener (यह)"

उत्तर

6

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

पूरी तरह से समझने के लिए कि "इसका" क्या अर्थ है, आपको पहले कक्षाओं और वस्तुओं के बीच संबंधों को समझना होगा।

यदि आप इसके बारे में तकनीकी होना चाहते हैं, तो "यह" वर्तमान वस्तु का संदर्भ है।

0

यदि आप look at the tutorial तो आप देखेंगे ...

एक कार्रवाई श्रोता लिखने के लिए, चरण नीचे दिए गए का पालन करें:
एक ईवेंट हैंडलर वर्ग घोषित और निर्दिष्ट करें कि वर्ग या तो एक ActionListener इंटरफ़ेस लागू करता है या एक फैली कक्षा जो एक एक्शनलिस्टर इंटरफ़ेस लागू करती है।
उदाहरण के लिए:

public class MyClass implements ActionListener { 

एक या अधिक घटक पर एक श्रोता के रूप में ईवेंट हैंडलर वर्ग का एक उदाहरण रजिस्टर।
उदाहरण के लिए:

someComponent.addActionListener(instanceOfMyClass); 

कोड है कि श्रोता इंटरफ़ेस में तरीकों को लागू करता है को शामिल करें।
उदाहरण के लिए:

public void actionPerformed(ActionEvent e) { 
     ...//code that reacts to the action... 
    } 

यह एक कार्यान्वित और instantiated ActionListener है, जो अपनी कक्षा होता है प्रतिनिधित्व करता है। आप एक्शनलिस्टर इंटरफेस को लागू करने वाली किसी भी कक्षा को बहुत अच्छी तरह से पारित कर सकते हैं।

इस तरह जब एक बटन अपने actionPerformed विधि

2

बुलाया जाएगा दबाया जाता है "इस" वर्तमान वर्ग उदाहरण है कि आप अंदर हैं के लिए खड़ा है।

यह तब तक काम करेगा जब तक कि कक्षा एक्शनलिस्टर इंटरफ़ेस लागू करती है।

यदि आप चाहें तो आप एक पूरी तरह से अलग वस्तु का उपयोग कर सकते हैं, उदा।

button.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      System.out.println("Hello!!!"); 
     } 
    }); 

यह यदि आप कई अलग अलग कार्रवाई श्रोताओं करना चाहते हैं, लेकिन प्रत्येक के लिए अलग से कक्षाएं बनाने के लिए नहीं करना चाहते हैं उपयोगी है: एक गुमनाम आंतरिक वर्ग कि ActionListener इंटरफ़ेस लागू करता है निर्माण।

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