5

BorderLayout の CENTER 部分が JPanel をラップする JScrollPane によって占められている JFrame を使用しています。私が見つけたのは、JPanel を実際に表示させるアクションを開始しても、表示が変わらないということです。しかし、JFrame のサイズを変更すると、新しい JScrollPane が魔法のように表示されます。

JFrame のサイズを変更すると、どのメソッドが呼び出されるのでしょうか。わかっていれば、コードで呼び出して、操作の結果を確認するためだけにフレームのサイズを変更する必要がなくなります。

4

1 に答える 1

4

私がスイングを行ってから少し時間が経ちましたが、メモリから、パネルで validate() を呼び出すとうまくいくはずです。これにより、スクロールバーの決定が行われるときに、それとその子のレイアウトが計算されます。それでもうまくいかない場合は、フレームのコンテンツ ペインで validate を呼び出してみてください。これは少しコストがかかりますが、他のコンポーネントを検討している場合に必要になる場合があります。

于 2008-10-25T21:52:20.287 に答える