Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: marc85 en 12 Marzo 2014, 20:04 PM

Título: pasar una fecha de un JTable a un JDateChooser
Publicado por: marc85 en 12 Marzo 2014, 20:04 PM
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");
        }
    }     
Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: 1mpuls0 en 12 Marzo 2014, 20:55 PM
y originalmente cual es tu formato?
Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: marc85 en 12 Marzo 2014, 22:06 PM
En el jtable me muestra formato fecha y hora de esta manera

2004-12-02 00:00:00.000
Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: 1mpuls0 en 13 Marzo 2014, 00:16 AM
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.

Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: marc85 en 13 Marzo 2014, 15:20 PM
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
Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: 1mpuls0 en 13 Marzo 2014, 16:35 PM
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)
Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: marc85 en 13 Marzo 2014, 16:57 PM
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
Título: Re: pasar una fecha de un JTable a un JDateChooser
Publicado por: marc85 en 13 Marzo 2014, 17:01 PM
ya logrè agregarlo muchas gracias por tú ayuda