我想将一个参数传递给我的鼠标事件中的/。
public class Button extends JButton{
public int fileID=6;
public int getButtonID(){
return fileID;
}
}
[View.java]
Button1.addMouseListener(controller);
[Controller.java]
public void mousePressed(MouseEvent e) {
System.out.println(e.getButtonID()); //not working
System.out.println(e.getSource().getButtonID()); //not working
基本上,我需要的是对点击按钮的某种引用,这样我就可以得到它的fileID。这可能吗?每个按钮代表一个文件,我想让用户删除它。请告诉我是否有更好的方法来获取用户点击的信息。
由于
答案 0 :(得分:1)
如果您确定Controller
只会添加到Button
,那么为什么不将e.getSource()
投放到Button
?
((Button) e.getSource()).getButtonID()
但是,您也可以在Button
的构造函数中使用Controller
并使用它(您不能以ClassCastException
的方式获取Button
,因为它必须是{ {1}}。)