Swing では、子JComponent
をその親の境界外にレンダリングできJComponent
ますか?それとも、子は常に親の境界にクリップされますか?
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 に答える