SwingでUIを実装しています。1つのコンポーネントが作業を行うため、時間がかかる場合があるため、を使用しますSwingUtilities.invokeLater。しかし、私はいくつかの古いコードを読んでいて、これをActionListener:で見つけました
if (!SwingUtilities.isEventDispatchThread()) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// code X
}
});
} else {
// code X
}
code XEDTから分離しているので理にかなっていると思いました。しかし、何度か使用したことがあり、どちらの場合もelseパーツを忘れてしまったため、エラーが発生しやすいことがわかりました。
問題は、SwingUtilities.isEventDispatchThread()チェックが必要かどうかです。または、私はEDTに参加しておらず、常に使用していると想定invokeLaterできますか?
どうもありがとう。