0

我在将面板中的图形旋转 90 度时遇到 AWT 问题。我可以通过转换为 Graphics2D 并应用变换来旋转面板中的图形。这样做的问题是,如果面板区域是矩形的,那么部分图形就会被隐藏。我似乎无法为整个区域设置剪辑范围。例如,如果窗口又短又宽,则剪辑区域变得又窄又高。如果窗口又窄又高,则剪辑区域变得又短又宽。我不知道如何覆盖这种行为。

有没有更好的方法或解决问题的方法?

编辑已解决:-事实证明,getWidth() 和 getHeight() 的覆盖行为是一个坏主意,哈哈

4

1 回答 1

2

如此处所示,覆盖getPreferredSize()封闭面板以返回Dimension可容纳所需视图的 a,例如Math.max(width, length). 如图所示

  • 将图像转换为原点。

  • 旋转图像。

  • 将图像转换回面板的中心。

于 2013-09-19T15:59:12.057 回答