สมมติว่าผู้อ่านมีโปรแกรมอยู่แล้ว เช่นโปรแกรมที่แสดงข้อความ Hello World โดยมีชื่อโปรแกรมว่า Hello.class โดยปกติเมื่อเราจะเรียกใช้งานโปรแกรม เราจะเรียกโดยใช้คำสั่งดังนี้
java Hello
ถ้าเราต้องการแสดง Splash Screen ให้สำเนาไฟล์รูปไปไว้ในตำแหน่งเดียวกับโปรแกรมของเรา ในที่นี้สมมติว่ารูปชื่อ splash.gif จากนั้นให้เรียกใช้โปรแกรมดังนี้
java -splash:splash.gif Hello
เพียงเท่านี้เราก็สามารถแสดง Splash Screen เพื่อโชว์รูปหรือข้อความของเราก่อนเริ่มการทำงานของโปรแกรมเราได้แล้ว ในกรณีที่เราได้ pack โปรแกรมทั้งหมดอยู่ในรูป jar file ขอให้เราเปิด jar file ด้วยโปรแกรมจำพวก zip แล้วให้แตกไฟล์ที่ชื่อ manifest.mf ออกมาจากนั้นให้แก้ไขดังนี้
SplashScreen-Image: splash.gif
Class-Path: .
โดยเพิ่มส่วนแสดง Splash Screen เข้าไป แล้วแก้ไข classpath ให้มองที่ตำแหน่งของตัวเองด้วย (เครื่องหมายจุด หมายถึงไดเร็กเทอรี่เดียวกับโปรแกรม) จากนั้นให้ใส่ไฟล์นี้กลับเข้าไปที่เดิมใน jar file แล้วเพิ่มรูปเข้าไปใน jar file โดยให้อยู่ตำแหน่งเดียวกับ class files เมื่อเราทดลองรันโปรแกรมดู เราก็จะพบว่าโปรแกรมแสดง Splash Screen ขึ้นมาก่อนแล้วจึงแสดงโปรแกรมของเรา ในกรณีที่โปรแกรมของเรามีขนาดเล็กมาก เช่น โปรแกรม Hello เป็นต้น เราจะเห็นรูปแสดงขึ้นมาเพียงแว็บเดียว จนบางครั้งเราแทบจะไม่เห็นรูปเลย นั่นเป็นเพราะเมื่อโปรแกรมของเราได้โหลดเสร็จเร็ว ก็จะทำให้ Splash Screen หายไปเร็วเช่นกัน เราสามารถแก้ไขได้ตัวอย่างต่อไปนี้ ขอให้ผู้อ่านสร้างโปรเจคใหม่ใน NetBeans แล้วเพิ่ม Frame เข้าไปในโปรเจค จากนั้นให้เพิ่ม component เข้าไปดังรูป
ต่อมาให้เพิ่ม event ของ button เพื่อให้ออกจากโปรแกรม เมื่อเราคลิก โดยเพิ่มโค้ดดังนี้
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
จากนั้นให้แก้ไข constructor ของโปรแกรม โดยเพิ่มส่วนของ Splash Screen เข้าไปดังนี้
public NewJFrame() {
initComponents();
final SplashScreen splash = SplashScreen.getSplashScreen();
if (splash == null) {
System.out.println("SplashScreen.getSplashScreen() returned null");
return;
}
Graphics2D g = (Graphics2D)splash.createGraphics();
if (g == null) {
System.out.println("g is null");
return;
}
for(int i=0; i<50; i++) {
try {
Thread.sleep(200);
} catch(InterruptedException e) {
}
}
splash.close();
}
เริ่มแรกจะเป็นการเรียก object SplashScreen แล้วตรวจสอบว่าได้กำหนด Splash Screen ในการเรียกใช้โปรแกรมหรือไม่ ถ้ามีก็จะตรวจสอบว่ามีรูปหรือไม่ จากนั้นก็จะวนลูปเพื่อให้ Splash Screen ค้างตามเวลาที่ต้องการ
เมื่อเราแก้ไขโค้ดเสร็จแล้ว โปรแกรมจะแสดงว่ามี error อยู่ เนื่องจากเรายังไม่ได้ import package เข้ามา ขอให้ผู้อ่านกด Alt+Shift+F เพื่อให้ NetBeans Fix import ให้เราโดยอัตโนมัติ ก่อนที่เราจะรันโปรแกรม ขอให้ผู้อ่านได้สำเนาไฟล์รูปที่จะใช้ไปไว้ในโฟลเดอร์ของโปรเจคของเรา ในที่นี้ผู้เขียนได้ใช้ไฟล์ชื่อ thainetbeans.gif จากนั้นมี่หน้าต่าง Projects ให้เราคลิกขวาที่ชื่อโปรเจคของเรา แล้วเลือก Properties จากนั้นให้เราเพิ่มข้อความเข้าไปที่ VM Options ในหัวข้อ Run ดังรูป

เมื่อเสร็จแล้วให้ทดลองรันโปรแกรมก็จะได้ Splash Screen ตามต้องการ สุดท้ายนี้หวังว่าผู้อ่านคงจะนำความรู้ที่ได้จากบทความนี้ ไปใช้ให้เกิดประโยชน์ได้ไม่มากก็น้อย