pasar una fecha de un JTable a un JDateChooser

Iniciado por marc85, 12 Marzo 2014, 20:04 PM

0 Miembros y 1 Visitante están viendo este tema.

marc85

Hola amigos tengo una duda yo recibo en un jtable datos de una tabla sql server con formato fecha y hora, pero deseo que al hacer clic sobre el registro deseado me muestre esa fecha en el jdatechooser con el formato dd/MM/yyyy

Gracias por su ayuda de antemano

Este es el código que uso, en última instancia mandé el valor del fecha a un txtField

private void tbCKMouseClicked(java.awt.event.MouseEvent evt) {                                 
        //Ubicar los campos de la tabla en su respectivo control con un clic
        if(tbCK.getSelectedRow()>=0)
        {
            String[] datosLeidos=
            {
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 0)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 1)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 2)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 3)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 4)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 5)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 6)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 7)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 8)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 9)),
                String.valueOf(tbCK.getValueAt(tbCK.getSelectedRow(), 10))
            };
            limpiaCamposCK();
            txtCodMov.setText(datosLeidos[0]);
            txtTipoMov.setText(datosLeidos[1]);
            txtEmpresa.setText(datosLeidos[2]);
            txtBanco.setText(datosLeidos[3]);
            txtCuenta.setText(datosLeidos[4]);
            txtNumCK.setText(datosLeidos[5]);
            txtConcepto.setText(datosLeidos[6]);
            txtPrueba.setText(datosLeidos[7]);
           
            //Enviando la fecha al JDateChooser
            String f=txtPrueba.getText();
            SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
            Date fecha=null;
            try
            {
                fecha=formato.parse(f, null);
            }
            catch (Exception e)
            {
                JOptionPane.showMessageDialog(null, e);
            }
            dateFecha.setDate(fecha);
           
           
            txtMonto.setText(datosLeidos[8]);
            txtBeneficiario.setText(datosLeidos[9]);
            ckbEstado.setText(datosLeidos[10]);
            botonesActivosCK(true,true,true,false,false,true);
            camposActivosCK(true,true,true,true,true,true,true,true,true,true,true);
        }     
        else
        {
            JOptionPane.showMessageDialog(this, "Debe seleccionar un registro");
        }
    }     

1mpuls0

abc

marc85

En el jtable me muestra formato fecha y hora de esta manera

2004-12-02 00:00:00.000

1mpuls0

#3
Primero tienes que aplicar un DateFormat a tu entrada, después tienes que parsear el resultado y guardarlo en un tipo date para después volver a formatear.

abc

marc85

Bueno si te fijas bien en el código eso es lo que hagoa pero creo que el error está en que no me cambia el formato de la fecha

1mpuls0

#5
mmm...
no estás formateando bien

Código (java) [Seleccionar]

/*By 1mpuls0*/
   String input = "2004-12-02 00:00:00.000";
   System.out.println("Entrada->" + input);
   DateFormat inputFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
   Date date = null;
   
   try {
       date = inputFormatter.parse(input);
   }catch (ParseException pe) {
       pe.printStackTrace();
   }
   
   DateFormat outputFormatter = new SimpleDateFormat("dd/MM/yyyy");
   String output = outputFormatter.format(date);
   System.out.println("Salida->" + output);



run:
Entrada->2004-12-02 00:00:00.000
Salida->02/12/2004
BUILD SUCCESSFUL (total time: 0 seconds)
abc

marc85

Gracias por tù repuesta me sirve y le entiendo sólo que ya convertida que como String y el jdatechooser solo recibe date, cómo hago para convertirlo, gracias por tú ayuda

marc85

ya logrè agregarlo muchas gracias por tú ayuda