Rumah >Java >javaTutorial >Mengubah saiz JDialog: Mengapa SetMaximumSize Mungkin Tidak Berfungsi?
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.
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.
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!