Object[][]   cells   =   {   
          {Boolean.FALSE,   "必选","",""},   
          {Boolean.FALSE,   "可选","",""},   
          {Boolean.FALSE,   "必选","",""},   
          {Boolean.FALSE,   "可选","",""},   
          {Boolean.FALSE,   "必选","",""},};   
          String[]   columnNames   =   {"选择","重要级","文件名","说明"};   
          DefaultTableModel   model   =   new   DefaultTableModel(cells,   columnNames)   {   
         public   Class   getColumnClass(int   columnIndex)   
         {   
         return   columnIndex   ==   0   ?   Boolean.class   :   String.class;   
         }   
         };   
         
         jTablesecond = new JTable(model);
         JScrollPane sp = new JScrollPane(jTablesecond);
     
         //设置Table列宽
         TableColumnModel tcm = jTablesecond.getColumnModel();
         int columnCount = jTablesecond.getColumnCount();
         TableColumn[] tc = new TableColumn[columnCount];
         tc[0] = tcm.getColumn(0);
         tc[0].setPreferredWidth(50);
         tc[1] = tcm.getColumn(1);
         tc[1].setPreferredWidth(75);
         tc[2] = tcm.getColumn(2);
         tc[2].setPreferredWidth(75);
         tc[3] = tcm.getColumn(3);
         tc[3].setPreferredWidth(240);        jTablesecond.getTableHeader().setReorderingAllowed(false); //设置头不可变
        jTablesecond.getTableHeader().setResizingAllowed(false); //设置列宽不可变        jTablesecond.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//设置为不自动调整大小
        jTablesecond.setBackground(Color.white);
        jPanelcenter.add(new JScrollPane(jTablesecond)); //显示表头我在JTable里面添加了一个JChecnkBox列表·请问我应该如何获得这个JCheckBox的是否被选中 ,还用被选中了··我应该获得该行所有列的值···
谢谢··分不多····
请拿去···

解决方案 »

  1.   

    CHECKBOX标识的是主键对应的值   
       
      那就判断一下主健是否为空不就行了.
      

  2.   

    如何获得这个JCheckBox的是否被选中 貌似可用isSelected() 判断
     既然是在一个单元格内 那应该可以得到这单元格行索引 列索引 等一些信息 然后找到这一行需要得到的内容方法拙略 ...希望对你有所帮助 
      

  3.   

    用isSelected()方法来判断,还有就是用debug中的单步运行来判断一下
      

  4.   

    不晓得行不行哈,希望能对你有帮助package test;import java.applet.Applet;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableColumnModel;
    import javax.swing.table.TableModel;public class Test extends Applet implements ActionListener{
    JTable jTablesecond; public Test() {
    Object[][] cells = { { Boolean.FALSE, "必选", "", "" },
    { Boolean.FALSE, "可选", "", "" },
    { Boolean.FALSE, "必选", "", "" },
    { Boolean.FALSE, "可选", "", "" },
    { Boolean.FALSE, "必选", "", "" }, };
    String[] columnNames = { "选择", "重要级", "文件名", "说明" };
    DefaultTableModel model = new DefaultTableModel(cells, columnNames){
    public Class getColumnClass(int columnIndex) {
    return columnIndex == 0 ? Boolean.class : String.class;
    }
    }; jTablesecond = new JTable(model);
    JScrollPane sp = new JScrollPane(jTablesecond); // 设置Table列宽
    TableColumnModel tcm = jTablesecond.getColumnModel();
    int columnCount = jTablesecond.getColumnCount();
    TableColumn[] tc = new TableColumn[columnCount];
    tc[0] = tcm.getColumn(0);
    tc[0].setPreferredWidth(50);
    tc[1] = tcm.getColumn(1);
    tc[1].setPreferredWidth(75);
    tc[2] = tcm.getColumn(2);
    tc[2].setPreferredWidth(75);
    tc[3] = tcm.getColumn(3);
    tc[3].setPreferredWidth(240);
    jTablesecond.getTableHeader().setReorderingAllowed(false); // 设置头不可变
    jTablesecond.getTableHeader().setResizingAllowed(false); // 设置列宽不可变
    jTablesecond.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);// 设置为不自动调整大小
    jTablesecond.setBackground(Color.white); add(new JScrollPane(jTablesecond)); // 显示表头
    JButton button = new JButton("aa");
    button.addActionListener(this);
    add(button);
    } public void actionPerformed(ActionEvent e) {
    TableModel model = jTablesecond.getModel();
    int count = model.getRowCount();
    for(int i = 0 ; i < count ; i++){
    boolean checked = (Boolean)model.getValueAt(i, 0);
    if(checked){
    System.out.println(i);
    }
    }
    }
    }