Oussama RmiQui
Oussama RmiQui

Reputation: 5

How to check ticked or not check box of a jTable

I need to check if check box is selected or not so that corresponding row can be deleted or modified. I am using a dynamic jTable that changes at every insertion.

  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());

Upvotes: 0

Views: 1343

Answers (2)

akathir79
akathir79

Reputation: 31

check the following code if checked or not

          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);
        }

    }

}); 

Upvotes: 0

Jean Waghetti
Jean Waghetti

Reputation: 4727

Just call the method

public Object getValueAt(int row, int col)

of your table model, with row and col where your checkbox is. It should return a Boolean object (default rendering for booleans are checkboxes).

Upvotes: 2

Related Questions