目前我正在使用 for 循环用 1-31 之间的数字填充 JPanel
所以基本上,我想做的是,如果我点击数字 1,它就会显示
System.out.println(1);
代码如下:
public class MonthPanel extends JPanel implements MouseListener {
public MonthPanel() {
setLayout(new GridLayout(6,7));
// Add headers
// Use for-each loop.
for (String header : headers) {
add(new JLabel(header));
}
for (int i = 1; i < 31; i++) {
add(new JLabel(String.valueOf(i)));
}
addMouseListener(this);
}
public void mouseClicked(MouseEvent e) {
// What should i do in here to get a specific JLabel?
}
}
}
这是图片
最佳答案
解决办法在这里
首先,您必须在标签中添加鼠标监听器,该标签应该在括号中包含鼠标适配器,因为您只想使用鼠标单击方法。
然后在其中添加 mouseClicked 方法。
然后在 mouseClicked 方法中添加代码。
示例:
JLabel l = new JLabel("label");
l.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
// Your Code Here
}
});
add(l);
关于java - 如何将 mouseListener 添加到匿名 JLabel 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30695415/