« [Java]ローカル環境でコードベース指定したAppletからドキュメントベースに配置したファイルへアクセスするには? | トップページ | [.Net]カラーダイアログにカスタムカラーを設定するには? »

[Java]Swingコントロールに対して安全に変更を行うには?

 JavaのAPIドキュメントにも書かれていますが、Swingコントロールは、スレッドに対して安全ではありません。

 従って、プログラムからSwingコントロールに対してデータの変更(例えば、JListに対してデータを設定したり、選択を変更したりする等)を行う場合は、SwingUtilities.invokeLaterを使用して、保留中の処理が無くなってからデータの変更をかけるようにします。

 以下にJListで作成したlistBoxの値valueを選択する場合の具体例を示します。

  Runnable doSelectList = new Runnable() {
    public void run() {
      listBox.setSelectedValue(value, true);
    }
  };
  SwingUtilities.invokeLater(doSelectList);

|

« [Java]ローカル環境でコードベース指定したAppletからドキュメントベースに配置したファイルへアクセスするには? | トップページ | [.Net]カラーダイアログにカスタムカラーを設定するには? »

Java」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/224706/16824800

この記事へのトラックバック一覧です: [Java]Swingコントロールに対して安全に変更を行うには?:

« [Java]ローカル環境でコードベース指定したAppletからドキュメントベースに配置したファイルへアクセスするには? | トップページ | [.Net]カラーダイアログにカスタムカラーを設定するには? »