¿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.
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
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:
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:
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
🙂 FIN
Proyecto utilizado en este tutorial SplashScreen
Continuando con el estudio del meta lenguaje XML (Lenguaje de Marcado Extensible) bastante utilizado en el intercambio d[...]
Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la inter[...]
Microsoft acaba de lanzar Cascadia Code una fuente monoespaciada enfocada en proporcionar una mejor experiencia en conso[...]
En este post crearemos un swing Label personalizado que tendrá la forma circular en su borde, con esto obtendremos un bo[...]
Continuación del tutorial «Utiliza 2 bases de datos diferentes en una aplicación» La Interfaz frmSelected.java: Haciendo[...]
Continuando con estos post de Cliente/Servidor, en esta oportunidad realizaremos un ejemplo usando un dispositivo móvil[...]