Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JWindow를 사용하여 스플래시 화면을 구현하는 방법은 무엇입니까?

<시간/>

J윈도우 사용자 데스크탑의 어느 곳에나 표시할 수 있는 컨테이너입니다. 제목 표시줄이 없습니다. , 관리 버튼, JFrame과 같은 등.

J창 JRootPane 포함 유일한 자식 클래스로. 콘텐츠 창 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");
      // 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();
      }
   }
}

출력

Java에서 JWindow를 사용하여 스플래시 화면을 구현하는 방법은 무엇입니까?