使用多个信息填充JComboBox

时间:2014-04-02 10:26:20

标签: java mysql swing jcombobox

我处于一个位置,我必须使用我的用户(5个用户)的名称填充JComboBox。当用户单击JComboBox中的名称时,我想要检索用户的UserID,而不是它们的实际名称,因为它们中的一些可能是相同的,并且使用其UserID作为WHERE过滤器进行SQL查询。

我将所有用户信息临时存储在一个Object中,由MySQL数据库检索。

如何编写在JComboBox中放置更多信息的方法,但只向用户显示实际名称?

我希望这是有道理的,其他地方可以随意提问。

提前致谢, 的Jesper。

2 个答案:

答案 0 :(得分:0)

创建一个User对象,其中包含具有相应getter(如果需要,还有setter)的名称和用户ID。将这些添加到组合框中。使用ListCellRenderer定义User对象实际渲染的方式。

有关详细信息,请参阅How to use comboboxes

答案 1 :(得分:0)

结帐Combo Box With Custom Renderer。它解释了您需要按照两个步骤来实施正确的解决方案:

  1. 使用自定义渲染器
  2. 使用自定义KeySelectionManager,因此在使用自定义渲染器时不会破坏默认组合框功能