Java 用表格填充JList
有没有人有任何好的教程可以像下面这样用sql中的表来填充JList。JList将在每次创建或删除表时得到更新Java 用表格填充JList,java,sql,swing,jlist,Java,Sql,Swing,Jlist,有没有人有任何好的教程可以像下面这样用sql中的表来填充JList。JList将在每次创建或删除表时得到更新 SELECT name FROM sqlite_master WHERE type = 'table'; 任何帮助都将不胜感激。这很简单,您不需要教程:)使用costructor从元素的恢复列表中构建您的JList 在查询结果游标上迭代,并用从数据库中获得的元素填充向量。然后使用向量作为构建您的JList的基础数据容器(模型): Vector<String> element
SELECT name FROM sqlite_master WHERE type = 'table';
任何帮助都将不胜感激。这很简单,您不需要教程:)使用costructor从元素的恢复列表中构建您的
JList
在查询结果游标上迭代,并用从数据库中获得的元素填充向量。然后使用向量
作为构建您的JList
的基础数据容器(模型):
Vector<String> elements = new Vector<String>();
while (query.next()) {
// or whatever is appropriate
elements.add(query.getString("name"));
}
Jlist mylist = new Jlist(elements);
向量元素=新向量();
while(query.next()){
//或者任何合适的
添加(query.getString(“name”));
}
Jlist mylist=新的Jlist(元素);
您应该将DB查询代码(与模型相关)从GUI构建(视图)中分离出来,以便于将来的维护,并在所谓的MVC结构中分离结构,但这不在本问题的范围之内。您可以使用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);
创建一个类,使用此查询从数据库加载列表。然后使用swing类中的此类获取字符串列表,并填充JList。数据库相关代码不应与表示相关代码位于同一类中。将刷新按钮添加到UI以重新执行查询并刷新列表。或者每X秒自动刷新一次,因为你的问题解决了,请考虑