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でお絵描きソフトを作りた...
-
JavaでのSwingを使った簡易電卓...
-
エラーで式の開始が不正ですと...
-
JOptionPaneでのフォーカスのト...
-
javaでストップウォッチが上手...
-
Java-Swing TextAreaにスクロー...
-
整数を好きなだけ入力し、個数...
-
setPrefferedSizeとsetSize
-
JAVAプログラミングでVectorの...
-
Javaで改行などが出来ないのです。
-
IF関数でEmpty値を設定する方法。
-
Javaで電卓を作りたい
-
応用情報技術者試験の令和元年...
-
論理演算子”||”またはの入力方法
-
ダブルクォーテーションのrepla...
-
byte[] を long,float とかに...
-
VBSエラー"オブジェクト型の変...
-
javaです。1月1日から日数入れ...
-
ArrayListの要素数の上限
-
ページング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JPanelの切り替えと再描画
-
連番をオブジェクト名の最後に...
-
JPanelの重ね方/OverlayLayout他
-
JavaのswingでCardLayoutの画面...
-
JavaでのSwingを使った簡易電卓...
-
ArrayListの使い方について(初...
-
KeyListenerの使い方について
-
4択クイズでのランダム出題の...
-
JDialogを閉じた時の処理
-
TextAreaでの文字の色
-
BMI測定を作ろうとしている...
-
EXECLの行を削除
-
Java-Swing TextAreaにスクロー...
-
setPrefferedSizeとsetSize
-
【Swing】JPanel クラス外から...
-
最後の行に移動するには?
-
あるコンボボックスを選択する...
-
JButton-背景の透明化
おすすめ情報