我尝试找到使图像可点击的最佳方法,具体取决于您单击的区域,具有不同的操作。现在,我的窗口显示一个EFTPOS(在谷歌图片上找到的图像):
getContentPane().add(new JPanelBackground("./img/background.png", "./img/eftposAboveBackground.png", this.getWidth(), this.getHeight()));
现在,我想点击每个EFTPOS的按钮。我正在考虑在按钮的位置创建一些透明按钮,但是:
- 首先,我不想使用绝对层
- 其次,Swing GUI 设计编辑器 (Netbeans) 不显示我的背景图像,因为我使用了上面的代码。
我很确定除了在背景上设置我的eftpos之外,还有另一种方法,也许使用ImageIcon类。
任何帮助将不胜感激!
- 您可以创建
Rectangles
(或形状)的ArrayList
来表示图像上每个按钮的区域。 - 您需要向映像添加
MouseListener
。 - 在 mousePressed() 事件中,您需要使用 Rectangle.contains(mouse point) 方法循环访问 ArrayList 中的所有矩形,以查看用户是否在矩形中单击。
- 找到单击的矩形后,将执行自定义代码。