阅读量:0
在Java中,可以使用DefaultTableModel和JCheckBox作为表格的数据模型,然后将其绑定到JTable上实现复选框功能。
下面是一个简单的示例代码:
import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; public class CheckBoxTableExample extends JFrame { private DefaultTableModel tableModel; private JTable table; public CheckBoxTableExample() { setTitle("Checkbox Table Example"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); tableModel = new DefaultTableModel(new Object[]{"Select", "Item"}, 0) { @Override public Class<?> getColumnClass(int columnIndex) { if (columnIndex == 0) { return Boolean.class; } else { return String.class; } } }; table = new JTable(tableModel); table.getColumnModel().getColumn(0).setPreferredWidth(50); JScrollPane scrollPane = new JScrollPane(table); getContentPane().add(scrollPane, BorderLayout.CENTER); Object[] row1 = new Object[]{false, "Item 1"}; Object[] row2 = new Object[]{false, "Item 2"}; Object[] row3 = new Object[]{false, "Item 3"}; tableModel.addRow(row1); tableModel.addRow(row2); tableModel.addRow(row3); pack(); setLocationRelativeTo(null); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { CheckBoxTableExample example = new CheckBoxTableExample(); example.setVisible(true); }); } }
在这个例子中,我们创建了一个DefaultTableModel并指定列的类型,其中第一列是Boolean类型,用于显示复选框。然后创建一个JTable,并将TableModel绑定到表格上。添加几行数据到表格,并在每行的第一列中显示复选框。最后显示窗口,即可看到带有复选框的表格。