JavaJFrameMouseListener

JavaJFrameMouseListener,java,swing,jframe,jlabel,mouselistener,Java,Swing,Jframe,Jlabel,Mouselistener,我有一个背景设置为小正方形的JFrame。正方形是图画。 正方形的数量取决于JFrame的大小,因此我使用ArrayList,并使用以下方法向JFrame添加JLabel: for(int i = 0; i < squares.size(); i++){ add(squares.get(i)); } 我的问题是:如何从ArrayList中获取元素,以便将其设置为等于source,如果它等于source,则执行某些操作 但是,这不起作用(它适用于正常的JLabel): 这种说法没有道

我有一个背景设置为小正方形的JFrame。正方形是图画。 正方形的数量取决于JFrame的大小,因此我使用ArrayList,并使用以下方法向JFrame添加JLabel:

for(int i = 0; i < squares.size(); i++){
   add(squares.get(i));
}
我的问题是:如何从ArrayList中获取元素,以便将其设置为等于source,如果它等于source,则执行某些操作

但是,这不起作用(它适用于正常的JLabel):

这种说法没有道理。JLabel是JLabel。只要将标签添加到框架中,它就应该可以工作。您也创建了ArrayList这一事实并不影响标签在框架上的工作方式

Object source = e.getSource();
您已经拥有源代码,因此只需将其强制转换为JLabel:

JLabel enteredLabel = (JLabel).getSource();
enteredLabel.doSomething(...)
但是,这不起作用(它适用于正常的JLabel):

这种说法没有道理。JLabel是JLabel。只要将标签添加到框架中,它就应该可以工作。您也创建了ArrayList这一事实并不影响标签在框架上的工作方式

Object source = e.getSource();
您已经拥有源代码,因此只需将其强制转换为JLabel:

JLabel enteredLabel = (JLabel).getSource();
enteredLabel.doSomething(...)
但是,这不起作用(它适用于正常的JLabel):

这种说法没有道理。JLabel是JLabel。只要将标签添加到框架中,它就应该可以工作。您也创建了ArrayList这一事实并不影响标签在框架上的工作方式

Object source = e.getSource();
您已经拥有源代码,因此只需将其强制转换为JLabel:

JLabel enteredLabel = (JLabel).getSource();
enteredLabel.doSomething(...)
但是,这不起作用(它适用于正常的JLabel):

这种说法没有道理。JLabel是JLabel。只要将标签添加到框架中,它就应该可以工作。您也创建了ArrayList这一事实并不影响标签在框架上的工作方式

Object source = e.getSource();
您已经拥有源代码,因此只需将其强制转换为JLabel:

JLabel enteredLabel = (JLabel).getSource();
enteredLabel.doSomething(...)

你能试着将它投射到JLabel对象中并在你的方块列表中找到它吗?像
if(squares.contains((JLabel)e.getSource)){System.out.println(“AAA”);}
您可以尝试将其强制转换到JLabel对象中,并在您的squares列表中找到它吗?像
if(squares.contains((JLabel)e.getSource)){System.out.println(“AAA”);}
您可以尝试将其强制转换到JLabel对象中,并在您的squares列表中找到它吗?像
if(squares.contains((JLabel)e.getSource)){System.out.println(“AAA”);}
您可以尝试将其强制转换到JLabel对象中,并在您的squares列表中找到它吗?比如
if(squares.contains((JLabel)e.getSource)){System.out.println(“AAA”);}
谢谢您的帮助。我觉得自己像个忘了做的白痴。把MouseListener加到我的桌子上,谢谢你的帮助。我觉得自己像个忘了做的白痴。把MouseListener加到我的桌子上,谢谢你的帮助。我觉得自己像个忘了做的白痴。把MouseListener加到我的桌子上,谢谢你的帮助。我觉得自己像个忘了做的白痴。把MouseListener加到我的桌子上,哈哈