有没有人有任何好的教程来填充带有sql表的JList,就像这个查询一样。每次创建或删除表时,JList都会更新。
SELECT name FROM sqlite_master WHERE type = 'table';
任何帮助都将不胜感激。
答案 0 :(得分:1)
这很简单,你不需要教程:)使用this costructor从元素的resuting列表构建你的JList
。
迭代查询结果游标并使用从DB获得的元素填充Vector
。然后使用Vector
作为基础数据容器(模型)来构建JList
:
Vector<String> elements = new Vector<String>();
while (query.next()) {
// or whatever is appropriate
elements.add(query.getString("name"));
}
Jlist mylist = new Jlist(elements);
您应该从GUI构建(视图)拆分数据库查询代码(与模型相关),以便于将来维护并在所谓的MVC结构中解耦结构,但这超出了本问题的范围。
答案 1 :(得分:1)
您可以使用DefaultListModel
查看此示例:
//......
DefaultListModel listModel = new DefaultListModel();
String query = "SELECT name FROM sqlite_master WHERE type = 'table'";
rs = st.executeQuery(sql);
while(rs.next){
listModel.addElement(rs.getObject("name"));// I think you want get this field
}
list.setModel(listModel);