2009-10-24 137 views
0

基本上,該程序將客戶信息轉儲到數據庫中。 爲了更改信息,我希望用戶能夠從組合框中選擇客戶名稱 ,以便系統可以從該客戶的數據庫中調用所有信息。訪問數據庫是好的,把信息和改變是好的..我只是無法弄清楚如何讓組合框填充所有的客戶名稱。如何使用mySQL數據庫中的信息填充jcombobox?

+0

我無法理解這個問題。你知道如何填充一個JComboBox的一般?正如答案中所說,這在任何方面都沒有什麼不同。只需從數據創建一個模型並將其設置爲組合框。 – Carlos 2009-10-24 23:14:32

回答

1

最簡單的解決方案是從數據庫中創建一個String數組。然後用它來創建組合框。

String[] mydbStrings = .....; 
    JComboBox mycombo = new JComboBox(mydbStrings); 

但是,這隻會給你一些字符串。定義一個代表客戶的類,從數據庫加載客戶,確保在Customer類中定義足夠的toString()並創建在組合框中使用的Customers的數組可能更好。這樣,客戶名稱會顯示在組合框中,但是您可以選擇一個可以隨時獲取所有客戶詳細信息的客戶名稱。

如果您認爲這太耗費內存,無法一次加載所有客戶的數據,可以使用名稱和ID創建一個較小的custInfo類。然後在組合框中使用它,並在選擇它之後加載其餘的客戶數據。

1

這應該很簡單,如果你知道如何填充一個正常的組合框,以及如何從數據庫中提取數據。默認情況下,組合框將在構造函數中使用一個字符串數組,因此您只需傳遞一個字符串數組(客戶名稱),但我會建議爲組合框創建一個模型。然後,您可以將客戶傳遞給模型(很可能是某些POJO的),然後您可能還需要創建一個渲染器,以便您可以隨意顯示這些名稱。然後,選擇一個客戶後,您可以查詢該模型以獲取所選客戶的ID,然後使用該ID檢索所需的客戶數據。

相關問題