2013-03-31 4 views
-1

Java에서 스플래시 화면 및 스레드 관리를 생성하는 소스 코드를 얻을 수 있습니다. 하지만 그것을 구현하는 방법을 모르겠습니다.스플래시 화면 Java 구현 방법

public class SplashWindow extends JWindow { 
    public SplashWindow(String filename, Frame f, int waitTime) 
    { 
     super(f); 
     JLabel l = new JLabel(new ImageIcon(filename)); 
     getContentPane().add(l, BorderLayout.CENTER); 
     pack(); 
     Dimension screenSize = 
      Toolkit.getDefaultToolkit().getScreenSize(); 
     Dimension labelSize = l.getPreferredSize(); 
     setLocation(screenSize.width/2 - (labelSize.width/2), 
        screenSize.height/2 - (labelSize.height/2)); 

     addMouseListener(new MouseAdapter() 
      { 
       public void mousePressed(MouseEvent e) 
       { 
        setVisible(false); 
        dispose(); 
       } 
      }); 
     final int pause = waitTime; 
     final Runnable closerRunner = new Runnable() 
      { 
       public void run() 
       { 
        setVisible(false); 
        dispose(); 
       } 
      }; 
     Runnable waitRunner = new Runnable() 
      { 
       public void run() 
       { 
        try 
         { 
          Thread.sleep(pause); 
          SwingUtilities.invokeAndWait(closerRunner); 
         } 
        catch(Exception e) 
         { 
          e.printStackTrace(); 
          // can catch InvocationTargetException 
          // can catch InterruptedException 
         } 
       } 
      }; 
     setVisible(true); 
     Thread splashThread = new Thread(waitRunner, "SplashThread"); 
     splashThread.start(); 
    } 
} 

I는 다음과 같이 구현하려고 : ... 공공 정적 무효 메인 (문자열 []에 args)를 { JFrame의 프레임 = 새로운 JFrame의(); frame.setSize (500, 500);

 SplashWindow window = new SplashWindow("splash-scren.jpg", frame, 1000); 
    } 
... 

표시 할 내용이 없습니다. 제발 도와주세요, 당신 :

+5

; Java에는 이미 [시작 화면] (http://docs.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html)이 내장되어 있습니다. 주 :이 스플래시 화면은 JVM이 시작되기 전에 * 표시됩니다. 그런 다음 [/ splashScreen] (http://docs.oracle.com/javase/7/docs/api/java/awt/SplashScreen.html) 클래스를 사용하여 이미지/etc를 변경할 수 있습니다. – Jeffrey

+0

[* Java Web Start *] (http://stackoverflow.com/tags/java-web-start/info)와이 [Q & A] (http://stackoverflow.com/q/11399971/230513)도 참조하십시오. . – trashgod

답변

1

망가 감사 넣어 : 생성자에서

"setVisible(true);" 

SplashWindow window = new SplashWindow("splash-scren.jpg", frame, 1000); 

쓰기 : 바퀴를 재발견하지 마십시오

window.setVisible(true);