0
在下面的代碼中,我想在invokeLater完成後執行某些操作。 1)由於調度程序調用setModel,我無法使用invokeAndWait。 2)我不能改變線程內最終變量的值!那我該如何等待involeLater先完成呢?如何檢查invokelater已完成
boolean isDone=false;
SwingUtilities.invokeLater(new Runnable(){public void run(){
setModel(new DefaultTableModel(oRecordTable, sIP_TABLE_COL_NAMES_LIST));
isDone = true; // CAN NOT BE CHANGED HERE, AS HAS TO BE FINAL
}});
while (!idDone){
//wait
}
// do something here after the invokeLater is done
聽起來像一個糟糕的設計問題。你爲什麼使用invokeLater?在ActionListener中執行的代碼已在EDT上調用。您的問題需要更多的澄清,因爲除非您設置某種類型的開關,否則無法確定代碼何時完成。 – camickr