Para realizar este tutorial es imprescindible que antes hayas realizado el tutorial del componente DateChooser, ya que estos componentes comparten la mayoría de sus propiedades y eventos.
Para empezar, lo que haremos será poner un componente DateField en nuestra biblioteca como es normal, y copiaremos y pegaremos el código que teníamos hecho en el componente DateChooser. Cambiaremos la primera línea para atachear bien nuestro componente:
attachMovie("DateField", "mi_calendario", 1);
//Formato de la fecha que se muestra en la casilla del calendario
mi_calendario.dateFormatter = function(lafecha:Date) {
//Si el día es menor qe 10 ponemos un "0" delante
if (lafecha.getDate()<10) {
mostrardia = "0"+lafecha.getDate();
} else {
mostrardia = lafecha.getDate();
}
//Si el mes es menor que 10 ponemos un "0" delante
if ((lafecha.getMonth()+1)<10) {
mostrarmes = "0"+(lafecha.getMonth()+1);
} else {
mostrarmes = lafecha.getMonth()+1;
}
//Aquí hacemos el formato que queremos
return mostrardia+"/"+mostrarmes+"/"+lafecha.getFullYear();
};
Al hacer el return estamos pasandole un nuevo formato de fecha a mostrar en la etiqueta de nuestro componente DateField.
Este componente, también tiene dos eventos nuevos, que son open y close. Estos controlan cuando se abre o cierra el menú. Vamos a añadir los listeners para estos eventos, y a programar unos traces para ver si funciona bien, añadamos este código a nuestros eventos.
//Listener para cuando abrimos el calendario
alAbrir = new Object();
alAbrir.open = function(evento) {
trace("Has abierto "+evento.target);
};
//Listener para cuando cerramos el calendario
alCerrar = new Object();
alCerrar.close = function(evento) {
trace("Has cerrado "+evento.target);
};
//Creamos los listeners
mi_calendario.addEventListener("open", alAbrir);
mi_calendario.addEventListener("close", alCerrar);
Añadiendo estos listeners podemos saber si el usuario ha abierto o cerrado nuestro DateField.
Este componente también tiene algo que DateChooser no tiene, métodos. Los métodos los podemos llamar cuando queramos, y ejecutan acciones en nuestros componentes. En este caso los métodos se llaman open() y close(), y no hay que confundirlos con los eventos, los eventos van sin los paréntesis, es importante diferenciar este punto.
Añade dos botones en tu escena y llamalos abrir_btn y cerrar_btn, ahora añade este código al final del todo:
abrir_btn.onPress = function() {
mi_calendario.open();
};
cerrar_btn.onPress = function() {
mi_calendario.close();
};
Ahora al apretar los botones podemos abrir y cerrar el calendario sin tener que apretar en el.
Y con esto ya esta todo, son muy similares, pero se usan para cosas diferentes ambos calendarios. Elegid vuestro estilo ; )
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Publica tu comentario
El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusión
o puedes...
¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate