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(); } } }
출력