0

内部にJFrameたくさんの装飾されていないものがあります(など)。これを構築するコードは2500行の長さなので、ここには配置しません。または単純化したバージョンです。申し訳ありません。componentsJSplitPanesJPanels with GridBagLayouts, BoxLayouts, BorderLayoutsJFrame

横にドラッグするJFramerightリサイズbottomはOKなのですが、横にドラッグするleftと内側がガクガクしてとても見苦しくなります。topcomponentsJFrame

私の質問は:なぜそれが起こるのですか?どうすればそれを防ぐことができますか(できる場合)?誰かが自分の練習でそれを修正しますか?

UPD:私は独自のリサイズを作成しましたJFrame。コンポーネントの量が少ない他のウィンドウでは問題なく機能します。

4

1 に答える 1

4

フレームのサイズを変更すると、囲まれた が暗黙的に検証されContainerdoLayout()サイズが変更されるたびに、影響を受けるコンポーネントで が呼び出されます。paintComponent()この のサイズを変更するときに を繰り返し呼び出すと、同様の効果が見られますAnimationTest。ご覧のとおり、何千ものコンポーネントを使用すると、スケーリングが不十分になります。別の方法として、、、 などで行われているように、 flyweightパターンを利用して可視セルのみをレンダリングしますJTableJTreeJListCellRendererPane

于 2013-07-01T13:55:23.893 に答える