private ImagePanel[] panel = new ImagePanel[20];
private int i=0;
for(;i<panel.length;i++){
panel[i].addMouseListener(new MouseListener() {
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(PkView.this, i+"号位置", "单体信息", JOptionPane.DEFAULT_OPTION);
}
});
}
这样输出的位置始终是最后一个,我只能把20个数组元素都单独绑定了吗?跪求解决!javaswing循环数组监听
private int i=0;
for(;i<panel.length;i++){
panel[i].addMouseListener(new MouseListener() {
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(PkView.this, i+"号位置", "单体信息", JOptionPane.DEFAULT_OPTION);
}
});
}
这样输出的位置始终是最后一个,我只能把20个数组元素都单独绑定了吗?跪求解决!javaswing循环数组监听
解决方案 »
- 带进度条的输入流无法显示进度条
- 使用HttpURLConnection 连接webService时,得到的内容中“<”变成了“<”中文变成误
- 有没有这样的方法或者类?
- int i=-1;我怎么能看到这个-1在内存中存储的形式(0和1组成的形式)
- 在Jbuilder8中遇到的三个问题
- 调用url.openConnection().getInputStream()下载文件时报java.io.IOException
- 小问题:java中哪个函数是将int转化成String的函数?
- 一个小问题,不懂
- 需要装什么东西????
- applet的客户机文件操作???...(别误会,不是歹意)
- 求org.apache包
- SSH与DWR结合问题
当然任何panel在触发MouseListener时,其中JOptionPane.showMessageDialog(PkView.this, i+"号位置", "单体信息", JOptionPane.DEFAULT_OPTION);中的i还是获取的private int i。
所以产生了每次都是最后一个现象。解决办法应该将panel编号单独保存起来。
int id = i;
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(PkView.this, id+"号位置", "单体信息", JOptionPane.DEFAULT_OPTION);
}
});