4

Swing では、子JComponentをその親の境界外にレンダリングできJComponentますか?それとも、子は常に親の境界にクリップされますか?

4

2 に答える 2

4

子が軽量コンポーネントである限り、親コンポーネントの境界に制限されます。ただし、大きすぎるとカットされ、スケーリングは行われません。

子が重量コンポーネントで、親が軽量コンポーネントである場合、子は親の境界の外にレンダリングされます。

これに関する非常に優れた記事があります: http://java.sun.com/developer/technicalArticles/GUI/mixing_components/index.html (誰に紹介してもらったか思い出せませんが、ありがとう!)

私が知らなかったもう1つの更新(リンク内):

JDK 6 Update 12 および JDK 7 build 19 リリースの時点で、同じコンテナー内で重量コンポーネントと軽量コンポーネントをシームレスに混合できるようになりました。

于 2011-05-22T21:28:30.053 に答える
1

実際には paint() メソッドで使用される Graphics インスタンスのクリップ境界をリセットできます。古いクリップを保存し、新しく設定し、親の境界外でペイントを行い、元のクリップを元に戻すだけです。

于 2011-05-23T07:17:57.853 に答える