इसे कहीं स्टैक ओवरफ्लो में देखा। बस यह जानना चाहते हैं कि यह कैसे काम करता है ...

public void mouseClicked(MouseEvent e){

                int x = e.getX();
                int y = e.getY();
}

X और y निर्देशांक हैं और JLabel का उपयोग करके स्क्रीन पर दिखाए जा सकते हैं, लेकिन विधि का नाम माउसक्लिक किया गया है। जावा कैसे जानता है कि माउस पर क्लिक किया गया है?

(आशा है कि यह समझ में आता है)...

0
Transformer 21 जून 2020, 18:07
क्या आप कृपया पूरा कोड ब्लॉक प्रदान कर सकते हैं, सिंगल लाइन पर्याप्त संदर्भ प्रदान नहीं करती है। मुझे लगता है कि इसलिए आपको आशा है कि यह समझ में आता है!
 – 
Hossain Khan
21 जून 2020, 18:10
मैं असहमत हूं। यह एक कोड नमूना है जिसे ओपी ने कहीं पाया है, इसलिए उनके पास पूरा संदर्भ भी नहीं हो सकता है, और यहां तक ​​​​कि अगर उन्होंने किया, तो वे स्पष्ट रूप से अनजान हैं कि यह संभवतः एक ईवेंट हैंडलर है, इसलिए उन्हें नहीं पता होगा कि कहां देखना है। प्रासंगिक संदर्भ। (यदि वे यह जानते जानते हैं, तो संभवत: उन्हें पहले प्रश्न पूछने की आवश्यकता नहीं होगी)। प्रश्न मेरे लिए उचित लगता है, खासकर यदि ओपी ने बहुत पहले सामने के छोर के साथ काम नहीं किया है - यदि ऐसा है तो यह कोड नमूना शायद काफी अजीब दिखाई देगा।
 – 
EJoshuaS - Reinstate Monica
21 जून 2020, 18:43

2 जवाब

विधि mouseClicked java.awt.event.MouseListener इंटरफ़ेस से संभावना है (https://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseListener.html)

एक श्रोता एक प्रकार का कॉलबैक है जो पर्यवेक्षक पैटर्न का अनुसरण करता है, कुछ होता है, आपको सूचित किया जाता है।

आप श्रोता को उन मदों से जोड़ सकते हैं जो इसका समर्थन करते हैं। उदाहरण के लिए:

MouseListener listener = ... your listener;
JLabel label = new JLabel("This is a clickable lable");
label.addMouseListener(listener);

लेख पढ़ने के लिए अधिक जानकारी और संदर्भ प्राप्त करने के लिए निम्नलिखित उत्तर देखें।

4
Hossain Khan 21 जून 2020, 18:23

यह एक इवेंट हैंडलर है। इसे काम करने के लिए, इसे सामने के अंत में किसी चीज़ से "संलग्न" करना होगा (सबसे अधिक संभावना है कि एक बटन, लेकिन यह एक और UI तत्व भी हो सकता है)।

वास्तव में यह कैसे काम करता है इस पर निर्भर करता है कि किस यूआई ढांचे का उपयोग किया जा रहा है, लेकिन चूंकि यह जावा है, मुझे लगता है कि यह एडब्ल्यूटी की सबसे अधिक संभावना है। आप ट्यूटोरियल में अधिक विवरण पा सकते हैं, उदा। यहां

संयोग से, नाम कितना महत्वपूर्ण है यह इस बात पर निर्भर करता है कि यह किस UI फ्रेमवर्क से है। एंड्रॉइड, डब्ल्यूपीएफ, और एएसपी.नेट में, उदाहरण के लिए, ईवेंट हैंडलर का नाम सैद्धांतिक रूप से कुछ भी हो सकता है, यह ज्यादातर सम्मेलन (वास्तविक आवश्यकता नहीं) का मामला है जिसे आप इसे कहते हैं। (जाहिर है, आपको नाम के अनुरूप होना चाहिए, हालांकि)। जैसा कि टिप्पणियों में बताया गया है, हालांकि, एडब्ल्यूटी में यह नाम वास्तव में उस वर्ग के कारण महत्वपूर्ण है जिसमें यह एक इंटरफ़ेस लागू कर रहा है।

2
EJoshuaS - Reinstate Monica 21 जून 2020, 18:39
मुझे लगता है कि नाम महत्वपूर्ण है क्योंकि यह java.awt.event.MouseListener इंटरफ़ेस का हिस्सा है।
 – 
Brian McCutchon
21 जून 2020, 18:33
यह काफी संभव है - मैंने सच में उस ढांचे के साथ काम नहीं किया है, ज्यादातर सिर्फ डब्ल्यूपीएफ, एएसपी.नेट, और एंड्रॉइड। मैं संपादित करूँगा।
 – 
EJoshuaS - Reinstate Monica
21 जून 2020, 18:35
माउस को काम पर लाने के लिए मैंने इस import java.awt.event.MouseAdapter; का उपयोग किया। क्या माउस लिस्टनर इंटरफ़ेस माउस एडेप्टर में लागू किया गया है?
 – 
Transformer
21 जून 2020, 18:56