如何在JPanel(Java)中正确旋转图像

如何在JPanel(Java)中正确旋转图像,java,resize,scroll,jpanel,Java,Resize,Scroll,Jpanel,我正在旋转加载的图像。我在JPanel上设置图形,然后使用标准仿射变换将其旋转45度。 不幸的是,如果图像超出面板区域,则图像正在被剪切。 如何强制JPanel向自身添加滚动条(加载图像文件时,我希望通过添加滚动条来调整JPanel的大小,而不调整JFrame的大小) 或者,换句话说,如何正确旋转整个图像 提前感谢您的回复 改用一个。您需要将面板放在jscrollPane中,然后确保正确设置了首选大小,以便可以使用滚动条。好吧,我建议您不要在paintComponent()中旋转图像方法,因为这

我正在旋转加载的图像。我在JPanel上设置图形,然后使用标准仿射变换将其旋转45度。 不幸的是,如果图像超出面板区域,则图像正在被剪切。 如何强制JPanel向自身添加滚动条(加载图像文件时,我希望通过添加滚动条来调整JPanel的大小,而不调整JFrame的大小)

或者,换句话说,如何正确旋转整个图像


提前感谢您的回复

改用一个。

您需要将面板放在jscrollPane中,然后确保正确设置了首选大小,以便可以使用滚动条。

好吧,我建议您不要在paintComponent()中旋转图像方法,因为这将导致更改面板的首选大小,并且不应在paintComponent()方法中设置首选大小

相反,您可能应该有一个rotate(…)方法。此方法将创建所需旋转的BuffereImage。然后,paintComponent()方法只绘制缓冲图像。然后根据旋转设置首选大小


现在,关于旋转图像的首选大小,请查看此项。

如果您希望“动态”调整帧的大小,那么这里的几何体问题会是多么好的一个问题。