Java通过MouseEvent访问点击JButton的公共(public)方法

标签 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

基本上,我需要的是对单击的按钮的某种引用,以便我可以获得其文件 ID。这可能吗?每个按钮代表一个文件,我想让用户可以删除它。请告诉我是否有更好的方法来获取用户点击的信息。

谢谢

最佳答案

如果您可以确定您的 Controller 只会添加到 Button 中,那么为什么不将 e.getSource() 转换为按钮

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

但是,您也可以在 Controller 的构造函数中获取 Button 并使用它(这样您无法获得 ClassCastException因为它必须是一个 Button。)

关于Java通过MouseEvent访问点击JButton的公共(public)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41660218/

相关文章:

java - 在表中插入记录时MySql中查询空异常

java - ArrayList操作

java - exif信息是如何编码的?

java - liferay 7.1 b3 在片段中嵌入 portlet

java - maven - 如果需要,在哪里存储外部 jar 文件

java - 需要合适的安卓模式

Java编程: Integer value to Hexadecimal

java - 客户端套接字未连接到服务器套接字

java - 如何为复杂情况自定义 JAXBContext Unmarshaller

java - 注销后无法清除访问 token