用表填充JList

时间:2013-05-09 13:49:00

标签: java sql swing jlist

有没有人有任何好的教程来填充带有sql表的JList,就像这个查询一样。每次创建或删除表时,JList都会更新。

SELECT name FROM sqlite_master WHERE type = 'table';

任何帮助都将不胜感激。

2 个答案:

答案 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);