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");
}
}
y originalmente cual es tu formato?
En el jtable me muestra formato fecha y hora de esta manera
2004-12-02 00:00:00.000
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.
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
mmm...
no estás formateando bien
/*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)
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
ya logrè agregarlo muchas gracias por tú ayuda