Java访问由MouseEvent

时间:2017-01-15 10:42:41

标签: java

我想将一个参数传递给我的鼠标事件中的/。

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。这可能吗?每个按钮代表一个文件,我想让用户删除它。请告诉我是否有更好的方法来获取用户点击的信息。

由于

1 个答案:

答案 0 :(得分:1)

如果您确定Controller只会添加到Button,那么为什么不将e.getSource()投放到Button

((Button) e.getSource()).getButtonID()

但是,您也可以在Button的构造函数中使用Controller并使用它(您不能以ClassCastException的方式获取Button,因为它必须是{ {1}}。)