0

パネル内のグラフィックを 90 度回転させる際に AWT で問題が発生しています。Graphics2D にキャストして変換を適用することで、パネル内のグラフィックを回転できます。これの問題は、パネル領域が長方形の場合、グラフィックの一部が隠れてしまうことです。領域全体にクリップ境界を設定できないようです。たとえば、ウィンドウが短くて広い場合、クリップ領域は狭くて高くなります。ウィンドウが狭くて高い場合、クリップ領域は短く広くなります。この動作をオーバーライドする方法がわかりません。

これを行うためのより良い方法、または問題を回避する方法はありますか?

解決済み編集:- getWidth() と getHeight() の動作をオーバーライドすることは悪い考えであることがわかりました笑

4

1 に答える 1

2

ここに示すようgetPreferredSize()に、囲んでいるパネルをオーバーライドしてDimension、目的のビューに対応できるを返しますMath.max(width, length)ここに示すように、

  • 画像を原点に変換します。

  • 画像を回転します。

  • 画像をパネルの中央に戻します。

于 2013-09-19T15:59:12.057 に答える