2013-05-05 106 views
0

我有簡單的批處理文件的代碼,這是工作:如何從批處理文件中暫停Java啓動畫面?

set path=%path%;C:\Program Files (x86)\Java\jdk1.7.0_05\bin 
javac C:\Users\Ian\Desktop\batchFileTest\GUI.java 
java -splash:images/splashImage.jpg GUI 

然而,只需要像1秒我的GUI類文件加載,然後在啓動畫面立即關閉並啓動程序。

我想使飛濺屏幕等待5秒鐘。我的想法是先執行閃屏類文件,使用TIMEOUT,然後執行類文件是這樣的:

set path=%path%;C:\Program Files (x86)\Java\jdk1.7.0_05\bin 
javac C:\Users\Ian\Desktop\batchFileTest\GUI.java 
java -splash:images/splashImage.jpg 
TIMEOUT 5 
java GUI 

這不能正常工作或者。啓動畫面然後顯示幾毫秒並立即關閉。然後命令行等待5秒鐘,然後程序啓動。

有關如何從批處理文件正確執行此操作的任何想法?

+1

您可以通過使用未修飾的展現自己的啓動畫面'JWindow'。但爲什麼你想讓你的用戶等待的時間比他們需要使用你的應用程序更長? :-) – 2013-05-05 01:49:16

+1

[Javadoc](http://docs.oracle.com/javase/7/docs/api/java/awt/SplashScreen.html)表示,在顯示第一個應用程序窗口後,啓動畫面會自動關閉。也許你可以[延遲](http://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html)在你的'public static void main'方法中顯示你的第一個窗口,如果你真的想要做到這一點。 – 2013-05-05 01:54:29

+0

感謝@Greg的鏈接!我在這裏發佈了一個使用你的建議的答案,我在這個類的主要方法中使用'Thread.sleep',在splash-screen之後調用。 – 2013-05-05 02:31:18

回答

1


感謝格雷格在這裏,我有一個解決方案,我使用Thread.sleep延遲主屏幕的閃屏。


這裏是批處理文件:

set path=%path%;C:\Program Files (x86)\Java\jdk1.7.0_05\bin 

javac C:\Users\Ian\Desktop\batchFileTest\GUI.java 

java -splash:images/splashImage.jpg GUI 


...這裏是main方法的類:

class GUI { 
    public static void main(String[] args) { 

    try { 
     Thread.sleep(5000); // the parameter is in milliseconds 

    catch(InterruptedException e) { 
     System.out.println(e.getMessage()); 
    } 

    /* 
    * do whatever stuff here 
    */ 
    } 
} // end of GUI