我想设置一个圆圈网格(不重叠),这样当鼠标指针悬停在其中一个圆圈上时,该圆圈就会改变颜色。我已经进行了实验,到目前为止有两种选择:
使用容器,例如JPanel的。使用MouseMotionListener.mouseMoved(MouseEvent e)始终获取鼠标指针的x和y坐标。然后,如果坐标位于其中一个圆圈内,请使用repaint()重新绘制整个容器。
将每个圆圈设置为容器。使用MouseListener.mouseEntered(MouseEvent e)检测鼠标指针何时在圆上移动。然后仅重绘该容器。
#2是最好的方法吗?如果是这样,我该如何设置圆形容器?有没有比上述任何一种更好的方法?
答案 0 :(得分:2)
如果是这样,我该如何设置圆形容器?
您可以使用ShapeComponent
创建一个与组件一样的圆圈。因此,您可以像使用任何其他Swing组件一样构建网格。