ホームページ >Java >&#&チュートリアル >JDialog のサイズ変更: SetMinimumSize が機能しないのはなぜですか?
含まれる JPanel の内容に基づいて JDialog のサイズを動的に調整したいと考えていますが、 setMinimumSize プロパティを設定した後も、ダイアログのサイズは指定された最大値を超えて変更されます。
最大サイズの設定は十分であるように見えますが、JDialog、BorderLayout、および MaximumSize の間の型破りな対話により機能が妨げられる可能性があります。 。代わりに、JList の setVisibleRowCount メソッドまたは getViewport().setPreferredSize(...) を使用して、優先サイズを設定するための関連情報を提供することを検討してください。
以下の例では、ダイアログJList を最大 N 行まで表示できるようにサイズを調整します。 「追加」ボタンをクリックすると、リストに行が追加され、ダイアログが最大サイズに達するまで拡張されます。その時点で、スクロールバーが表示されます。
<code class="java">public class ListDialog { // ... private void append() { model.addElement("String " + String.valueOf(++count)); list.ensureIndexIsVisible(count - 1); if (count <= N) { list.setVisibleRowCount(count); dlg.pack(); } } // ... }</code>
以上がJDialog のサイズ変更: SetMinimumSize が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。