Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas jCheckBox en Jtable

Estas en el tema de Problemas jCheckBox en Jtable en el foro de Java en Foros del Web. Buen día, Tengo un problema al querer leer los datos que me da el checkbox en mi jtable, estoy usando una clase para sobre escribir ...
  #1 (permalink)  
Antiguo 21/12/2014, 23:31
 
Fecha de Ingreso: diciembre-2014
Ubicación: Colombia
Mensajes: 1
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Problemas jCheckBox en Jtable

Buen día,

Tengo un problema al querer leer los datos que me da el checkbox en mi jtable, estoy usando una clase para sobre escribir la del CellEdito y asi poder asignar un checkbox en una columna aparte tambien uso un render para poder mostar el componente. Lleno la tabla normalmente con todos sus datos y sus check box. PERO cuando quiero leer los datos que he ingresado tengo problemas al momento de leer los datos no estoy muy seguro de como hacerlo. He intentado con jtable.getmodel().getValueAt(row,col) pero cuando lo inteno asi me deja de tomar un dato es decir si tengo 5 casillas maarcas con el chulito , cuando leo los datos con un for solo me da 4 casillas. Intente con el cellEditoValue pero cuando una casilla es true todas las demas me las da true

Este es mi Render:

Código:
public class Clase_CellRender extends JCheckBox implements TableCellRenderer{
    private  JComponent component = new JCheckBox();

    
    public Clase_CellRender() {
        setOpaque(true);
    }

    @Override
  public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    
      ( (JCheckBox) component).setBackground( new Color(255,255,255) );
      
      boolean b = ((Boolean) value);
      ( (JCheckBox) component).setSelected( b );
      
      return ( (JCheckBox) component);
  }
}
Este es el CellEditor:

Código:
public class Clase_CellEditor extends DefaultCellEditor implements TableCellRenderer{
    private final JComponent component = new JCheckBox();    
    private boolean value = false; 
    
    
    public Clase_CellEditor() {
        super( new JCheckBox() );
    }

 
    @Override
    public Object getCellEditorValue() {
        return ((JCheckBox)component).isSelected();        
    }

    @Override
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
       
        ( (JCheckBox) component).setBackground( new Color(200,200,0) );
    
        boolean b = ((Boolean) value).booleanValue();
        ( (JCheckBox) component).setSelected( b );
        return ( (JCheckBox) component);     
    }

    
    @Override
    public boolean stopCellEditing() {        
        value = ((Boolean)getCellEditorValue()).booleanValue() ;
        ((JCheckBox)component).setSelected( value );
        return super.stopCellEditing();
    }

  
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
         if (value == null)
            return null;         
         return ( (JCheckBox) component );
    }
}
Este codigo lo saque de la web , y no he podido hacer la captura de los datos. Agradeceria su ayuda

Etiquetas: boolean, jtable, verificacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.