簡體   English   中英

如何用mySQL數據庫中的信息填充jcombobox?

[英]How do I populate a jcombobox with information from a mySQL database?

基本上,該程序獲取客戶信息並將其轉儲到數據庫中。 為了更改信息,我希望用戶能夠從組合框中選擇一個客戶名稱,以便系統隨后可以從該客戶的數據庫中調用所有信息。 訪問數據庫很好,可以放入信息並進行更改。.我只是想不出如何使組合框填充所有客戶名稱。

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

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

但這只會給您一些字符串。 最好定義一個代表客戶的類,從數據庫中加載客戶,確保在Customer類中定義了足夠的toString()並創建在組合框中使用的客戶數組。 這樣,客戶名稱顯示在組合框中,但是如果您選擇一個,則可以輕松獲得所有客戶詳細信息。

如果您認為這占用大量內存,無法一次加載所有客戶數據,則可以僅使用名稱和ID創建較小的custInfo類。 然后在組合框中使用該數據集,並在選定數據后加載其余的客戶數據。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM