【问题标题】:How to rotate an image properly in JPanel (Java)如何在 JPanel (Java) 中正确旋转图像
【发布时间】:2010-03-26 19:57:37
【问题描述】:

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

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

提前感谢您的回复!

【问题讨论】:

标签: java resize scroll jpanel


【解决方案1】:

请改用JScrollPane。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      好吧,我建议您不要在面板的paintComponent() 方法中旋转图像,因为这会导致面板的首选尺寸发生变化,并且您不应该在paintComponent( ) 方法。

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

      现在关于旋转图像的首选尺寸,请查看example。

      【讨论】:

        猜你喜欢
        • 2017-10-23
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 2018-04-19
        • 1970-01-01
        • 1970-01-01
        • 2020-12-31
        • 1970-01-01
        相关资源
        最近更新 更多