java - 我可以使用 mouselistener/mouseadapter 访问 label[][] 中的所有标签吗?

标签 java swing label mouselistener

我有一个标签[][],其中的所有标签都有鼠标适配器,当任何鼠标监听器触发时我想到达所有标签。所有标签都有一个图标。如果我点击其中一个,所有标签都应该更改其图标。

我的代码示例:

for(int x = 1; x < 11; x++){
        for(int y = 1; y < 11; y++){
            label[x][y].setIcon(korok[randomGenerator.nextInt(6)]);
            label[x][y].addMouseListener(new LabelMouseListener(x, y));}}
        }
    }

public class LabelMouseListener extends MouseAdapter{
private final int x, y;

public LabelMouseListener() {
    this.x = x;
    this.y = y;
}
                @Override
                public void mouseClicked(MouseEvent e) {

                    int egyklik[] = new int[3];

                    if(egyklik[0] == 0){
                        egyklik[0] = 1; egyklik[1] = x; egyklik[2] = y;
                    }
                    else if(egyklik[0] == 1){
                        //JLabel l = (JLabel) e.getSource();
                        // it's wrong code, i would like something what will do this,
                        //if i do the Override in the other(JFrame) class, it can
                        //reach labels, but can't use x and y

                        //label[x][y].setIcon(label[egyklik[1]][egyklik[2]].getIcon());
                        //label[egyklik[1]][egyklik[2]].setIcon(label[x][y].getIcon());
                    }
                }

}

最佳答案

是的,您可以访问所有标签。

为什么你从index 1.开始请参阅您的 for 循环( int x = 1 and int y = 1 )。

我认为 x 和 y 以 index 0 开头.

x < 11; and y< 11;需要更改为x < 10;and y < 10;分别。

在你的 mouseClicked() 方法中这样做。

JLabel l = null;
if(e.getSource() instanceof JLabel){
     l = (JLabel) e.getSource();

}

关于java - 我可以使用 mouselistener/mouseadapter 访问 label[][] 中的所有标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20454617/

相关文章:

java - 手动下载的android obb文件,通过Play Store更新应用程序后删除

java - 在 Java 中处理时区转换时出现奇怪的结果

java - 如何使用外部类中的类的 Graphics 对象

android - 无法在设置中更改 Android 应用名称

label - gnuplot rowstacked 直方图 : how to put sum above bars

java - 这些选项中的每一个是什么意思?

java - 在 ArrayList 中插入具有不同值的对象

java - 无法关闭 Windows 并打开其他窗口

java - 如何实现图形到JScrollPane?

python - Tkinter 使文本随时间变化