就是表格中的第一列是checkbox。多谢!

解决方案 »

  1.   

    JTable的单元格具有渲染器和编辑器,默认都为文本。
    渲染器是你从外观上看到单元格的样子,而当你点击该单元格,进入编辑状态,那么该单元格将被编辑器所接管。以你需要的JCheckBox为例,就是将某列单元格的渲染器和编辑器都指定为一个JCheckBox实例,如果只指定渲染器为JCheckBox,编辑器为默认,那么看上去是JCheckBox显示,但当输入焦点进入单元格时,确实文本编辑;反之,如果设定编辑器为JCheckBox,渲染器为默认,那么你会看到该单元格显示的是true 或者 false,而点击进去,确实出现JCheckBox进行选择。下面具体列出一段代码:TableColumn column = table1.getColumnModel().getColumn(1);
    //设置编辑器
    column.setCellEditor(new DefaultCellEditor(new JCheckBox();));
    //设置渲染器
    column.setCellRenderer(new CheckBoxRenderer());CheckBoxRenderer 是一个自己编写的实现TableCellRenderer接口的类public class CheckBoxRenderer implements TableCellRenderer{

    public JCheckBox chk;

    public CheckBoxRenderer(){

    this.chk = new JCheckBox();

    }

             //其中主要要实现这个函数
    public Component getTableCellRendererComponent(JTable arg0, Object value, boolean isSelected, boolean arg3, int arg4, int arg5) {

    this.chk.setSelected(Boolean.TRUE == value);
    this.chk.setEnabled(isSelected);
    this.chk.setHorizontalAlignment(JCheckBox.CENTER);
    return this.chk;

    }}我只是简单举了个例子,详细的技术细节请参阅JDK和其他权威资料