イベントディスパッチスレッドの問題
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)
「SwingWorker」の記事における「イベントディスパッチスレッドの問題」の解説
SwingWorkerが有効なのは、ユーザーの操作イベントに引き続いて、時間を要するタスクが実行されねばならない場合である(たとえば、JButtonを押下した後に巨大なXMLファイルをパース(構文解析)するなどの場合)。これを単純にコーディングすると、次のようになるが、 private Document doc;...JButton button = new JButton("Open XML");button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { doc = loadXML(); } }); これは動作はするものの、loadXML()メソッドがメインのSwingスレッドと同じスレッド(イベントディスパッチスレッド)の中で呼び出されることになるため、このメソッドの処理に時間がかかるなら、その間GUIはフリーズしてしまうことになる。
※この「イベントディスパッチスレッドの問題」の解説は、「SwingWorker」の解説の一部です。
「イベントディスパッチスレッドの問題」を含む「SwingWorker」の記事については、「SwingWorker」の概要を参照ください。
Weblioに収録されているすべての辞書からイベントディスパッチスレッドの問題を検索する場合は、下記のリンクをクリックしてください。

- イベントディスパッチスレッドの問題のページへのリンク