私が以下で行っていることを行うためのよりエレガントな方法はありますか?つまり、Runnable.run()
メソッドがいつ呼び出されたかを知るために、ポーリングとスリープ、ポーリングとスリープなどよりもエレガントな方法はありinvokeLater()
ますか?
private int myMethod() {
final WaitForEventQueue waitForQueue = new WaitForEventQueue();
EventQueue.invokeLater(waitForQueue);
while (!waitForQueue.done) {
try {
Thread.sleep(10);
} catch (InterruptedException ignore) {
}
}
return 0;
}
private class WaitForEventQueue implements Runnable {
private boolean done;
public void run() {
// Let all Swing text stuff finish.
done = true;
}
}