2013-03-22 9 views
8

JListコンポーネントからデータを取得するソリューションを探していましたが、何も見つかりませんでした.Jlistのアイテムを返すメソッドがありますか?私はちょうど選択された1つを望んでいません。私は全体のリストが欲しい。JListからデータを取得する

理由は、リストボックスの選択された値にダイアログボックスのすべてのコンポーネントを更新するこのメソッドがあります。同じ方法からそのリストボックスを更新したいと思います。そのため、メソッドは呼び出されるたびにリストボックスを更新するべきではありません。リストボックスの値と1つのクラスに格納されている最新のデータとを比較する必要があります(そうでない場合は無限ループに入ります)。リストボックス内のデータがクラス内のデータと一致しない場合のみ更新されます。

リストボックスのすべてのデータを取得する方法はありますか?

答えて

9

モデルデータを取得するためにgetModel()メソッドを使用し、次にすべてのデータ要素を取得するためにListModel内のメソッドを使用する必要があります。

ListModel model = list.getModel(); 

for(int i=0; i < model.getSize(); i++){ 
    Object o = model.getElementAt(i); 
} 

+0

おかげで、それはイムが探して何です! – Andrew

3

http://docs.oracle.com/javase/6/docs/api/javax/swing/JList.html#getModel()

http://docs.oracle.com/javase/6/docs/api/javax/swing/ListModel.html選択を取得するには、取得するためにgetModelの組み合わせとgetSelectedIndices

ListModel model = jListInstance.getModel(); 

for(int index : jListInstance.getSelectedIndices()) { 
    System.out.println(model.getElementAt(index)); 
} 
+2

OPは、選択された要素だけでなく、すべてのデータを取得したいと考えています。 – Varun

関連する問題