Rumah  >  Artikel  >  Java  >  Mengubah saiz JDialog: Mengapa SetMaximumSize Mungkin Tidak Berfungsi?

Mengubah saiz JDialog: Mengapa SetMaximumSize Mungkin Tidak Berfungsi?

DDD
DDDasal
2024-10-23 22:40:02256semak imbas

Resizing a JDialog: Why SetMaximumSize May Not Work?

Menetapkan Saiz Maksimum JDialog

Masalah

Anda mahu JDialog melaraskan saiznya secara dinamik berdasarkan kandungan JPanel yang terkandung, tetapi walaupun selepas menetapkan sifat setMaximumSize, dialog masih mengubah saiz melebihi maksimum yang ditentukan.

Penyelesaian

Walaupun menetapkan saiz maksimum mungkin kelihatan mencukupi, interaksi tidak konvensional antara JDialog, BorderLayout dan MaximumSize boleh menghalang fungsinya . Sebaliknya, pertimbangkan untuk menggunakan kaedah setVisibleRowCount JList atau getViewport().setPreferredSize(...) untuk memberikan maklumat yang berkaitan bagi menetapkan saiz pilihan.

Contoh

Dalam contoh di bawah, dialog melaraskan saiznya untuk memaparkan JList sehingga maksimum N baris. Apabila butang Tambah diklik, baris ditambahkan pada senarai, menyebabkan dialog berkembang sehingga mencapai saiz maksimum. Pada ketika itu, bar skrol muncul.

<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>

Atas ialah kandungan terperinci Mengubah saiz JDialog: Mengapa SetMaximumSize Mungkin Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn