有沒有人有任何好的教程來填充JList與SQL這樣的查詢表。每當您創建或刪除表時,JList都會得到更新。用表格填充JList
SELECT name FROM sqlite_master WHERE type = 'table';
任何幫助,將不勝感激。
有沒有人有任何好的教程來填充JList與SQL這樣的查詢表。每當您創建或刪除表時,JList都會得到更新。用表格填充JList
SELECT name FROM sqlite_master WHERE type = 'table';
任何幫助,將不勝感激。
這很簡單,您不需要教程:)使用this構造函數從元素的關閉列表構建您的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結構中,但這不在這個問題的範圍之內。
謝謝,我會試試看。 – user2210209 2013-05-09 14:47:40
由於您的問題已解決,請考慮[接受答案](http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work/65088#65088) – 2013-05-09 14:53:26
您可以使用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);
謝謝,我會嘗試它。 – user2210209 2013-05-09 14:48:15
使用此查詢的數據庫中創建一個類加載列表。然後在你的swing類中使用這個類來獲取字符串列表,並填充JList。與數據庫相關的代碼不應與展示相關的代碼處於相同的類中。向您的用戶界面添加刷新按鈕以重新執行查詢並刷新列表。或者每X秒自動刷新一次。 –
2013-05-09 13:57:10