Salve vorrei presentare un problema con cui lotto da giorni , sper che qualche esperto possa darmi una mano.
Ho creato una tabella contenente 6 colonne di tipo boolean che vorrei visualizzate tramite dei checkbox ed una colonna di tipo string: in tutto 7 colonne.
Ovviamente vorrei che quando premo su un checkbox riesca a sapere quale sia la colonna e la riga dove ho premuto ed il valore corrente del checkbox.

Ho creato come da teoria le classi:
class ProfileCheckBoxRenderer extends JCheckBox implements TableCellRenderer
class ProfileCheckBoxEditor extends AbstractCellEditor implements TableCellEditor
e le assegno ad ogni colonna.

Sembra tutto ok in visualizzazione ma la gestione dei click e della reazione che vorrei non funziona!!
Ripeto il problema: Vorrei che quando premo su un checkbox riesca a sapere quale sia la colonna e la riga dove ho premuto ed il valore corrente del checkbox.

Invio il codice della classe che gestisce la tabella richiamabile con: getTable_Profile() e contenuta in SwPanelUserProfileConfiguration

codice:
class ProfileCheckBoxRenderer extends JCheckBox implements TableCellRenderer
   {
       public ProfileCheckBoxRenderer()
       {
           // Some look and feels might ignore this ....
    	   setHorizontalTextPosition(SwingConstants.CENTER);
		   setHorizontalAlignment(SwingConstants.CENTER);
		   setPreferredSize(new Dimension(90, 23));
           setRolloverEnabled(true);
       }

       public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
       {
           //setText(Messages.getString("Requests.ConfigurationCancelRequest.Button_Email"));
          // getModel().setRollover(hasFocus);
           return this;
       }

       /*
        * The following methods are overridden to be "empty" for
        * performance reasons. If you want to understand better why, please
        * read:
        * 
        * http://java.sun.com/javase/6/docs/ap...x/swing/table/
        * DefaultTableCellRenderer.html#override
        */
       public void invalidate()
       {
       }

       public void validate()
       {
       }

       public void revalidate()
       {
       }

       public void repaint()
       {
       }

       protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
       {
       }

       public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
       {
       }
   }

   /*
    * This class extends the default editor for table and tree cells. This
    * editor is use for the button details column.
    */
   class ProfileCheckBoxEditor extends AbstractCellEditor implements TableCellEditor
   {
       private JCheckBox checkbox;

       public ProfileCheckBoxEditor()
       {
    	   checkbox = new InternalCheckbox();
    	   
       }

       public void addActionListener(ActionListener l)
       {
           // Forwards the add to the button.
    	   checkbox.addActionListener(l);
       }

    

       public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
       {
    	   
           return checkbox;
       }

       public Object getCellEditorValue()
       {
           return checkbox.getText();
       }

       private class InternalCheckbox extends JCheckBox
       {
           protected void fireActionPerformed(ActionEvent event)
           {
               // First of all, fires all actionPerformed.
              super.fireActionPerformed(event);
               setHorizontalTextPosition(SwingConstants.CENTER);
    		   setHorizontalAlignment(SwingConstants.CENTER);
    		   setPreferredSize(new Dimension(90, 23));

               // Then stops cell editing.
               fireEditingStopped();
           }
       }
   }