public static void main(String[] args) throws Exception {
    JFrame f = new JFrame();

    CalModel cm = new CalModel(TimeZone.getDefault(), true);

    JCalendar jc = new JCalendarDateHHMM();
    jc.setModel(cm);
    f.getContentPane().add((javax.swing.JPanel) jc);

    f.setSize(400, 400);
    f.pack();
    f.setVisible(true);
  }
 private static GregorianCalendar parseDate(final String dateString) {
   GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
   try {
     calendar.set(Calendar.YEAR, Integer.parseInt(dateString.substring(0, 4)));
     calendar.set(Calendar.MONTH, Integer.parseInt(dateString.substring(4, 6)) - 1);
     calendar.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateString.substring(6, 8)));
     if (dateString.length() > 8) {
       calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(dateString.substring(8, 10)));
       calendar.set(Calendar.MINUTE, Integer.parseInt(dateString.substring(10, 12)));
     } else {
       calendar.set(Calendar.HOUR_OF_DAY, 0);
       calendar.set(Calendar.MINUTE, 0);
     }
   } catch (Exception ignore) {
   }
   return calendar;
 }
  /** Creates new form frmAsignarTransporte */
  public frmAsignarTransporte() {
    initComponents();
    gestorH.actualizarUsuario(labelusuario);
    txtFecha.setEditable(false);
    txtFecha.setEnabled(false);
    txtHora.setEditable(false);
    txtHora.setEnabled(false);
    // setear el campo de fecha con la del sistema
    GregorianCalendar gc = new GregorianCalendar();
    GregorianCalendar.getInstance();
    gc.setTimeZone(TimeZone.getTimeZone("GMT-3"));
    gc.get(Calendar.DAY_OF_WEEK);
    gc.get(Calendar.MONTH);
    gc.get(Calendar.YEAR);
    SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy");
    txtFecha.setText(formateador.format(gc.getTime()));
    // setear el campo de hora con la del sistema
    GregorianCalendar calendario = new GregorianCalendar();
    GregorianCalendar.getInstance();
    gc.setTimeZone(TimeZone.getTimeZone("GMT-3"));
    calendario.get(Calendar.HOUR);
    calendario.get(Calendar.MINUTE);
    SimpleDateFormat formateadorHora = new SimpleDateFormat("HH:mm");
    txtHora.setText(formateadorHora.format(calendario.getTime()));

    // Las siguientes lineas son para dar a la pantalla el tamaño requerido y luego centrarla en la
    // pantalla.
    Toolkit kit = Toolkit.getDefaultToolkit();
    Dimension tamanioPantalla = kit.getScreenSize();
    int ancho = 820;
    int alto = 570;
    //        int posX = (int) ((tamanioPantalla.width - ancho) / 2);
    //        int posY = (int) ((tamanioPantalla.height - alto) / 2);
    this.setSize(ancho, alto);
    this.setLocation(260, 30);

    // redimensionar columnas tabla
    tblViaje.getColumnModel().getColumn(0).setPreferredWidth(50);
    tblViaje.getColumnModel().getColumn(1).setPreferredWidth(50);
    tblViaje.getColumnModel().getColumn(2).setPreferredWidth(100);
    tblVehiculo.getColumnModel().getColumn(0).setPreferredWidth(100);
    tblVehiculo.getColumnModel().getColumn(1).setPreferredWidth(100);
    // centrar cabecera jtable
    DefaultTableCellRenderer renderer =
        (DefaultTableCellRenderer) tblVehiculo.getTableHeader().getDefaultRenderer();
    renderer.setHorizontalAlignment(0);
    DefaultTableCellRenderer renderer2 =
        (DefaultTableCellRenderer) tblViaje.getTableHeader().getDefaultRenderer();
    renderer2.setHorizontalAlignment(0);

    Iterator ite = gestorH.listarClase(Viaje.class).iterator();
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
    SimpleDateFormat sdfguion = new SimpleDateFormat("dd-MM-yyyy");
    while (ite.hasNext()) {
      Viaje viaje = (Viaje) ite.next();
      Date fecha1 = sdf.parse(viaje.getFecha(), new ParsePosition(0));
      Date fecha3 = sdfguion.parse(txtFecha.getText(), new ParsePosition(0));
      if (viaje.getEstado().equalsIgnoreCase("En Proceso")
          && (viaje.getTipoViaje().getNombreTipoViaje().equalsIgnoreCase("Traslado a Puerto")
              || viaje
                  .getTipoViaje()
                  .getNombreTipoViaje()
                  .equalsIgnoreCase("Traslado a Establecimiento"))) {
        if (fecha1.before(fecha3)) {
          viaje.setEstado("Finalizado");
          viaje.getVehiculo().setEstado("Disponible");
        }
      }
    }

    gestorA.RellenarTablaViajes(tblViaje);
  }