Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào chúng ta có thể triển khai màn hình giật gân bằng JWindow trong Java?

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

Làm cách nào chúng ta có thể triển khai màn hình giật gân bằng JWindow trong Java?