Pemilihan Berbilang Baris dalam JTable
Apabila berhadapan dengan JTable yang mengandungi teks tidak boleh diedit dan kotak pilihan boolean, adalah wajar untuk menyahtanda semua kotak di bawah pilihan apabila mana-mana satu daripadanya dinyahtanda, dan sebaliknya sebaliknya.
Untuk memudahkan tingkah laku ini, pertimbangkan contoh di bawah:
import java.awt...; import javax.swing...; public class CheckABunch extends JPanel { // Constants and variables for data model and JTable setup private static final int CHECK_COL = 1; private static final Object[][] DATA = {...}; private static final String[] COLUMNS = {...}; private DataModel dataModel = ...; private JTable table = ...; private DefaultListSelectionModel selectionModel; // Constructor initializes the interface and selection model public CheckABunch() { super(new BorderLayout()); ... table.setPreferredScrollableViewportSize(...); selectionModel = ...; } // DataModel provides custom column classes and editability private class DataModel extends DefaultTableModel { public DataModel(Object[][] data, Object[] columnNames) {...} public Class<?> getColumnClass(int columnIndex) {...} public boolean isCellEditable(int row, int column) {...} } // ControlPanel contains buttons for selecting and clearing private class ControlPanel extends JPanel { public ControlPanel() {...} } private class SelectionAction extends AbstractAction { boolean value; public SelectionAction(String name, boolean value) {...} public void actionPerformed(ActionEvent e) {...} } // Main method for creating and displaying the interface public static void main(String[] args) {...} }
Dalam contoh ini, SelectionAction mengendalikan klik butang untuk mengemas kini kotak pilihan berdasarkan pilihan pengguna. DataModel memastikan bahawa lajur kotak semak boleh diedit dan jenis yang betul.
Dengan menggunakan pendekatan ini, anda boleh melaksanakan pemilihan dan penyegerakan kotak pilihan berbilang baris dengan mudah dalam JTable anda.
Atas ialah kandungan terperinci Bagaimana untuk Menyegerakkan Pilihan Kotak Semak Berbilang Baris dalam JTable?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!