電子書籍の厳選無料作品が豊富!

こんにちは。リストの値取得について質問です。

ボタン1を押してファイルを開き、tokenで必要な値だけリストに表示させました。
そしてボタン2を押してリストに表示されている全データをプロンプトに表示させたいのです。
こんな感じで書いてみたんですけど、

if(s.equals("button2")==true){

String val = (String)list.getSelectedValue();
System.out.println(val);

}

これだと選択された1件しか表示されないんですよね(汗)
ためしに
if(s.equals("button2")==true){

for(int i=0;i<list.getsize;i++){
String val = (String)list.getSelectedValue(i);
System.out.println(val);
}

}
intはダメだとエラーが出ました。

色々調べてみましたがいまいちピンとこないです。
どなたかよろしければ知恵をお貸しください。
よろしくお願いします(^^;)

A 回答 (3件)

JList の説明を見ると、


「ユーザがリストから 1 つまたは複数のオブジェクトを選択するためのコンポーネントです。別のモデルである ListModel は、リストの内容を表します。」
と書いてあります。
概観はJList 、データは ListModel で処理するようです。

JList list;
ListModel model = list.getModel();

for (int i = 0; i < model.getSize(); i++){
System.out.println( model.getElementAt(i) );
}

な感じでどうでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
おかげさまできちんと全表示されました。
本当にありがとうございます!
getElementAtは初めて知りました。
JListは色々調べたつもりになっていたけれど、まだまだって事ですね(^^;)

お礼日時:2006/06/09 09:04

この内容では、よく分からないのですが...


まず、「リスト」と言っているのは何ですか?
java.awt.List のこと?
javax.swing.JList のこと?
java.util.List のこと?
他にもリストはありますが...
また、「ボタン」とか、「token」とか言っているのも、これだけでは何のことか特定できないので、回答のしようがありません。
「intはダメ」というエラーについても、詳細が分からないので、対応方法も分かりません。
リストについては、getSelectedValue というメソッドを使っているので、仮に javax.swing.JList のことだとすると、
getSelectedValues()
で選択されたセルの値が Object[] で取得できるので、それを表示すればいいはずです。

この回答への補足

説明不足で申し訳ないです;
SwingでJListを使っています。
JListに表示されたデータを全てプロンプトに表示させたいんです。(Swingで作ったボタンを押したら表示)
JListを1件だけ選択して、ボタンを押したら選択されたデータだけは表示しました。(選択されていない状態だとnullが表示される)
その際にはgetSelectedValues()を使いました。
しかしあくまでもこれは選択されたデータだけ表示なので…(選択したとか関係なく全部表示させたい)
Object[]だとなぜかデータが文字化けしましたので使っていません。
「intがダメ」とゆうエラーは、getSelectedValues()に添え字を与えて0件~n件表示させてみようと思ったらダメだったんです。
intがダメなのは多分リストのデータ表示にStringを使ったからだと思われます。↓
String val = (String)list.getSelectedValue();
(String)list.getSelectedValue(i)←これにint i=0;を与えるとゆう無謀な話

もしよろしければもう少し知恵を貸して欲しいです。。よろしくお願いします。

補足日時:2006/06/08 15:12
    • good
    • 0

listというのはJListですか。


APIを読んだほうが良いと思います。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/in …

この回答への補足

すいませんJListです;

補足日時:2006/06/08 15:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!