Kamis, 26 April 2012



Woi, ketemu lagi. Mumpung lagi semangat-semangatnya nulis tutorial nih. Kali ini saya akan memberikan tutorial sederhana, yaitu bagaimana cara membuat splash screen yang biasanya ditampilkan sebelum sebuah program dijalankan. Sebenarnya, jika Anda memakai NetBeans, sangat mudah sekali kalau ingin membuat splash screen. Tutorialnya ada di sini. Sedangkan yang saya buat, bisa diaplikasikan meski pakai text editor biasa.

Teknik ini memanfaatkan class JWindow dari package javax.swing dan peran sebuah thread untuk melakukan sleep. Anda bisa mengacak-acak (baca: mempelajari) source code di bawah ini

/*
* DO NOT REMOVE THIS COPYRIGHT
*
* This source code is created by Muhammad Fauzil Haqqi
* You can use and modify this source code but
* you are forbidden to change or remove this license
*
* Nick : Haqqi
* YM : xp_guitarist
* Email : fauzil.haqqi@gmail.com
* Blog : http://fauzilhaqqi.blogspot.com
*/

import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JWindow;

/**
*
* @author Haqqi
*/
public class SplashScreen extends JWindow {
//*********************//
//*** Variable area ***//
//*********************//
private BufferedImage image;

//************************//
//*** Constructor area ***//
//************************//
public SplashScreen(BufferedImage image) {
this.image = image;
}

//*******************//
//*** Method area ***//
//*******************//
public void showSplash(int duration) {
// primary panel, get from frame's content pane
JPanel pane = (JPanel) getContentPane();
// set the size based on image size
int width = image.getWidth();
int height = image.getHeight();
pane.setPreferredSize(new Dimension(width, height));

// label to display the image
JLabel label = new JLabel(new ImageIcon(image));
pane.add(label);

pack();
// set window to center of the screen
setLocationRelativeTo(null);
setVisible(true);

// sleep for a while
try {
Thread.sleep(duration);
} catch (InterruptedException ex) {}

setVisible(false);
dispose();
}

public static void main(String[] args) {
BufferedImage image = null;
try {
image = ImageIO.read(SplashScreen.class.getResource("logo-banner.gif"));
} catch (IOException ex) {}
SplashScreen ss = new SplashScreen(image);
ss.showSplash(2000);
}
}
Satu class tersebut, bisa Anda manfaatkan untuk splash screen dengan gambar yang berbeda, terserah Anda. Anda cukup parsing URL yang tepat dari gambar Anda. Pada contoh di atas, file gambar terletak dalam satu folder dengan file java dari class SplashScreen. Jadi saya menggunakan method getResource() untuk mendapatkan URL-nya.

Selamat mencoba!!!

0 komentar:

Posting Komentar