ListSelectionListenerをセットした
JListのアイテムを選択した時に呼び出されるvalue
Changedメソッドが1回選択したときに2回呼び出さ
れてしまいます。これはこういった仕様なのでしょう
か?2回の呼び出しがどのようなタイミングで呼びだ
されるのでしょうか、1回だけ呼び出されるようにす
るにはどのようにすればよいのでしょうか?ご存知の
方、お願いします
実行環境
Windows2000
J2SDK 1.4.1
****************以下問題起こるのソースコード***********
import javax.swing.*;
import javax.swing.event.*;
public class ListTest implements ListSelectionListener {
public static void main(String[] args) {
JFrame frame = new JFrame();
String[] item = {"list1","list2","list3","list4"};
JList list = new JList(item);
list.addListSelectionListener(new ListTest());
frame.getContentPane().add(list);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(50,100);
frame.setVisible(true);
}
public void valueChanged(ListSelectionEvent e) {
System.out.println("list changed");
}
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ejbしか経験がない者です。
勉強がてらデバッグしてみました。
勉強になりました。
仕様のほどまでは判りません。
***************************
import javax.swing.*;
import javax.swing.event.*;
public class ListTest implements ListSelectionListener {
public static void main(String[] args) {
JFrame frame = new JFrame();
String[] item = {"list1","list2","list3","list4"};
JList list = new JList(item);
list.addListSelectionListener(new ListTest());
frame.getContentPane().add(list);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(50,100);
frame.setVisible(true);
}
public void valueChanged(ListSelectionEvent e) {
if (e.getValueIsAdjusting()){ //ここがミソのようです
System.out.println("list changed");
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- Visual Basic(VBA) VBAのSelectedIndexでコンパイルエラーが… 1 2023/04/16 14:07
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- ラグビー・アメリカンフットボール アメフトのポジション 1 2023/05/11 11:37
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- 筋トレ・加圧トレーニング 24歳64kg男性 筋トレ歴1.5年です。 (マッチョではありません。) 筋トレのボリュームを上げた 9 2023/06/28 02:34
- 筋トレ・加圧トレーニング ウエイトトレーニングに質問します。初心者です。 5 2022/06/20 16:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java junit list同士の比較方法
-
Java本格じゃんけんで
-
’じゃんけん’をするプログラム...
-
画面のリサイズについて
-
cadで作った図面をフレーム上で...
-
Java subSetメソッドについて
-
VBAで配列の計算
-
配列にnullを代入すると、null...
-
ループ処理の際、最後だけ","を...
-
配列をセッションに割り当てた後で
-
1~100までの数字を表示し、か...
-
Log4jで機能毎に別ファイルへ出...
-
Junitテストでvoid戻り値メッソ...
-
シャットダウンフックが呼ばれない
-
EXCEL VBA で、0から?1から?
-
テキストボックスに入力された...
-
べき乗
-
グレイコードの変換
-
C# ListBoxのインデックスの値...
-
javaで質問です。 文字列2023/2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JTableの列ヘッダ
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
【Swing】JPanel クラス外から...
-
4択クイズでのランダム出題の...
-
コンパイルエラー <identifier...
-
JPanelの重ね方/OverlayLayout他
-
JPanelの切り替えと再描画
-
エラーで式の開始が不正ですと...
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
ボタンクリック後パネルを再描...
-
ArrayListの使い方について(初...
-
JavaでのSwingを使った簡易電卓...
-
連番をオブジェクト名の最後に...
-
あるコンボボックスを選択する...
-
Buttonを押すと画像が表示され...
-
KeyListenerの使い方について
おすすめ情報