将 JPanel
中的图像与鼠标单击关联起来以执行某些操作的最佳方法是什么?我的意思是,API 中是否有任何函数可以做到这一点?如果没有,最好的解决方案是什么?
顺便说一句,对于您可能想知道为什么我在这件事上寻求帮助是因为我正在做一个数独游戏,并且我的代码已经随机生成了矩阵中的所有数字,请检查解决方案是正确的,唯一尚未完成的是界面(用户选择一个正方形以便在其中选择一个数字)。 谢谢。
最佳答案
“最好”的方法?使用JLabel
另一种方式,使用自定义的JPanel
,它负责渲染单个图像并通过面板的paintComponent
方法绘制它
一种“有趣”的方式,使用自定义的JPanel
来绘制所有图像,维护在某种List
中,其中每个图像都与一个矩形相关联
描述图像的位置和大小。单击面板时,循环遍历 Rectangle
List
并使用 Rectangle
的 contains
方法来确定是否鼠标事件发生在其中,使用矩形
的索引来循环图像(或使用某种Map
来维护两者之间的链接)
您要做什么取决于您想要做多少工作以及您打算实现什么功能。
仔细看看:
关于java - 将图像与鼠标单击关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27750202/