2010-03-26 28 views
1

我正在旋转加载的图像。我将图形设置在JPanel上,然后使用标准的AffineTransform来旋转它,例如45度。 不幸的是,如果图像超出了面板区域,图像正在被切割。 我该如何强制JPanel向自己添加滚动条(加载图像文件时,我想通过添加滚动条来调整JPanel的大小,而不调整JFrame的大小)。如何在JPanel中正确旋转图像(Java)

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

非常感谢您的回复!

+0

http://www.cs.cf.ac.uk/Dave/HCI/HCI_Handout_CALLER/node63.html – Enrique 2010-03-26 20:08:06

+0

如果您想要“动态调整”框架的大小,那么这里有一个很好的几何问题。 – Roman 2010-03-26 20:10:23

回答

1

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

0

嗯,我建议你不要在面板的paintComponent()方法中旋转图像,因为这会导致面板的首选大小发生变化,并且你不应该在paintComponent中设置首选大小() 方法。

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

现在关于旋转图像的首选尺寸检查了这个example