EDT에서 실행을 차단하는 방법이 있습니까? 여전히 생생한 GUI가 있습니까?AWT 이벤트 디스패처 스레드 멀티 스레딩 스레드 스레드
setVisible (true)을 호출 할 때 JDialog/JOptionPane이 비슷한 것을 발견했습니다.
왜 내가 필요한가요?
내 클래스는 다음과 같은 인터페이스에 만족해야
interface Quitable {
boolean quit();
}
내 클래스이 같은 구현이 필요 :
class MyApp implements Quitable {
ExecutorService executor = Executors.newCachedThreadPool();
// ...
public boolean quit() {
FuturTask<Boolean> futureTask = new FutureTask<Boolean>(saveJob);
executor.execute(futureTask);
// TODO: keep gui vivid
boolean saveResult = futureTask.get();
return saveResult;
}
// ...
}
을 나는 약간의 시간이 걸릴 수 있습니다 저장 프로세스의 결과를 (반환해야 실패 할 수도 있음). 아니면 다른 해결책을 제안 하시겠습니까? 어떤 아이디어 주셔서 감사합니다. ;)
JDialog-Hack에 대한 프레젠테이션 : http://www.futuretek.com/presents/foxtrot/KeepingYourSwingApplicationsResponsiveUsingFoxTrot.ppt – Synox