Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menambah Pilih Semua/NyahPilih Semua Kawalan pada JTableHeader untuk Lajur Boolean?
Melaksanakan Kawalan dalam JTableHeader
Masalah:
Jadual J dengan lajur Boolean biasanya memaparkan kotak semak sebagai pemapar lalai. Walaupun sel individu boleh dipilih secara manual, memilih semua atau tiada kotak semak boleh menyusahkan. Bagaimanakah kawalan mesra pengguna boleh ditambahkan pada JTableHeader untuk memudahkan tindakan ini?
Penyelesaian:
SelectAllHeader:
Untuk menangani isu ini, kelas SelectAllHeader diperkenalkan. Ia memanjangkan JToggleButton dan melaksanakan TableCellRenderer untuk mencipta kawalan dalam pengepala lajur. Kawalan ini, apabila diklik, sama ada memilih semua atau menyahpilih semua kotak semak dalam lajur Boolean sasaran.
Pelaksanaan:
Keadaan SelectAllHeader (dipilih atau tidak) pada mulanya ditetapkan kepada palsu, memaparkan label "✓ Pilih semua". Penampilannya disesuaikan untuk dipadankan dengan penggayaan pengepala jadual.
Apabila kawalan diklik, ia menogol keadaannya dan mengemas kini teks "✓ Pilih semua/✓ Pilih tiada" dengan sewajarnya. Selain itu, ia berulang melalui semua baris dan menetapkan nilai Boolean dalam lajur sasaran agar sepadan dengan keadaan kawalan.
TableModelListener:
A TableModelListener digunakan untuk mengesan perubahan dalam model meja. Jika semua kotak semak dalam lajur sasaran sama ada dipilih atau dinyahtandai, keadaan SelectAllHeader dikemas kini secara automatik untuk memadankan keadaan seragam ini.
Kelebihan:
Kesimpulannya, Kelas SelectAllHeader menawarkan penyelesaian yang berkelakuan baik dan cekap untuk mengawal pemilihan kotak semak dalam JTable, meningkatkan pengalaman pengguna dan memudahkan manipulasi data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Pilih Semua/NyahPilih Semua Kawalan pada JTableHeader untuk Lajur Boolean?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!