2010-07-31 60 views
0

AbstractButton.doClick需要在調度線程上嗎?doClick是否需要在調度線程上?

如果我看JDK 6源我讀:

public void doClick(int pressTime) { 
     Dimension size = getSize(); 
     model.setArmed(true); 
     model.setPressed(true); 
     paintImmediately(new Rectangle(0,0, size.width, size.height)); 
     try { 
      Thread.currentThread().sleep(pressTime); 
     } catch(InterruptedException ie) { 
     } 
     model.setPressed(false); 
     model.setArmed(false); 
    } 

我想這是不好給exec在美國東部時間睡眠的方法,所以我猜想doClic方法不能在美國東部時間,但我不在這一點上找不到任何文件?

謝謝。

回答

1

調用doClick()方法最終會生成一個ActionEvent,因此您的ActionListener將被調用。所有聽衆應該在EDT上執行。

我想這是不好給exec在美國東部時間的睡眠方法,

這個睡眠值預期爲mmilliseconds,而不是幾分鐘來模擬一個按鈕,用戶點擊所以你會看到按鈕以其按壓狀態塗漆,然後恢復到正常狀態。所以阻止少量MS的EDT不是問題。

相關問題