Foro de elhacker.net

Programación => 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
  1. /*By 1mpuls0*/
  2.    String input = "2004-12-02 00:00:00.000";
  3.    System.out.println("Entrada->" + input);
  4.    DateFormat inputFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
  5.    Date date = null;
  6.  
  7.    try {
  8.        date = inputFormatter.parse(input);
  9.    }catch (ParseException pe) {
  10.        pe.printStackTrace();
  11.    }
  12.  
  13.    DateFormat outputFormatter = new SimpleDateFormat("dd/MM/yyyy");
  14.    String output = outputFormatter.format(date);
  15.    System.out.println("Salida->" + output);
  16.  

Código:
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