Java Swing:设置可点击背景图像的最佳方法

时间:2014-12-10 14:50:05

标签: java image swing button clickable

我尝试找到最佳方法,根据您点击的区域,使用不同的动作使图像可点击。现在,我的窗口显示了一个EFTPOS(在谷歌图片上找到的图像):

 getContentPane().add(new JPanelBackground("./img/background.png", "./img/eftposAboveBackground.png", this.getWidth(), this.getHeight()));

现在,我想点击每个EFTPOS的按钮。我想在按钮的位置创建一些透明按钮,但是:

  • 首先,我不想使用绝对层
  • 其次,自从我使用上面的代码后,Swing GUI设计编辑器(Netbeans)不显示我的背景图像。

我非常确定除了在背景上设置我的eftpos之外还有其他方法,可能使用ImageIcon类。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

  1. 您可以创建ArrayList Rectangles(或形状)来表示图像上每个按钮的区域。
  2. 您需要在图片中添加MouseListener
  3. 在mousePressed()事件中,您需要使用Rectangle.contains(鼠标点)方法遍历ArrayList中的所有Rectangle,以查看用户是否单击了一个Rectangle。
  4. 当您找到单击的矩形时,您将执行自定义代码。