Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Java partiendo de Cero - Agregando fechas

Java partiendo de Cero - Agregando fechas

 ****- (61 opiniones)
Copyright Curso gratis de Jorge Bourdette - 26 de Agosto de 2005
Temas Relacionados: JavaProgramación web
38. Agregando fechas
Otro panel más nos servirá para seleccionar o entrar la fecha:


import java.util.*;
import java.awt.*;

class DiaPartida extends Panel {
private TextField elDia;
private Button hoy;
private Button diasiguiente;

DiaPartida() {
setLayout (new GridLayout (4,1));
elDia = new TextField();
elDia.setText(GetHoy());
hoy = new Button ("Hoy");
diasiguiente = new Button ("Mañana");
add (new Label ("Día salida: "));
add (elDia);
add (hoy);
add (diasiguiente);
}

private String GetHoy() {
Date d = new Date();
int dia = d.getDate();
int mes = d.getMonth();
int ano = d.getYear();
return dia+"/"+mes+"/"+ano;
}

private String GetManana() {
Date d = new Date();
int dia = d.getDate();
int mes = d.getMonth();
int ano = d.getYear();
dia = dia++;
switch (mes) {
case (1):
case (3):
case (5):
case (7):
case (8):
case (10): if (dia>31) {
dia = 1;
mes++;
}
break;
case (12): if (dia>31) {
dia = 1;
mes = 1;
ano++;
}
break;
case (4):
case (6):
case (9):
case (11): if (dia>30) {
dia = 1;
mes++;
}
break;
default: if (dia>28) { ojo, hay que corregir para bisiestos!
dia = 1;
mes++;
}
}
return dia+"/"+mes+"/"+ano;
}

public String getDescription() {
return elDia.getText();
}

public boolean handleEvent (Event e) {
if (e.target
hoy) elDia.setText(GetHoy());
if (e.target
diasiguiente) elDia.setText(GetManana());
return super.handleEvent(e);
}

}

Este es un poco más largo pero no más complejo. Vamos por parte:


DiaPartida() {
setLayout (new GridLayout (4,1));
elDia = new TextField();
elDia.setText(GetHoy());
hoy = new Button ("Hoy");
diasiguiente = new Button ("Mañana");
add (new Label ("Día salida: "));
add (elDia);
add (hoy);
add (diasiguiente);
}

El constructor crea un panel con cuatro campos en forma de grilla vertical, donde mostrará el texto "Día salida: ", el campo de entrada de texto elDia y los botones hoy y diasiguiente.

El método privado getHoy usa los métodos getDate, getMonth y getYear de la clase date para armar un String con la fecha actual. El método privado getManana hace lo mismo para leer la fecha actual, y le suma 1 al día para tener el día siguiente. El switch siguiente verifica que si pasó de fin de mes tome el primer día y el mes siguiente (o el primer día del año siguiente si es en diciembre). Notar que no se consideraron los años bisiestos en febrero para no complicar el método, pero no es difícil de corregir.

Otra manera sería armar un
array con los días de cada mes, corregir los días de febrero para los años bisiestos, y comparar contra este array en lugar de usar un switch. La idea siempre es la misma: devolver un String con la fecha del día siguiente.

Notar algo interesante: como estas clases se cargan y ejecutan en la máquina
cliente, la fecha que aparece es la del cliente y no la del servidor (que puede ser diferente depende la hora y el lugar del mundo en que estén ambas máquinas).

El método getDescription es público y se usa para acceder a la fecha que se ha ingresado desde las demás clases; simplemente devuelve el contenido del campo elDia, de clase
TextField.

Aquí hemos desarrollado también el método handleEvent:


public boolean handleEvent (Event e) {
if (e.target
hoy) elDia.setText(GetHoy());
if (e.target
diasiguiente) elDia.setText(GetManana());
return super.handleEvent(e);
}

En caso de alguna acción sobre uno de los botones, el método setText (de la clase
TextField) pone en el campo de texto elDia el valor del día actual o el siguiente.

Notar que sólo hemos considerado que haya algún evento y no un tipo de evento en particular; en realidad el método va a actuar por ejemplo tanto al presionar el mouse sobre el botón como al soltarlo. Pero esto no nos molesta.

super.handleEvent se encarga de otros eventos dirigidos al panel, como la entrada de datos por teclado al campo de texto por ejemplo.
Tabla de contenidos
  1. 1 - JAVA DESDE CERO
  2. 2 - Qué es Java
  3. 3 - Lenguaje de Objetos
  4. 4 - Independiente de la plataforma
  5. 5 - Algunas características
  6. 6 - El Java Development Kit
  7. 7 - EMPECEMOS DE UNA VEZ!
  8. 8 - Javascript
  9. 9 - Al fin. Java!
  10. 10 - LAS CLASES EN JAVA
  11. 11 - Estructura de una clase
  12. 12 - ESTRUCTURA DE CLASES
  13. 13 - Declaración de la clase
  14. 14 - El cuerpo de la clase
  15. 15 - EL CUERPO DE LOS MÉTODOS
  16. 16 - Declaración de variables locales
  17. 17 - Asignaciones a variables
  18. 18 - Operaciones matematicas
  19. 19 - Llamadas a métodos
  20. 20 - LAS ESTRUCTURAS DE CONTROL
  21. 21 - if.[else]
  22. 22 - Switch.case.brake.default
  23. 23 - While
  24. 24 - Do.while
  25. 25 - For
  26. 26 - Break y continue
  27. 27 - Otras...
  28. 28 - HAGAMOS ALGO...
  29. 29 - La clase Complejo
  30. 30 - Algo sobre los métodos
  31. 31 - JAVA A TRAVÉS DE LA VENTANA
  32. 32 - Nuestra primera ventana
  33. 33 - Un poco de detalle
  34. 34 - Y los eventos...
  35. 35 - UNA VENTANA CON VIDA
  36. 36 - Viajando con Java
  37. 37 - Preparando listas
  1. 38 - Agregando fechas
  2. 39 - Juntando todo hasta aquí
  3. 40 - COMPLETANDO LA VENTANA
  4. 41 - Un poquito de actividad
  5. 42 - Y para terminar...
  6. 43 - Finale con tutto
  7. 44 - UN PARÉNTESIS DE ENTRADA/SALIDA
  8. 45 - Primera Lectura
  9. 46 - Capturando excepciones
  10. 47 - Los applets y los archivos
  11. 48 - Nuestro modesto "Editor"
  12. 49 - VOLVIENDO AL AWT
  13. 50 - Menú a la Java
  14. 51 - Dialogos
  15. 52 - DIBUJAVA
  16. 53 - Canvas en acción
  17. 54 - El applet-container
  18. 55 - Nuestro Canvas a medida
  19. 56 - DIBUJAVA II
  20. 57 - Vectores en acción
  21. 58 - Flicker molesto!
  22. 59 - Anímate!
  23. 60 - JAVA EN HEBRAS
  24. 61 - Los pasos basicos
  25. 62 - Reunión de amigos
  26. 63 - Creando Threads
  27. 64 - Y los applets...?
  28. 65 - LA LIEBRE Y LA TORTUGA (Y EL GUEPARDO)
  29. 66 - Sincronicemos los relojes
  30. 67 - Mas sincronización
  31. 68 - MULTIMEDIA!
  32. 69 - Parametrizando un applet
  33. 70 - PASEANDO POR LA RED
  34. 71 - Los Sockets
  35. 72 - Un servidor atento
  36. 73 - El cliente satisfecho
Autor y licencia de 'Java partiendo de Cero - Agregando fechas'
Jorge Bourdette Extraído de: http://www.publispain.com/supertutoriales Copyright
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Java partiendo de Cero - Agregando fechas'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
En el mundo de los Incas, Mayas y Aztecas, el tiempo no es concebido proceder... Más »
Partiendo del cine mudo como documento histórico y subrayando el valor artístico de la música... Más »
Partiendo de la idea de que un cambio en la mentalidad mundial incide directamente en... Más »
El trabajo que sometemos a su consideración pretende mostrar nuestras consideraciones teóricas y metodológicas... Más »
¿Estás seguro de que deseas eliminar este capítulo?