この講義では、UI のイベント処理用スレッド —
EDT(Swing)と、その相当である
JavaFX Application Thread が何か、なぜ UI コンポーネントはスレッドセーフではないのか、そして重い処理でウィンドウがなぜ「フリーズ」するのかを解説します。正しい手法として、
new Thread(...) によるバックグラウンドへのオフロード、
SwingUtilities.invokeLater や
Platform.runLater による UI 更新、さらに高水準のツールである
SwingWorker<T, V> および
Task<V>/
Service<V> を使った進捗表示・キャンセル・エラー処理について示します。