Java 프로그램의 목록에 채우려는 데이터가 들어있는 (액세스) 데이터베이스 테이블이 있습니다. 테이블은 여러 열 (id, 이름 등)으로 구성됩니다.JList 항목의 배열 데이터 검색
내가 원하는 것은 모든 이름을 나열한 JList이고 목록의 항목을 두 번 클릭하면 ID 번호가 필요합니다. 해당 항목을 다른 테이블에 삽입 할 수 있습니다.
나는 이미 목록을 구현하고 db 테이블 (이름 열)의 레코드로 채 웠습니다. 내가 문제가되는 것은 사용자가 항목을 두 번 클릭 할 때 해당 비디오의 ID를 어떻게 얻을 수 있습니까? 목록을 채우는 데이터베이스 호출은 여러 열을 선택하여 배열에 넣습니다. 목록 항목을 배열에 연결할 수있는 방법이 확실하지 않습니다. 여기
... 나는 지금까지 무엇을 가지고 있습니다getVideoList은()
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;
현재 doulbe 클릭 기능을 포함 된 내용
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));
는 (다음 인 자바 클래스 내가 그물에서 찾은)
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 기반이기 때문입니다. 그래서 네 번째 요소에 접근하고 있습니다. – JProgrammer