2014-04-29 35 views
0

我需要檢查是否選中複選框,以便相應的行可以被刪除或修改。 我正在使用每次插入時都會改變的動態jTable。如何檢查打勾或不打勾的表格

DefaultTableModel model = (DefaultTableModel)tab1.getModel(); 
    model.setRowCount(0); 
    try{ 
     Class.forName("java.sql.Driver"); 
     Connection conn =  (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/radees","root","123"); 
     Statement st = conn.createStatement(); 
     String query="SELECT * FROM stage ORDER BY Nom,ecole "; 
     ResultSet rs = st.executeQuery(query); 
     while(rs.next()){ 
      String d1 = rs.getString("Nom"); 
      String d2 = rs.getString("Prenom"); 
      String d3 = rs.getString("CIN"); 
      String d4 = rs.getString("Service"); 
      String d5 = rs.getString("debut"); 
      String d6 =rs.getString("fin"); 
      String d7 =rs.getString("ecole"); 
      model.addRow(new Object[] {d1,d2,d3,d4,d5,d6,d7}); 


     } 

     rs.close(); 
     st.close(); 
     conn.close(); 
    } 



    catch(Exception e){ 
     JOptionPane.showMessageDialog(this,"Erreur de Connection!"); 
    } 
    jLabel9.setText(tab1.getModel().getValueAt(1,6).toString()); 

回答

2

只要調用方法

public Object getValueAt(int row, int col)

您的表格模型

,與rowcol在您 複選框。它應該返回一個Boolean對象 (布爾值的默認渲染是複選框)。

+0

我媒體鏈接用它看代碼的結束,但它是錯誤的 –

+0

JCheckBox的永遠不會從這裏發佈的代碼生成,讀甲骨文教程如何使用表爲工作代碼示例 – mKorbel

+0

給我你的臉譜,我會發送你的照片,因爲我使用NETBEANS添加它好嗎? –

0

檢查下面的代碼,如果選中或不

  DailydatasTbl.getModel().addTableModelListener(new TableModelListener() { 
     public void tableChanged(TableModelEvent e) { 
     int row = e.getFirstRow(); 
     TableModel model = (TableModel)e.getSource(); 
     String changedValue = model.getValueAt(row, 0).toString(); 
     Boolean checked=(Boolean) model.getValueAt(row, 0); 

     if(checked==true){ 
      popupMenu = new JPopupMenu(); 
      menuItemAdd = new JMenuItem("Add New Row"); 
      menuItemRemove = new JMenuItem("Remove Current Row"); 
      menuItemRemoveAll = new JMenuItem("Remove All Rows"); 

      // menuItemAdd.addActionListener(this); 
      // menuItemRemove.addActionListener(this); 
      //menuItemRemoveAll.addActionListener(this); 

       popupMenu.add(menuItemAdd); 
       popupMenu.add(menuItemRemove); 
       popupMenu.add(menuItemRemoveAll); 
      popupMenu.setLocation((int)jButton1.getLocation().getX(),(int)jButton1.getLocation().getY()-10); 
       popupMenu.setVisible(true); 

     }else{ 
       popupMenu.setVisible(false); 
     } 

    } 

});