我正在創建一個Java應用程序,它將執行一些處理,然後顯示一條消息以提供用戶反饋。創建Java消息對話框的最快方法(swing/awt/other)?
但是,它似乎非常慢 - 需要兩秒鐘才能返回。
我扯下了源到明顯的罪魁禍首,而這裏是使用的代碼:
package SwingPlay;
import javax.swing.JFrame;
public class Dialog
{
public static void main(String[] args)
{
JFrame frame = new JFrame("DialogDemo");
}
}
我在命令行中與執行此:
java -classpath . SwingPlay.Dialog
正如你所看到的 - 我什麼都不做,只是創建一個JFrame,甚至不顯示它。
如果它是相關的,這是我java -version
輸出:
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
這是(目前)對Win XP SP2的運行。
所以,第一個問題:爲什麼這麼慢?
更重要的是,我只是想要一個簡單的消息(GUI,而不是cmdline)來顯示,沒有任何延遲 - 任何人都可以提供一些代碼來做到這一點?
更新:
一點背景可能會有所幫助:
我創建這將有許多「頭」的應用程序(即不同的用戶界面都使用相同的核心類做複雜的部分)。
我目前有一個純粹的命令行頭,它可以正常工作 - 馬上響應。
我也將有一個標準的應用程序,點擊圖形用戶界面的常規點&,並沒有預見到這一點的問題。
我目前正在處理的是這兩者的混合 - 它將從運行框(或類似的啓動器)啓動,可能帶有參數,並且只需要有效地回覆狀態消息,可以被解散與按鍵。
後面這個問題是關注焦點的地方。
雖然我不反對使用我的現有命令行版本與shell腳本(雖然不認爲這是必要的!),現有的答案似乎表明,事情並沒有像我一樣快速運行,因爲它們是對於其他人 - 一個例子需要1460毫秒,而對於70毫秒來說,這是一個顯着的差異。
我不想顯示靜態圖像,而是一段動態文本。換句話說,我想將stdout重定向到一個GUI消息框。 如果我確實使用System.out。println它很快就回來了,但顯然不是正確的格式。 – 2009-02-03 20:25:20