एक JWindow एक कंटेनर है जिसे यूज़र के डेस्कटॉप पर कहीं भी प्रदर्शित किया जा सकता है। इसमें JFrame की तरह टाइटल बार, विंडो मैनेजमेंट बटन्स आदि नहीं होते।
JWindow में एकमात्र चाइल्ड क्लास के रूप में JRootPane होता है। contentPane JWindow के किसी भी बच्चे का पैरेंट हो सकता है। JFrame की तरह, एक JWindow एक और टॉप-लेवल कंटेनर है और यह एक अनडेकॉरेटेड JFrame की तरह है। इसमें टाइटल बार, विंडोज मेनू आदि जैसी सुविधाएं नहीं होतीं। एक 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");
// इमेज से ImageIcon बनाएं
imageIcon = new ImageIcon(splashScreen);
// इमेज साइज़ से JWindow साइज़ सेट करें
setSize(imageIcon.getIconWidth(), imageIcon.getIconHeight());
// वर्तमान स्क्रीन साइज़ प्राप्त करें
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
// JWindow को केंद्र में रखने के लिए x कोऑर्डिनेट प्राप्त करें
int x = (screenSize.width - getSize().width) / 2;
// JWindow को केंद्र में रखने के लिए y कोऑर्डिनेट प्राप्त करें
int y = (screenSize.height - getSize().height) / 2;
// JWindow के लिए नई लोकेशन सेट करें
setLocation(x, y);
// JWindow को दृश्यमान बनाएं
setVisible(true);
}
// 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 {
// गायब होने से पहले JWindow को 10 सेकंड के लिए दिखाएं
Thread.sleep(10000);
splash.dispose();
} catch(Exception e) {
e.printStackTrace();
}
}
}
आउटपुट
स्क्रीन के केंद्र में एक स्प्लैश स्क्रीन इमेज 10 सेकंड के लिए प्रदर्शित होती है, फिर स्वचालित रूप से बंद हो जाती है।
नोट: आधुनिक Java एप्लिकेशन्स मेंjava.awt.SplashScreenक्लास या Java 9+ केjpackageटूल का उपयोग करके स्प्लैश स्क्रीन बनाना अधिक मानक तरीका है।