ホームページ  >  記事  >  Java  >  JDialog のサイズ変更: SetMinimumSize が機能しないのはなぜですか?

JDialog のサイズ変更: SetMinimumSize が機能しないのはなぜですか?

DDD
DDDオリジナル
2024-10-23 22:40:02256ブラウズ

Resizing a JDialog: Why SetMaximumSize May Not Work?

JDialog の最大サイズの設定

問題

含まれる 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。