4
스윙 작업자로부터 EDT와 상호 작용하는 일반적인 방법은 get() 메소드를 사용하는 것입니다. 난 그냥 수있는 대부분의 tutotials에서SwingWorker.inVokeLater()를 SwingWorker.doInBackground() 내부에서 사용해야합니까?
public Void doInBackground() {
for(Object o : objects) {
doSomething();
MyGlobalGUIConsole.addMessage("Done for " + o);
}
}
가 다시 EDT에 SwingWorker의에서 무언가를 얻을 수 반환 값을 사용하는 것이 좋습니다,하지만 :하지만 난 이런 긴 작업과 코드가
public Void doInBackground() {
for(Object o : objects) {
doSomething();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyGlobalGUIConsole.addMessage("Done for " + o);
}
});
}
}
@AvrDragon 사용은 잘못된 개념이 아닌 SwingWorker의에)합니다 (invokerLater에 MyGlobalGUIConsole.addMessage()에서 내용을 포장에 관한 절차 때문에()에게 EDT를 알릴 수 있습니다. – mKorbel