JWindow เป็นคอนเทนเนอร์ที่สามารถแสดงได้ทุกที่บนเดสก์ท็อปของผู้ใช้ ไม่มีแถบชื่อเรื่อง , หน้าต่าง การจัดการ ปุ่ม ฯลฯ เช่น JFrame
JWindow มี JRootPane เป็นชั้นเรียนเด็กเพียงคนเดียว บานหน้าต่างเนื้อหา สามารถเป็นผู้ปกครองของลูกๆ ของ JWindow . เหมือน JFrame , JWindow เป็นคอนเทนเนอร์ระดับบนสุดอีกตัวหนึ่งและเป็น JFrame ที่ไม่ได้ตกแต่ง ไม่มีคุณลักษณะเช่น แถบชื่อเรื่อง เมนูหน้าต่าง ฯลฯ A JWindow สามารถใช้เป็น หน้าต่างสแปลช ที่แสดงขึ้นครั้งเดียวเมื่อเปิดแอปพลิเคชันและหายไปโดยอัตโนมัติภายในไม่กี่วินาที
ตัวอย่าง
import javax.swing.*; import java.awt.*; public class CreateSplashScreen extends JWindow { Image splashScreen; ImageIcon imageIcon; public CreateSplashScreen() { splashScreen = Toolkit.getDefaultToolkit().getImage("C:/Users/User/Desktop/Java Answers/logo.jpg"); // Create ImageIcon from Image imageIcon = new ImageIcon(splashScreen); // Set JWindow size from image size setSize(imageIcon.getIconWidth(),imageIcon.getIconHeight()); // Get current screen size Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // Get x coordinate on screen for make JWindow locate at center int x = (screenSize.width-getSize().width)/2; // Get y coordinate on screen for make JWindow locate at center int y = (screenSize.height-getSize().height)/2; // Set new location for JWindow setLocation(x,y); // Make JWindow visible setVisible(true); } // Paint image onto JWindow public void paint(Graphics g) { super.paint(g); g.drawImage(splashScreen, 0, 0, this); } public static void main(String[]args) { CreateSplashScreen splash = new CreateSplashScreen(); try { // Make JWindow appear for 10 seconds before disappear Thread.sleep(10000); splash.dispose(); } catch(Exception e) { e.printStackTrace(); } } }
ผลลัพธ์