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

JTable con checkBox

Estas en el tema de JTable con checkBox en el foro de Java en Foros del Web. hola amigos, estoy construyendo un JTable el cual necesito que tenga la tercera, cuarta y quinta columna jcheckbox. El llenado de valores lo hago mediante ...
  #1 (permalink)  
Antiguo 04/08/2008, 08:50
Avatar de jhoncacru  
Fecha de Ingreso: mayo-2004
Ubicación: cochabamba-Bolivia
Mensajes: 107
Antigüedad: 20 años
Puntos: 1
JTable con checkBox

hola amigos, estoy construyendo un JTable el cual necesito que tenga la tercera, cuarta y quinta columna jcheckbox.
El llenado de valores lo hago mediante

Código PHP:
   static DefaultTableModel bindingQueryJPA(List res)             
     {
        
int cont=1;
         List<
Object[]> resultados res;
         
modelo1 = new DefaultTableModel();
         
modelo1.addColumn("Nombre Entidad");
         
modelo1.addColumn("Tipo");
         
modelo1.addColumn("Publico");
         
modelo1.addColumn("Interno");
         
modelo1.addColumn("Confidencial");
         
         
Object[] fila = new Object[resultados.size()];
         for(
Object[] resultadoresultados)
         {
            
fila[0]=resultado[0];
            
fila[1]=resultado[1];
            
//fila[2]=esto deberÃ*a ser un checkbox booleano
            //fila[3]=esto deberÃ*a ser un checkbox booleano
            //fila[4]=esto deberÃ*a ser un checkbox booleano
            
modelo1.addRow(fila);
         }
         return 
modelo1;
    } 
el cual recibe como parametro una lista.
el problema que tengo es que a las columnas 3,4 y 5 No las puedo formatear como checkbox.

La invocacion a este metodo lo hago de la siguiente metodo.

Código PHP:
  jtable1.setModel(bindingQueryJPA(listado)); 
__________________
Gracias de antemano.
  #2 (permalink)  
Antiguo 04/08/2008, 11:57
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: JTable con checkBox

hola mira aca te dejo un ejemplito de como cargo yo un jtable, esta incompleto pero te servira para poner un check

Código:
 public void cargarDescuentos() {
       DefaultTableModel mdl = new DefaultTableModel () {
            @Override
            // al poner que devuelva un boolean lo que hace es poner un check automatico el jtable, tu deberias seguir con un || columnIndex == 4.... en el if
            public Class getColumnClass(int columnIndex) {
                if (columnIndex == 3) {
                    return Boolean.class;
                } else {
                    return super.getColumnClass(columnIndex);
                }
            }
        };
        Object[] columnas = new Object[4];
        Object[] valores = new Object[4];

        columnas[0] = "Código";
        columnas[1] = "Nombre";
        columnas[2] = "Tipo Descuento";
        columnas[3] = "Rangos";
        mdl.setColumnIdentifiers(columnas);
        tablaDescuentos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tablaDescuentos.setModel(mdl);
        Session sesion = HibernateUtil.getSessionFactory().getCurrentSession();
        sesion.beginTransaction();
        List<Descuento> descuentos = sesion.createQuery("from Descuento order by idDescuento").list();
        for (Descuento d : descuentos) {
            valores[0] = new Long(d.getIdDescuento());
            valores[1] = d.getNombreDescuento();
            valores[2] = d.getTipoDescuento().getNombreTipoDescuento();
            valores[3] = d.getTipoDescuento().isRangos();
            mdl.addRow(valores);
        }
        sesion.getTransaction().commit();

    }

saludos y cuidate
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #3 (permalink)  
Antiguo 05/08/2008, 08:45
Avatar de jhoncacru  
Fecha de Ingreso: mayo-2004
Ubicación: cochabamba-Bolivia
Mensajes: 107
Antigüedad: 20 años
Puntos: 1
Respuesta: JTable con checkBox

Muchas gracias, solucioné el problema con el código que me pasaste, gracias.
__________________
Gracias de antemano.
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 06:26.