Java

Java中jtable如何绑定复选框

小亿
86
2024-03-18 18:24:48
栏目: 编程语言

在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绑定到表格上。添加几行数据到表格,并在每行的第一列中显示复选框。最后显示窗口,即可看到带有复选框的表格。

0
看了该问题的人还看了