私は、私のJavaプログラムのリストに入れたいデータを含む(アクセス)データベーステーブルを持っています。テーブルは複数の列(ID、名前など)で構成されていますJList項目の配列データを取得する
私が望むのは、すべての名前をリストしたJListです。次に、リストの項目をダブルクリックすると、ID番号が表示されますその項目は別の表に挿入されます。
私は既にリストを実装し、dbテーブル(名前列)からのレコードでそれを設定しました。私が問題を抱えているのは、ユーザーがアイテムをダブルクリックしたとき、そのビデオのIDを取得するにはどうしたらいいですか?リストを作成するデータベース呼び出しは、複数の列を選択してそれらをすべて配列に入れます。リスト項目を配列にどのようにリンクできるかは十分には分かりません。ここで
が
は、Javaクラス...私がこれまで得たものである
ArrayList list = new ArrayList();
ArrayList video = new ArrayList();
list = VideoData.getVideoList();
JList videolist = new JList();;
Vector data = new Vector();;
for (int i=0; i < list.size(); i++) {
video = (ArrayList) list.get(i);
data.addElement(video.get(3));
}
videolist.setListData(data);
videolist.setSelectedIndex(0);
videolist.addMouseListener(new ActionJList(videolist));
videolist.setFixedCellWidth(300);
add(new JScrollPane(videolist));
何getVideoList()(現在のdoulbe-クリック機能は以下の通りです
ArrayList list = new ArrayList();
try {
ResultSet res = stmt.executeQuery("SELECT * FROM Items ORDER BY VidID ASC");
while (res.next()) { // there is a result
ArrayList sub = new ArrayList();
sub.add(res.getString("VidID"));;
sub.add(res.getString("Name"));
sub.add(res.getString("Writer"));
// add sub array to list
list.add(sub);
}
} catch (Exception e) {
System.out.println(e);
return null;
}
return list;
が含まれていますこれは私がネットで見つけ)
public void mouseClicked(MouseEvent e){
if(e.getClickCount() == 2){ // double click
int index = list.locationToIndex(e.getPoint());
ListModel dlm = list.getModel();
Object item = dlm.getElementAt(index);;
list.ensureIndexIsVisible(index);
System.out.println("Double clicked on " + item);
}
}
は...のみJListのセル内でリストされているものを私に告げるこの項目から、私は何をできるようにする必要があると、その選択した項目の他の配列データを取得しています。
はvideo.get(3)作業のですか? 3つの要素だけを追加しているため、get(index)は0に基づいているためです。あなたは4番目の要素にアクセスしています。 – JProgrammer