在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綁定到表格上。添加幾行數據到表格,并在每行的第一列中顯示復選框。最后顯示窗口,即可看到帶有復選框的表格。