java - Creando una bonita animación "CARGANDO..."
animation loading (3)
Posible duplicado:
¿Bastante alternativa a JProgressBar?
Tengo un proceso que tarda varios segundos en cargar, y quiero crear una animación en Java Swing hasta que termine de cargar.
Me gustaría evitar el uso de una ProgressBar típica y usar un buen progreso infinito moderno como este
Estoy al tanto de preguntas similares, pero esto es estrictamente relacionado con Java Swing. ¿Hay alguna biblioteca o ejemplo para esto?
Claro que es posible. Puede usar la herramienta AjaxLoad para generar una imagen animada, que se puede usar en cualquier contenedor de imagen / html.
Simplemente use un ImageIcon
para esta tarea, anima automáticamente los gifs . El siguiente código produjo esta captura de pantalla ( el ajax-loader.gif
se descargó de http://www.ajaxload.info/ ):
Código:
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("Test");
ImageIcon loading = new ImageIcon("ajax-loader.gif");
frame.add(new JLabel("loading... ", loading, JLabel.CENTER));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
Recomiendo usar el cristal para este tipo de actividad. Los pasos involucrados son:
- Crea un
JComponent
conBorderLayout
. Agregue unJLabel
alCENTER
que incluye el icono .gif animado de su elección. - (Opcional) Anule el método de
paint(Graphics)
para hacer que su GUI aparezca atenuada (o atenuada). Para lograr esto, debe dibujar un rectángulo relleno del tamaño del componente, llenando el rectángulo con un Color semitransparente. - Agregue el componente como el cristal del marco raíz de su aplicación.