Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Añadir Splash Screen en Java/Netbeans

Añadir Splash Screen en Java/Netbeans

Por jc mouse sábado, junio 2, 2012

¿Splash Screen?

El splash screen o traducido al aspañol 😉  es una «Pantalla de bienvenida» que se muestra cuando se ejecuta algunos programas, también se lo utiliza para dar un lapso de tiempo para que el programa cargue todos los recursos que necesita, esto en programas grandes como por ejemplo el mismo Netbeans, en programas pequeños es más un adorno.

Netbeans nos permite configurar una imagen de bienvenida fácilmente, esta imagen puede ser un jpeg, un png o gif animado, sin embargo se puede añadir algunos adornos más, programando pocas lineas de código, esto es lo que haremos en este tutorial.

Necesitamos.

  • Java y Netbeans 6.9 o superior
  • Un editor de imagenes GIMP, photoshop, corel, etc
  • nada más 🙂

1. Con el editor de imagenes, crea una pantalla de bienvenida de dimensiones 640×720 como la que ves abajo, esta imagen guardala con extensión *.PNG con transparencias

plantilla splash screen

2. Crea un nuevo proyecto en netbeans y añade una clase «ScreenSplash.java», ademas añade un JFrame, este jframe corresponde al programa principal que se debe mostrar una vez que el Splash Screen termine de ejecutarse, renombra como «miprograma.java». Ademas añade al proyecto la imagen que creaste en el paso 1, debes tener algo como esto:

01 proyecto
02 -- Main.java
03 -- ScreenSplash.java
04 -- miprograma.java
05 -- splash.png

3. En la clase ScreenSplah, añade el siguiente código:

import java.awt.*;
import java.awt.SplashScreen;
/**
 * @web https://www.jc-mouse.net
 * @author Mouse
 */
public final class ScreenSplash {

  final SplashScreen splash ;
  //texto que se muestra a medida que se va cargando el screensplah
  final String[] texto = {"Gimme the power" ,"configuration", "library",
                          "files XYZ","forms","iconos","properties",
                          "XML files", "X-files", "anonymous",
                          "database" ,"server","wtf!",
                          ""};

  public ScreenSplash() {
  splash = SplashScreen.getSplashScreen();
  }

   public void animar()
   {
        if (splash != null)
        {
            Graphics2D g = splash.createGraphics();
            for(int i=1; i<texto.length; i++)
            {                       
                //se pinta texto del array
                g.setColor( new Color(4,52,101));//color de fondo
         g.fillRect(203, 328,280,12);//para tapar texto anterior
                g.setColor(Color.white);//color de texto 
                g.drawString("Loading "+texto[i-1]+"...", 203, 338);                
                g.setColor(Color.green);//color de barra de progeso
                g.fillRect(204, 308,(i*307/texto.length), 12);//la barra de progreso
                //se pinta una linea segmentada encima de la barra verde
                float dash1[] = {2.0f};
                BasicStroke dashed = new BasicStroke(9.0f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER,5.0f, dash1, 0.0f);
                g.setStroke(dashed);
                g.setColor(Color.GREEN);//color de barra de progeso
                g.setColor( new Color(4,52,101));
                g.drawLine(205,314, 510, 314);                
                //se actualiza todo
                splash.update();
  try {
   Thread.sleep(321);
  } catch(InterruptedException e) { }
            }
    splash.close();
 }
        //una vez terminada la animación se muestra la aplicación principal
         try {
             new miprograma().setVisible(true);
         }
 catch (Exception e) {
            System.out.println(e.getMessage());
        }
   }

}

3. Ahora dirígete al menú: Archivo -> propiedades de proyecto o haz un clic derecho sobre el nombre del proyecto y elige propiedades.

En la ventana que se abre dirigete a la opción «Aplicación» y donde dice Splash Screen (examinar), presiona el boton y busca la imagen que creaste en el paso 1, esta está en la misma carpeta del proyecto, es decir:

Dale clic para ampliar

Luego copia la dirección y ve a la opción «Ejecutar«, la cadena que copias debes recortarla, por ejemplo:

Antes:

C:\Users\Anonymous\Documents\NetBeansProjects\java_splash\src\java_splash\splash.png

Despues:

-splash:src\java_splash\splash.png

Esta nueva cadena la pegas donde dice «Opciones de la Maquina Virtual», es decir:

para ampliar dale clic

4. Para terminar en la clase Main.java, llamamos a nuestra clase SplashScreen.java

    public static void main(String[] args) {
        new ScreenSplash().animar();                        
    }

Guardamos todo y ejecutamos

Splash Screen

🙂 FIN

Proyecto utilizado en este tutorial SplashScreen 

enjoy!!!

Tags

Artículos similares

JTree Recursivo

En un post anterior se vio como llenar un JTree en donde se conocía de antemano que estructura iba a tener esta sin emba[...]

GSON: Generar JSON desde objetos Java

Gson es una biblioteca de código abierto para Java desarrollado por Google Inc que permite la serialización y deserializ[...]

Crear archivos JNLP con Netbeans

¿Que son los archivos JNLP? Java Network Launching Protocol (JNLP) es una especificación usada por Java Web Start. Esta[...]

Números narcisistas o de Armstrong

Los números narcisistas o números de Armstrong son aquellos números enteros positivos  cuya suma de las n-ésim[...]

4 IDEs online para java y mucho más

A continuación te muestro 4 herramientas online para programadores en lenguaje Java y otros lenguajes de programación co[...]

Minimizar aplicación al SystemTray/Bandeja del Sistema

El SystemTray/Bandeja del Sistema o como también se le llama «Área de Notificación» es la sección de la barra de tareas[...]