Un selector de fechas para aplicaciones Java



JDateChooser es un selector de fechas para Java completamente personalizable, configurable y gratuito!, además contiene un demo desde el cual puedes hacerlo todo rápido y fácil, basta con descargar el .zip que contiene el archivo .jar y la documentación para comenzar a trabajar con él prácticamente de manera transparente.

Lo he localizado en el sitio de Plug-ins de NetBeans y la verdad es que he quedado sorprendido con las características y funciones que tiene.
Para facilitar un poco el trabajo de aquellos que desean emplearlo en sus aplicaciones voy a describir los pasos necesarios para agregarlo a la paleta de componentes y emplearlo dentro del código.
  1. Descarga el archivo Zip.
  2. Descomprímelo en la ubicación que desees.
  3. Localiza el archivo DateChooserDemo dentro de la carpeta que acabas de descomprimir y ejecútalo para que conozcas las capacidades del selector de fechas.
  4. Ingresa a la carpeta lib que se encuentra dentro de la misma carpeta.
  5. Copia el archivo DateChooser.jar hacia el path de librerías de java, normalmente es c:/Archivos de programa/Java/jdk1.6/jre/lib/ext.

    *La versión del jdk que aparece en la ruta puede variar en tu equipo, depende de la versión que tengas instalada.
  6. Inicia NetBeans y espera a que cargue por completo.
  7. Da un clic derecho sobre la paleta de componentes del lado derecho y selecciona 'Palette Manager'.


  8. En la siguiente ventana da clic en el botón de 'Add from Jar'.
  9. En el selector de archivos ubícate en el Path de librerías de Java (la misma donde copiaste el archivo anteriormente) y selecciona DateChooser.

    [clic en la imagen para agrandar]






  10. Da clic en 'Next' y selecciona los 3 elementos que aparecen en la ventana.
  11. Selecciona la categoría en la que quieres que aparezca y da clic en 'Finalizar'.
  12. Con esto tendrás el DateChooser disponible desde la paleta y bastará con arrastrar y soltar para integrarlo a una ventana de la aplicación.
Si deseas emplear el DateChooser como una ventana emergente en la aplicación debes de utilizar el siguiente código en el momento que deseas que aparezca:

DateChooserDialog dt = new DateChooserDialog();
dt.showDialog(null);

Y listo! ahora tienes un vistoso y potente selector de fechas para tus aplicaciones, cabe mencionar que el DateChooser soporta LookAndFeel's para cambiar su aspecto.

Alguna duda o algo que decir? Deja tu comentario. Saludox.

Fuente | Plug-ing portal NetBeans

59 comentarios:

  1. salazartatiana dijo...:

    Hola, sabes cómo hago para adicionar el DateChooser a la paleta de componentes de OracleJDeveloper... es que no encuentro esa carpeta de la que hablas, donde dices que hay que meter el .jar. Gracias.

  1. Monillo007 dijo...:

    Qué tal Tatiana!

    La verdad es que no he manejado el Oracle JDeveloper, te recomiendo visitar la página del proyecto para que se te de una mejor orientación.

    En cuanto a la carpeta del .jar, te comento que en Windows normalmente se encuentra en c:\Archivos de programa\Java\jdk*\jre\lib\ext donde * es la versión del jdk con la que cuentas actualmente, cualquier IDE de desarrollo que trabaje con dicho jdk tomará las librerías de dicha carpeta.

    Espero haberte orientado. Saludox.

  1. Anónimo dijo...:

    Gracias por tu aporte, me sirvio de mucho, sigue asi (Y)

  1. Anónimo dijo...:

    Hola, sabes cómo hago para adicionar el DateChooser a la paleta de componentes de Ecplise

  1. CM@gno dijo...:

    para agregar el jdatechoser a jdeveloper es muy facil solo tienes que importar el datechoser.jar a tu proyecto y despues hecer una instancia del datechoser asi:
    datechooser.beans.DateChooserCombo dateChooserCombo1 = new datechooser.beans.DateChooserCombo();
    y le agregas a un panel que tengas o a una ventana y ya con eso tienes el datechooser en tu programa

  1. CM@gno dijo...:

    Alguien sabe como cargar una fecha al jdatechooser es que cuando recupero la fecho con el getText(); fresco capturo la fecha y yo quiero saber como escribo la fecha en datechooser el setText no funciona

  1. Anónimo dijo...:

    Hola me gustaria q me ayudaran a como capturar la fecha del jDateChooser yo lo e logrado poner con formato dd/MM/yy y funciona pero cuando extraigo la fecha con jDateChooser.getDate(), me la extrae de esta manera Sat Nov 08 13:15:25 CST 2008 y me interesa poder capturarla como me la muestra en el jDateChooser(por ejemplo 30/11/08)gracias de antemano y esta buenisima esta pagina..

  1. Anónimo dijo...:

    EXCELENTE APORTE, TE FELICITO ME SIRVIO MUCHO.
    SALUDOS

  1. Marco dijo...:

    Soy fan de este calendario, pero por favor como escribo en él, setText no funciona.

    Les agradecería si me ayudan.

    Mi correo es: marcoantonio182@hotmail.com

    por favor escribanme.

  1. Anónimo dijo...:

    Muchas gracias,mi pregunta es la sigiente :
    tengo una vase de datos ne mysql, y esto trabajando con java, ya agrege el componete del formulario, deseo almacenar la fecha con el JDataChooser pero me sale error, y no hay metodo getText(), para octener el dato, y al macenarlo en la base de datos, agradeseria mucho su ayuda, de atemano le agradesco la atecion, gracias

  1. Cleofas dijo...:

    Hola el calendario esta excelente, solo que he tenido problemas al intentar agregar al palette manager, puesto que me abre la ventana pero no tengo la opcion de "agregar add from jar" alguien ayudeme soy un novato en java... mi version es NetBeans 6.5.1 gracias!!!

  1. Anónimo dijo...:

    Que tranzaaaaa wikipedioosss jaja psss ahi esta el codigo para sacar la fecha, la neta el selector de fechas este esta medio mal hecho pero pss es JAVA a ver si luego postean el codigo para establecer una fecha con setDate, que yo aun no lo averiguo, en fin, este es el codigo para sacar la fecha:

    private void FecNacComboOnCommit(datechooser.events.CommitEvent evt) { //Evento del selector de fecha




    String []datos=FecNacCombo.getText().split("/");

    String Dia, Mes, Ano;
    Dia="";
    Mes="";
    Ano="";

    Dia=datos[0] ;
    Mes=datos[1] ;
    Ano=datos[2] ;



    txtFecNac.setText(Ano+"-" + Mes + "-"+ Dia); //Caja de texto donde va la fecha extraida
    }


    Saludos, visiten mi myspace jeje http://www.myspace.com/gamaglobulina

  1. Muy buen aporte... tengo un problema, como puedo insertar un JDateChooser en una celda de un JTable...???? alguien me puede ayudar???

  1. Anónimo dijo...:

    Hola que tal, tengo el mismo problema de algunos, no puedo cargar una fecha en el jDatechooser con el set, hay qlguna forma de hacerlo, o no se puede pra que ya no le busque mas.

  1. Anónimo dijo...:

    como puedo verificar o hacer una condicion que un dateChooserCombo1 NO SEHA MAYOR QUE dateChooserCombo2 CONDICIONAR LAS FECHAS
    PARA PODER ENTRAR A OTRA CLASE

  1. Catalina dijo...:

    alguien sabe como corregir este error

    ya tengo la pantalla en netbeans con el datechooser pero cuando ejecuto el codiojo en java me sale este error
    package datechooser.beans does not exist.

    porfavor necesito ayuda para esto gracias

  1. Anónimo dijo...:

    Muchas gracias te pasaste. :)

  1. Anónimo dijo...:

    PORFAVOR necesito saber como establecer una fecha guardada desde un String en el JDateChooser, me corre urgencia, tope_guay@hotmail.com

  1. Anónimo dijo...:

    muchas gracias, fue de mucha ayuda para mi.

  1. Anónimo dijo...:

    Alguien me podría decir como colocar una fecha, que están en string, en el JDateChooser....

    Agradezco mucho la ayuda que me puedan brindar.

    Mi correo es: marthica.cae@latinmail.com

  1. Anónimo dijo...:

    Excelente Campeon!!!

  1. Anónimo dijo...:

    Hola soy nuevo en el mundo de java... encontre esta practica herramienta de calendario y lo agregue a mis formulario... la pregunta es como debo programarlo para que me ingrese la fecha a la base de datos de mysql... es decir quien me pueda regalar el codigo se lo agradeceria pues llevo un mes tratanto de configurarlo y no he sido capaz... ni siquiera mi instructor de java fue capaz con el ... haci que auxilio gracias....

  1. Anónimo dijo...:

    para almacenarlo en mysql,aca tienes unas lineas de codigo mas simples:

    java.util.Date fech = jdcFecha.getCalendar().getTime();
    long d = fech.getTime();
    java.sql.Date dat = new java.sql.Date(d);

    y si queres corroborar solo lo imprimes
    Syste.out.println("la fecha es: "+dat);

  1. Anónimo dijo...:

    hola como hago para guardar lo de un jLabel a la fecha actual q me sale en el DateChooser porfa ayudenme

  1. Anónimo dijo...:

    Graciotas tu blog esta chido me sirvio de mucho...!!

  1. Anónimo dijo...:

    un millòn de gracias !!!

  1. Anónimo dijo...:

    HE aqui un metodo que obtiene la fecha de un objeto de la clase datechooser.beans.DateChooserCombo y creando un objeto de la clase SimpleDateFormat obtenemos un formato de fecha que deseemos

    private String obtenerFechaCombo() {
    Date fecha = fecha_nacimiento_chooser.getCurrent().getTime();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String formatoFecha = "";
    if (fecha != null) {
    formatoFecha = sdf.format(fecha);
    System.out.println(formatoFecha);
    }
    return formatoFecha;
    }

  1. Gopi dijo...:

    Date fechaIn;

    if ( ( fechaIn = DCfechaInicio.getDate())!= null){

    SimpleDateFormat fechaIpersonalizada = new SimpleDateFormat("yyyy-MM-dd");
    fechaI = fechaIpersonalizada.format(fechaIn);}

    else { JOptionPane.showMessageDialog(null, "El campo fecha INICIO esta vacio");}


    Hola utilizo ese codigo para obtener la fecha selecciona en el dateChooser en un formulario uso java.form la variable fechaI es la q gurda la fecha y la uso para guardar en la base de datos...


    mi problema como hago para que la fecha guardada en la BD se muestre de nuevo en el datechooser de mi formulario.... me pueden ayudar!!!

    gopilozada@gmail.com

  1. Anónimo dijo...:

    hola. me podrian decir como hacer para usar un evento keyRelease en el jDateChooser? o sea y quiero que se pueda escribir la fecha con el teclado pero a medida que va escribiendo agregarle la barra o el guion a la fecha ingresada o sea que se ingrese por ej: 12092011 pero al escribir se agregue el guion y quede asi 12-09-2011.
    Desde ya muchas gracias espero alguna respuesta que sea de ayuda

  1. JSergio dijo...:

    GOPI:
    una solucion que es la que yo empleo es la de obtener desde la base de datos un resultset el cual contiene el resultado de la consulta alli adentro debe estar le fecha que queres setear en el dateChooser.
    entonces lo que tenes que hacer ees lo siguiente:

    Date date = new Date();
    date = resultSet.getDate("fecha");
    dateChooser.setDate(date);

    con esas 3 lineas deberias setear la fecha que traes de la BD. Espero te sirva. Saludos.
    Sergio

    yo necesito ayuda con esto:

    hola. me podrian decir como hacer para usar un evento keyRelease en el jDateChooser? o sea yo quiero que se pueda escribir la fecha con el teclado pero a medida que va escribiendo agregarle la barra o el guion a la fecha ingresada o sea que se ingrese por ej: 12092011 pero al escribir se agregue el guion y quede asi 12-09-2011.
    Desde ya muchas gracias espero alguna respuesta que sea de ayuda

  1. Gopi dijo...:

    Gracias JSergio, voy a aplicar lo que me dices luego te cuento. y con tu solicitud mira no se decirte... soy principiante... estoy programando mi proyecto para optar por el titulo TSU. si encuentro algo te lo hago saber.

  1. Anónimo dijo...:

    Buenas Tardes, quisiera saber si se puede asignar fecha 0000-00-00 a un JDateChooser, ya que necesito castear una busqueda el una base de datos y necesito asignar valor 0000-00-00.
    Si me pueden ayudar!! :)
    Andrea C.

  1. Anónimo dijo...:

    como logramos obtener la fecha del DateChooserDialog en un string para visualizarlo en un label o guardarlo ayuda por favor.....

  1. Anónimo dijo...:

    Hola, estoy empezando a programar en java y me ha resultado de gran utilidad esta explicación.
    Me gustaría saber donde conseguir más librerías de este tipo (como el DateChoose), es decir, por ejemplo, para un reloj, reproductores multimedia...
    Un saludo

  1. Luis Navarro dijo...:

    Qué tal,

    Tendrías que buscarlas de una en una acorde a lo que necesitas, hasta donde yo se no existe un sitio donde esté en concentrado de las mismas, de cualquier manera trataré de buscar alguno y en caso de que lo encuentre lo comparto en un post.

    Por lo pronto te recomiendo visitar www.java2s.com ahi has bastantes ejemplos con diversas librerías.

    Saludox.

  1. Anónimo dijo...:

    Hola amigos que tal
    Aqui les traigo la solucion para los que quieren mostrar una fecha en el DateChooserCombo. fue todo un dolor de cabeza 4 horas de intensa busqueda por la web y nada todos con el mismo problema y sin solucion alguna, todo mi codigo estaba perfecto pero era una pendejada de nada la que me hizo sufrir bastante hasta que me tope con un foro que se llama JavaFree.org que encontre en portugues y ahi una persona se dio cuenta que el DateChooserCombo no cambia la fecha que queremos mostrar si el metodo .setEnabled(); esta en false. y por esta porqueria sufri bastante, pero bueno reconosco que esos tipos de foros me han ayudado bastante y por eso quiero compartir mi codigo:

    @Estudiante de Ingenieria en Sistemas
    @Jaime Segura Ramirez Mexico

    Bueno primero le damos formato de fecha con SimpleDateFormat en mi caso quiero el formato para guardar en MySQL


    SimpleDateFormat MySQLFormat=new SimpleDateFormat("yyyy-MM-dd");

    //despues de agregar su DateChooserCombo al JFrame, damos formato pasandole el //metodo .setDateFormat(); y listo se visualizara automaticamente la fecha en dicho
    //formato

    FechaPrueba.setDateFormat(MySQLFormat);

    //con el metodo .getText(); obtienen la fecha en String
    FechaPrueba.getText();

    //ahora mostramos la fecha en el DateChooserCombo
    // el metodo .setText(); no serive o al menos no he encontrado un uso adecuado
    //para este
    //asi que usaremos el metodo .setSelectedDate(); que recibe como entrada un data
    //tipo Calendar asi que inicializamos nuestra variable Calendar

    Calendar fecha=new GregorianCalendar();

    //yo por ejemplo extraigo la fecha de mi base de datos MsQL en tonces mi codigo es
    // el siguiente

    consulta="select fecha from Tabla etc...";
    try {
    rs=conexion.executeQuery(consulta);
    while(rs.next())//mientras aya datos
    {
    fecha.setTime(rs.getDate(1));
    FechaPrueba.setSelectedDate(fecha);
    }catch(Exception ex){}

    //a mi variable fecha de tipo Calendar le paso el metodo .setTime();
    //que recibe un dato de tipo Date en este caso la fecha que extraigo
    //de mi base de datos le paso el metodo .getDate();
    //y por ultimo muestro la fecha FechaPrueba.setSelectedDate(fecha);
    //la fecha a mostrar si o si debe ser de tipo Calendar
    //el dateChooser debe de ser .setEnabled(true); si o si de lo contrario
    //la fecha no se mostrara esto fue lo que ocaciono mi dolor de cabeza

  1. Anónimo dijo...:

    hola bueno quisiera preguntarles si alguien sabe como obtener la fecha de un jdatechooser que esta en una tabla (lo hice con una clase editor y una render), tal vez me hace falta agregar un listener, pero no se como o donde espero me puedan ayudar, gracias

  1. alabastor dijo...:

    Bueno acabo de enterarme de esta libreria y ya lo implemente, aqui comparto el codigo espero que les sirva y cualquier comentario, avisen


    private void mostrarDateChooser() {
    DateChooserDialog dcd=null;
    dcd=new DateChooserDialog();
    dcd.setModal(true);
    dcd.setSelectedDate(null);
    dcd.showDialog(null);


    Calendar cal=dcd.getSelectedDate();
    if (cal!=null) {
    int day=cal.get(Calendar.DAY_OF_MONTH);
    int mes=cal.get(Calendar.MONTH);
    int year=cal.get(Calendar.YEAR);
    String fecha="fecha: "+day+"/"+(mes+1)+"/"+year;
    System.out.println(fecha);

    this.jTextFieldFecha.setText(fecha);


    } else {

    this.jTextFieldFecha.setText(null);

    }
    }

  1. Anónimo dijo...:

    amigo yo utilizo como ventana emergente llamandolo cuando le doy clic a un boton usando tu codigo:
    DateChooserDialog dt2 = new DateChooserDialog();
    dt2.showDialog(null);
    pero cuando lo llamo de esa manera el datechooser me sale con 2 botones "ok" y "CANCELAR";
    de que manera puedo manejar esos 2 botones??
    muchas gracias.

  1. George.19.gt dijo...:

    hola, Como puedo cargar una fecha desde la BD a la jDateChooser, me ha funcionado con el código que compartió “ Anónimo “ el día 8 de febrero de 2012 00:53, pero este solo funciona una vez, por ejemplo yo realizo la conexión a la BD y busco un registro y si me carga la fecha de ese registro previamente guardado, pero después realizo una nueva búsqueda y sigue teniendo la misma fecha que el anterior y ya no me cambia. Como lo solucionó? Ya lo he intentado de varias maneras y no doy con la solución. Alguien que pueda y quiera ayudarme?

  1. Anónimo dijo...:

    Buenos dias, espero me ayuden necesito que en un jcalender al correr la aplicacion cargue la fecha del sistema sin tener que pulsar el boton del combro ya que la mayoria de los casos de mi sistema la fecha es la actual.
    Gracias por su ayuda

  1. Estoy tratando de mostrar multiples fechas seleccionadas en un dateChooserPanel, pero no lo consigo. Esto es lo que tengo hasta ahora.

    //algunas de las librerias que importo son..
    import java.util.GregorianCalendar;
    import datechooser.model.multiple.Period;
    import datechooser.model.multiple.PeriodSet;

    //en el ActionPerformed del botón genero esto..
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    String fec_s;
    Date fec_d = null;

    conectar.consultarDato("SELECT * FROM mensualidades");
    while(conectar.Siguiente()){//la consulta del campo está bien, igual que el formato.

    //consulta como string
    fec_s = conectar.getCampo("fec_fin_men");

    //convierte a data
    try {
    fec_d = sdf.parse(String.valueOf(fec_s));
    } catch (ParseException ex) {
    }

    //inicia el calendar
    Calendar fec_c = Calendar.getInstance();

    //convierte a calendar sin formato
    fec_c.setTime(fec_d);

    GregorianCalendar gc2 = new GregorianCalendar();
    gc2.setTime(fec_c.getTime());//esta es la fecha de los registros de la bd, trae varios y los lee


    //--LO IMPORTANTE ES AQUI
    try{
    dateChooserPanel1.setDefaultPeriods(new PeriodSet(//puede ser porque estoy creando de 0 aqui
    new Period((gc2))//Muestra seleccionada solo la última y necesito que seleccione todas.
    )
    );
    }
    catch (IncompatibleDataExeption e1) {
    }
    //--
    }//cierro while de la consulta

    Si alguien puede ayudarme lo agradezco inmensamente

  1. Oscar dijo...:

    Para establecer una fecha en el jdatechooser mediante setdate() casi muero en el intento pero lo logre!! a prueba y error;
    Al recuperar la fecha de MYSQL por ejm nos vendra asi : '1995-05-21'
    ya es carpinteria para ustedes convertirlo a esto "05/21/1995"
    es decir formato MM/dd/yyyy.
    El perro control jdatechooser solo reconoce la fecha en ese orden.
    Luego tomamos el string que formateamos y hacemos lo siguiente.

    String fecMysqlFormateada = "05/21/1995";

    java.util.Date fec;
    try{
    SimpleDateFormat formato = new SimpleDateFormat("MM/dd/yyyy");
    fec = formato.parse(fecMysqlFormateada);

    // Este es el toque final se lo pasamos al jDateChooser
    jDateChooser1.setDate(fec);

    El formateo no afectara la forma en que se muestra en el jdatechooser ya que previamente yo defini en la propiedad dateFormatString asi dd-MM-yyyy que el formato en el que lo vera el usuario.Espero les sirva si sufri con esto.Exitos



    }catch(Exception e){

    JOptionPane.showMessageDialog(null,e);
    }

    }

  1. Anónimo dijo...:

    en el calendario no me aparece la enumeracion de los dias alguien me puede decir q es lo q sucede

  1. sio dijo...:

    hol necesito ayuda es urgente por que no mi jdatachooser siempre regresa a enero

  1. Hola necesito su ayuda para cambiar el formato de la fecha de un jdatechooser me aparece de esta forma 10/11/12(dd/mm/yy) y la necesito de esta forma 2012-11-10 (yyyy-mm-dd) para guardala en MySQL les agradezco su ayuda mi correo es Giovani.llamas@gmail.com

  1. Anónimo dijo...:

    debes de ponerlo asi dd/MM/yyyy

  1. Anónimo dijo...:

    como cambiar el formato en que muestra la fecha?

    Gracias.

  1. Buenas, cuando creo el archivo jar si lo ejecuto dentro de la carpeta del proyecto funciona el jDateChooser, pero si lo saco de esta ya no funciona, se me cierra el jar. Como se puede solucionar??

  1. Hola amiga usa este método.
    public String InvertirChooserCombo(DateChooserCombo f)
    {
    String año,mes,dia;
    año=f.getText().substring(6, 10);
    mes=f.getText().substring(3, 5);
    dia=f.getText().substring(0, 2);
    // dlg.showMessageDialog(this,año+"-"+mes+"-"+dia);
    return año+"-"+mes+"-"+dia;
    }

  1. Debes de copiar y pegar la carpeta de tus librerías en donde se encuentra tu .jar y funcionará.

  1. Ahora mi Pregunta....
    Como tengo que hacer para que un DateChooserCombo me visualice una fecha pero que tengo en String.

  1. Facu dijo...:

    Hola, tengo el mismo problema que varios aqui. Al ejecutar mi app, y querer elegir una fecha, no se muestran los numeros de los dias del mes en que estoy posicionado. En cambio, me muestra "..." tres puntos suspensivos.
    Alguien sabe cual puede ser el inconveniente ?

  1. Anónimo dijo...:

    exelente, pero si abro el proyecto guardado en otro pc no me aparece el calendario

  1. Primero que nada agradecer por el aporte, no tengo problemas con los getter y setters despues de leer varios de los comentarios anteriores alguno dio...
    La cuestion es que como a varios no me aparecen los numeros en el calendario, solo tres puntos (...) imagino que es cuestion del tamaño de la 'celda' del dia en el calendario mas si es eso o no lo se ni como repararlo, si alguien sabe como y en especial quien creo el post muhos estaremos agradecidos... Saludos

  1. luis dijo...:

    amigo muchas gracias la verdad que el conocimiento es libre Bendiciones diarias para usted viejo

  1. Como puedo ver los comentarios que ya hicieron??? Es que ya habia visto en los comentarios como usar el datachooser para ponerle formato en MySQL

  1. elba dijo...:

    Amigo muchas gracias, el codigo que publicas me ayudo mucho....Excelente

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

 
Monillo007 © 2010 | Designed by Trucks, Manual Bookmarking | Elegant Themes