Java 围绕中心点旋转jpanel中的几个按钮的最佳方式是什么?

Java 围绕中心点旋转jpanel中的几个按钮的最佳方式是什么?,java,awt,java-2d,Java,Awt,Java 2d,我正在做一个项目,在这个项目中,我有一张带有特定兴趣点的背景图片。这些特定点中的每一个都将有一个自定义按钮类覆盖在其上,这样当我单击该点时,我实际上是在单击该按钮。但是,我希望能够旋转背景图像,并使按钮与图像一起旋转,以便自定义按钮仍然覆盖在特定点上。关于我应该如何做这件事,有什么建议吗?你真的想要旋转4个不同的图像并在正方形上移动它们,但始终保持它们直立吗?还是旋转单个图像,以便单击一个按钮后,单个图像位于其侧面?如果是前者,则可以通过使用使用BorderLayout的容器(JPanel),并

我正在做一个项目,在这个项目中,我有一张带有特定兴趣点的背景图片。这些特定点中的每一个都将有一个自定义按钮类覆盖在其上,这样当我单击该点时,我实际上是在单击该按钮。但是,我希望能够旋转背景图像,并使按钮与图像一起旋转,以便自定义按钮仍然覆盖在特定点上。关于我应该如何做这件事,有什么建议吗?

你真的想要旋转4个不同的图像并在正方形上移动它们,但始终保持它们直立吗?还是旋转单个图像,以便单击一个按钮后,单个图像位于其侧面?如果是前者,则可以通过使用使用BorderLayout的容器(JPanel),并在容器JPanel中的BorderLayout.EAST、BorderLayout.WEST、BorderLayout.NORTH和BorderLayout.SOUTH的四个罗盘点处放置四个带有背景图像和JButton的JPanel来轻松实现(尽管Java大师希望您使用较新的常量,即BorderLayout.PAGE_START)。然后,当按下按钮时,移除组件并按旋转顺序重新添加


如果你想做后者,那么事情就变得有点棘手了,因为你可能需要使用仿射变换、旋转实例来旋转容器,并且你需要在鼠标按下/点击/释放时执行相同的转换,以便旋转的按钮得到正确的点击。如果容器不是正方形,则事情会变得复杂更麻烦的是。

对不起,我应该提供更多细节。我希望能够以度为单位旋转图像(使用滑块)我正在做的是制作一个简单的地图程序,其中我有一个静态的背景图像,然后我将把按钮(小圆圈)放在感兴趣的区域上。当我旋转地图(图像)时,我希望按钮与地图上指定的区域保持一致。