0

我想问在java中创建这样一个函数的最佳方法是什么?我有我的 JPanel 和下面这张图片作为带有 Rectangle2D 对象(黑框)的 ImageIcon。

带有 Rectangle2D 的按钮

现在我只想检查我是否按下了其中一个框架并在 ActionListener 函数中使用此信息,例如:

public void ActionPerformed(ActionEvent e) {
    Object obj = e.getSource();
    if(obj == DownloadButton) {
        doSomething();
    }
}

那么,有没有更好甚至更快的方法来做这样的事情呢?或者我必须在下面做这样的功能:

public void checkCoordinaes(int x, int y) {
    if(button1.contains(x, y)) { 
        isDownloadButtonClicked = true; 
    }
}

并将其与 ActionListener 链接(如何?)?

4

1 回答 1

0

如果您需要将其实现为带有图像的单个 JPanel,则应创建一个 MouseListener 来侦听 MouseEvents。这些将为您提供鼠标单击的 xy 坐标,您可以将其传递给您的 checkCoordinates() 函数:

public void mouseClicked(MouseEvent e)
{
    checkCoordinates(e.getX(), e.getY());
}
于 2013-05-31T05:24:59.350 回答