GUI-BOX | EL CÓDIGO ES

ASOMBROSO. PASIÓN. DIVERTIDO. ESTRESANTE. SATISFACCIÓN.

LOGO

Área de descarga

Librería NefAnimación: animación y efecto fade para Java 2018

** Arreglado animaciones para JDialog

Tal vez muchos de ustedes ya sabes hacer efectos como este, pero para los que están empezando o les da flojera hacerlo desde 0, pues les comparto mi librería para crear animaciones sencillas para los jFrame y los jDialog.

Consideraciones

  • Solo funciona en JFrame o JDialog SIN DECORACIÓN (la propiedad undecorated debe estar marcada en las opciones del contenedor).
  • Requiere una versión de jdk 1.7 o 1.8

Cómo utilizarla

  • Importar la librería en el proyecto: propiedades del proyecto -> añadir jar
  • En código agregar la respectiva linea de código para importarla:

import Animacion.*;

  • Efecto para subir un contenedor:

if((this.getY()-(this.getHeight()/2)) < 0){ //este if es para detectar si el frame ya llegó a lo más alto de la pantalla, justo para que no siga avanzando hacia arriba.
   Animacion.subir(this.getY(), 0, 2, 2, this);
   /*Los parámetros a utilizar son:
     Animacion.subir(
      coordenada Y inicial,
      coordenada Y final o destino,
      retardo en milisegundos para cada iteración,
      cantidad de pixeles a recorrer en cada iteración hasta llegar a la coordenada final,
      componente (frame, panel, jdialog)
      );
      A MAYOR CANTIDAD DE MILISEGUNDOS, MAS LENTO SE MOVERÁ EL FRAME.
      A MAYOR CANTIDAD DE PIXELES A RECORRER EN CADA ITERACIÓN, MÁS "BRUSCO" SALTARÁ EL FRAME DE UNA POSICIÓN A OTRA.
   */
}else{//si aún no llega al tope superior de la pantalla, sigue avanzando normalmente hacia arriba.
   Animacion.subir(this.getY(), (this.getY()-(this.getHeight()/2)), 2, 2, this);
 }

this.getY() : es la coordenada Y del frame o ventana.

this.getHeight()/2: es la altura de la ventana dividida entre 2, para que la coordenada en Y final, sea la mitad del tamaño del componente. OJO se puede cambiar por cualquier valor numérico.

  • Efecto para bajar un contenedor:

if((this.getY()+(this.getHeight())) < screenSize.height){
   Animacion.bajar(this.getY(), (this.getY()+(this.getHeight()/2)), 2, 2, this);
/*Los parámetros a utilizar son:
     Animacion.bajar(
      coordenada Y inicial,
      coordenada Y final o destino,
      retardo en milisegundos para cada iteración,
      cantidad de pixeles a recorrer en cada iteración hasta llegar a la coordenada final,
      componente (frame, panel, jdialog)
      );
      A MAYOR CANTIDAD DE MILISEGUNDOS, MAS LENTO SE MOVERÁ EL FRAME.
      A MAYOR CANTIDAD DE PIXELES A RECORRER EN CADA ITERACIÓN, MÁS "BRUSCO" SALTARÁ EL FRAME DE UNA POSICIÓN A OTRA.
   */
}

  • Efecto para mover a la izquierda:

 if((this.getX()-(this.getWidth()) / 2) > 0){
     Animacion.mover_izquierda(this.getX(), (this.getX()-(this.getWidth() /2 )), 2, 2, this);
/*Los parámetros a utilizar son:
     Animacion.mover_izquierda(
      coordenada X inicial,
      coordenada X final o destino,
      retardo en milisegundos para cada iteración,
      cantidad de pixeles a recorrer en cada iteración hasta llegar a la coordenada final,
      componente (frame, panel, jdialog)
      );
      A MAYOR CANTIDAD DE MILISEGUNDOS, MAS LENTO SE MOVERÁ EL FRAME.
      A MAYOR CANTIDAD DE PIXELES A RECORRER EN CADA ITERACIÓN, MÁS "BRUSCO" SALTARÁ EL FRAME DE UNA POSICIÓN A OTRA.
   */
}

  • Efecto para mover a la derecha:

 if((this.getX()+(this.getWidth())) < screenSize.width){
     Animacion.mover_derecha(this.getX(), (this.getX()+(this.getWidth() / 2)), 2, 2, this);
/*Los parámetros a utilizar son:
     Animacion.mover_izquierda(
      coordenada X inicial,
      coordenada X final o destino,
      retardo en milisegundos para cada iteración,
      cantidad de pixeles a recorrer en cada iteración hasta llegar a la coordenada final,
      componente (frame, panel, jdialog)
      );
      A MAYOR CANTIDAD DE MILISEGUNDOS, MAS LENTO SE MOVERÁ EL FRAME.
      A MAYOR CANTIDAD DE PIXELES A RECORRER EN CADA ITERACIÓN, MÁS "BRUSCO" SALTARÁ EL FRAME DE UNA POSICIÓN A OTRA.
   */
}

Efectos Fade

  • Efecto Fade Out (barrido de salida):

/*Puedes utilizar JFrameFadeOut o JDialogFadeOut*/
Fade.JFrameFadeOut(1f, 0f, 0.1f, 50, this,Fade.EXIT);
/*Los parámetros a utilizar son:
     Fade.JFrameFadeOut(
      opacidad inicial (número flotante),
      opacidad final (número flotante),
      decremento para la opacidad-> en este ejemplo decrementa de 0.1 hasta llegar a 0,
      sleep o retardo entre cada iteración en milisegundos,
      componente (frame si usas JFrameFadeOut o jdialog si usas JDialogFadeOut),
      operacion que realizará al terminar el efecto, hay 4 acciones disponibles: EXIT, DISPOSE, HIDE, DO_NOTHING.
      );
      A MAYOR CANTIDAD DE MILISEGUNDOS, MAS TIEMPO SE TARDARÁ EN LLEGAR A LA OPACIDAD FINAL.
      A MAYOR CANTIDAD DE OPACIDAD A DECREMENTAR EN CADA ITERACIÓN, MÁS "BRUSCO" SE IRÁ OCULTANDO EL FRAME.
   */

  • Efecto Fade In (barrido de entrada):

/*Puedes utilizar JFrameFadeOut o JDialogFadeOut*/
Fade.JFrameFadeIn(0f, 1f, 0.1f, 50, frame_a_mostrar);
/*Los parámetros a utilizar son:
     Fade.JFrameFadeOut(
      opacidad inicial (número flotante),
      opacidad final (número flotante),
      incremento para la opacidad-> en este ejemplo incrementa de 0.1 hasta llegar a 1,
      sleep o retardo entre cada iteración en milisegundos,
      componente (frame si usas JFrameFadeIn o jdialog si usas JDialogFadeIn)
      );
      A MAYOR CANTIDAD DE MILISEGUNDOS, MAS TIEMPO SE TARDARÁ EN LLEGAR A LA OPACIDAD FINAL.
      A MAYOR CANTIDAD DE OPACIDAD A DECREMENTAR EN CADA ITERACIÓN, MÁS "BRUSCO" SE IRÁ OCULTANDO EL FRAME.
   */

8 comentarios

  • Luis Peiró

    Hola Noe, primero de todo muchas gracias por compartir tus conocimientos.
    Estoy probando la librería NefAnimacion V2.1, el efecto fade me funciona perfectamente en un JDialog, pero al querer probar la animación(subir, bajar, etc.) con el fade me sale un error, lo que quiero es que cuando presione un botón (ActionListener) haga los dos efectos, pero en el código de la animación me sale un error:
    Animacion.bajar(this.getY(), (this.getY() + (this.getHeight()/2)), 2, 2, this);
    Esta línea la tengo dentro del método que le paso al actionPerformed.
    Me subraya el método bajar y al poner el cursor encima (Eclipse) me sale:
    The method bajar(int, int, long, int, JComponent) in the type Animacion is not applicable for the arguments (int, int, int, int, DialogTorn)
    Despues de escribir Animación. seleciono el método:
    bajar(inicio, fin, retardo, salto, frame)
    Saludos y gracias.

    1. GUI-Box

      Hola Luis, ya probé la línea que te da problemas y si, efectivamente la librería está incorrecta, no funciona para JDialog. En estos momentos ya estoy corrigiendo el problema y en unos minutos puedes volver a descargarla para que funcione tu proyecto correctamente. Saludos y gracias por aportar.

  • Danis

    Buenas.
    Dónde está la opción para descargar esta librería… las de la izquierda te envían a cualquier sitio.

    Gracias.

    saludos.

    1. GUI-Box

      Hola, los links te redireccionan al acortador de enlaces. Para descargar debes desactivar tu bloqueador de publicidad y llenar el captcha e inmediatamente te mostrará la ventana para que guardes el archivo en tu ordenador. Todos los links funcionan, solo que uso el acortador para generar algo de ingreso.

  • Alejandro

    Hola….
    Me gustaría saber donde puedo encontrar información sobre el uso completo de la librería para poder sacarle un buen provecho. O tal vez que hagas unos tutoriales de la todos o la mayoría de los beneficios del uso de esta librería

    1. GUI-Box

      Pues la información que puse en el post muestra los métodos con los que cuenta la librería. no hay mucha ciencia, sólo mueve y desvanece elementos. Formas de usarlo pues debería usar tu imaginación por decirte algunos ejemplos: Menús, botones, alertas, notificaciones, galerías, carruseles, etc.

  • Chris

    Dónde está la opción para descargar esta librería?

    1. GUI-Box

      Del lado izquierdo está el área de descargas, te redireccionará a una página acortador de enlaces (tipo adfly), te saltas la publicidad y empezará a descargarse el archivo.

  • Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio utiliza cookies para mejorar tu experiencia y nuestro servicio . Leer más