Capitulos de este wiki
  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. 11 Estructura de una clase
  11. 12 Estructura de clases
  12. 13 Declaración de la clase
  13. 14 El cuerpo de la clase
  14. 15 El cuerpo de los métodos
  15. 16 Declaración de variables locales
  16. 17 Asignaciones a variables
  17. 18 Operaciones matematicas
  18. 19 Llamadas a métodos
  19. 20 Las estructuras de control
  20. 21 If. [else]
  21. 22 Switch. Case.brake.default
  22. 23 While
  23. 24 Do. While
  24. 25 For
  25. 26 Break y continue
  26. 27 Otras...
  27. 28 Hagamos algo...
  28. 29 La clase Complejo
  29. 30 Algo sobre los métodos
  30. 31 Java a través de la ventana
  31. 32 Nuestra primera ventana
  32. 33 Un poco de detalle
  33. 34 Y los eventos...
  34. 35 Una ventana con vida
  35. 36 Viajando con Java
  36. 37 Preparando listas
  37. 38 Agregando fechas
  38. 39 Juntando todo hasta aquí
  39. 40 Completando la ventana
  40. 41 Un poquito de actividad
  41. 42 Y para terminar...
  42. 43 Finale con tutto
  43. 44 Un paréntesis de entrada/salida
  44. 45 Primera Lectura
  45. 46 Capturando excepciones
  46. 47 Los applets y los archivos
  47. 48 Nuestro modesto "Editor"
  48. 49 Volviendo al awt
  49. 50 Menú a la Java
  50. 51 Dialogos
  51. 52 Dibujava
  52. 53 Canvas en acción
  53. 54 El applet-container
  54. 55 Nuestro Canvas a medida
  55. 56 Dibujava ii
  56. 57 Vectores en acción
  57. 58 Flicker molesto!
  58. 59 Anímate!
  59. 60 Java en hebras
  60. 61 Los pasos basicos
  61. 62 Reunión de amigos
  62. 63 Creando Threads
  63. 64 Y los applets...?
  64. 65 La liebre y la tortuga (y el guepardo)
  65. 66 Sincronicemos los relojes
  66. 67 Mas sincronización
  67. 68 Multimedia!
  68. 69 Parametrizando un applet
  69. 70 Paseando por la red
  70. 71 Los Sockets
  71. 72 Un servidor atento
  72. 73 El cliente satisfecho

Java partiendo de Cero - Agregando fechas

38 - Agregando fechas

[editar]
Curso gratis creado por Jorge Bourdette. Extraido de: http://www.publispain.com/supertutoriales
30 de Noviembre de 1999
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++;
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.
[editar]

84 opiniones

asdf

que quiers decir con Expresion Booleana?




1 2 3 4 5 6 7 ... 17 | siguiente >

Cursos gratis relacionados con 'Java partiendo de Cero'

Autor y licencia de 'Java partiendo de Cero'


Curso gratis de Jorge Bourdette. Extraido de: http://www.publispain.com/supertutoriales CopyLeft
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.