java - ユーザーがアイテムを選択することとgetSelectedValue()を区別する方法は?

java swing list listener

valueChangedListSelectionListenerメソッドの実行中に、ユーザーがJListをクリックしたか、またはsetSelectedIndexが他のコードによって呼び出されたかどうかを確認する方法はありますか?
答え
AFAIK、いいえ。ただし、選択がユーザーからのものである場合にのみ何かを実行することが目的である場合は、コードでインデックスを選択する前にフラグを設定して、選択がユーザーからのものでないことを通知するか、リスナーを削除して後で追加することができます。 :

private void selectIndexInList(int index) {
    this.selectionComesFromTheCode = true;
    try {
        list.setSelectedIndex(index);
    }
    finally {
        this.selectionComesFromTheCode = false;
    }
}

@Override
public void valueChanged(ListSelectionEvent e) {
    if (!this.selectionComesFromTheCode) {
        ...
    }
}
関連記事

java - Linux(JDK、Maven、IDEなど)にJava開発環境をインストールする方法VirtualBox

java - JavaアプリによるSMSの暗号化

java - tomcat:OutOfMemoryError:Java heap space-24GB system

java - ローカルファイルのjava.io.InputStreamはいつ閉じられたときに例外をスローしますか?

java - Jruby-Foreman Gemが実行されていない

java - 2つのノード間の二重接続を回避するにはどうすればよいですか?

java - 何かが起こったことを呼び出し側のクラスに通知する

java - GenericNackResponseException

java - 高度なAndroid UIを作成する方法は? [閉まっている]

java - JDK 1.6でのWebサービスクライアントの開発。JDK1.5.03との互換性が必要