A JWindow là một vùng chứa có thể được hiển thị ở bất kỳ đâu trên màn hình của người dùng. Nó không có thanh tiêu đề , cửa sổ quản lý nút, vv như một JFrame.
JWindow chứa JRootPane là lớp con duy nhất của nó. contentPane có thể là cha mẹ của bất kỳ đứa trẻ nào của JWindow . Giống như một JFrame , một JWindow là một vùng chứa cấp cao nhất khác và nó giống như một JFrame chưa được trang trí. Nó không có các tính năng như thanh tiêu đề, menu cửa sổ , v.v. A JWindow có thể được sử dụng làm cửa sổ màn hình giật gân hiển thị một lần khi ứng dụng được khởi chạy và sau đó tự động biến mất sau vài giây.
Ví dụ
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(); } } }
Đầu ra