2011-05-05 76 views
1

我在構造函數中的以下代碼爲我的GUI此GUI線程安全(使用Swing)?

search.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      //do stuff 
     }}); 

的問題是,當我在「//做的東西」運行,它需要一段時間,而且它不會讓我做任何事情。所以我把「//做東西」放到一個線程中,然後運行,我可以同時在GUI中做其他的東西。我不確定這是否是線程安全的,如果不是,如何解決這個問題。

回答

3

問題是,您可能阻止了主要的Swing事件線程(處理按鈕點擊等事情的線程)。你可以在Swing Worker Threads

+0

上看到它(以及一種可能的解決方案),我最近發現了它們,這就是它。你應該檢查一下。 – jjczopek 2011-05-05 23:59:29