Dalam JTable, pengguna boleh memilih berbilang baris pada masa yang sama, yang sangat berguna dalam beberapa situasi. Sebagai contoh, anda mungkin mahu melakukan tindakan apabila pengguna memilih berbilang baris. Artikel ini akan menunjukkan kepada anda cara melakukan ini.
Untuk melaksanakan pemilihan berbilang baris, anda perlu menggunakan ListSelectionListener . Pendengar ini akan melihat sebarang perubahan pada pemilihan pengguna, dan anda kemudian boleh menggunakan kaedah getSelectedRows() untuk mendapatkan semula indeks baris yang dipilih.
// 添加侦听器以侦听用户选择任何更改 table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { // 获取所选行的索引 int[] selectedRows = table.getSelectedRows(); // 执行所需的任何操作 for (int i = 0; i < selectedRows.length; i++) { // 获得所选行的对象 Object selectedObject = table.getValueAt(selectedRows[i], 0); // 执行所需的操作 } } });
Anda juga boleh menggunakan kaedah setSelectionMode() pada JTable untuk menukar bilangan baris yang dibenarkan untuk dipilih oleh pengguna. Sebagai contoh, kod berikut akan mengehadkan pengguna untuk memilih satu baris:
// 限制用户只能选择一行 table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Berikut ialah kod lengkap untuk rujukan anda:
import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class MultipleRowSelectionExample extends JFrame { public MultipleRowSelectionExample() { Object[][] data = { {"John Doe", 30}, {"Jane Doe", 25}, {"Tom Smith", 40}, {"Mary Johnson", 35} }; String[] columns = {"Name", "Age"}; JTable table = new JTable(data, columns); // 添加侦听器以侦听用户选择任何更改 table.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent evt) { // 获取所选行的索引 int[] selectedRows = table.getSelectedRows(); // 执行所需的任何操作 for (int i = 0; i < selectedRows.length; i++) { // 获得所选行的对象 Object selectedObject = table.getValueAt(selectedRows[i], 0); // 执行所需的操作 } } }); this.add(new JScrollPane(table)); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); this.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new MultipleRowSelectionExample(); } }); } }
Atas ialah kandungan terperinci Bagaimana untuk Mendayakan dan Mengendalikan Pilihan Berbilang Baris dalam JTable?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!