के लिए addMouseListener आज मुझे एक समस्या है .. मेरा प्रोग्राम 8x8 ग्रिड बनाता है और जब मैं JButton
पर क्लिक करता हूं तो समन्वय दिखाता हूं।एक जेननेल
लेकिन मैं JButton
का उपयोग करने के लिए मना कर दिया और मैं JPanel
के लिए जाने की जरूरत है .. लेकिन मेरे addMouseListener
काम नहीं कर रहा तो मैं नहीं जानता कि कैसे है कि मैं 4 के बाद से खोज कर रहा हूँ ठीक करने के लिए यह संभव है .....
package coordboutons;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CoordBoutons extends JFrame {
CoordBoutons() {
super("GridLayout");
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container contenant = getContentPane();
contenant.setLayout(new GridLayout(8, 8));
for (int i = 0; i < 8; i++)
for (int j = 0; j < 8; j++)
contenant.add(new CaseEchiquier(i, j));
pack();
setVisible(true);
}
**class CaseEchiquier extends JPanel** {
private int lin, col;
CaseEchiquier(int i, int j) {
lin = i;
col = j;
setPreferredSize(new Dimension(80, 75));
setBackground((i + j) % 2 == 0 ? Color.WHITE : Color.GRAY);
addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println((char)('a' + col) + "" + (8 - lin));
}
});
}
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
CoordBoutons coordBoutons = new CoordBoutons();
}
}
मैं यहाँ कुछ कमी रह गई हो, लेकिन 'ActionListener' एक' MouseListener' – MadProgrammer
तुम्हारा मतलब नहीं है ' addActionListener' काम नहीं कर रहा है। ऐसा इसलिए होगा क्योंकि आप इस प्रकार के श्रोता – Reimeus
के साथ 'जेपीनेल' को पंजीकृत नहीं कर सकते हैं, आप अपने पैनलों में एक मूसलिस्टर जोड़ने की कोशिश कर रहे हैं? लेकिन आपका कोड sais actionListener, जेपीनेल में कोई एक्शनलिस्टर विधि नहीं है। और मुझे लगता है कि 64 नएमाउसलिस्टर्स होने का बुरा विचार है, आपको केवल 64 पैनलों के लिए एक की आवश्यकता है। तो अपने केसइचिकियर (int i, int j, mouseListener m) –