2

したがって、ドキュメントを開くと、次のように表示されます。

ここに画像の説明を入力

これは、私のドキュメントの 2 ページ目の最初と最初の部分です (残りは空です)。緑色の四角形 (ボックス レイアウトによって管理される) 内のコンテンツを除いて、それらは 100% 同等です。

すべての可視要素 (マゼンタのもの、最初の JTextArea (他のものよりも大きい) は問題に関係ありません) の後、両方に Box.Filler が追加され、すべてのコンテンツがページの上部にプッシュされます。

そのため、ドキュメント アイテム 38. を開くと、他のすべてのアイテムと同じくらい高くなるはずですが、何らかの理由でそうではありません。

JScrollPane と、ドキュメントを開いた直後に両方のページを含むビューポートの両方で、再描画と検証を呼び出しませんでした。

また、ドキュメント内の任意の場所に別の要素を追加または削除すると、38 番が意味を成し、適切な高さにサイズ変更されます。ドキュメントの冒頭で行ったように、それが発生したときにサムの再描画と検証を呼び出しました。

同じサイズのフィラーで呼び出された chageShape() メソッドはうまくいきますが、それは汚い解決策のようです...

しかし、なぜすぐにそれをしないのですか?

編集: さらにテストを行った結果、フィラーがここでは悪い子であることがわかりました。しかし、最初のページのページが常に適切に更新される理由を理解するのは困難です (ページの要素が少なくても) が、2 つのページのコーディング方法に違いがないにもかかわらず、2 番目のページのページは更新を拒否します。 (同じオブジェクトの 2 つのインスタンス) であり、その再描画と検証は、両方より上位のコンテナーから呼び出されます。

4

0 に答える 0