jcombobox 用 hashmap 填充

jcombobox populate with hashmap

我想用显示值和数值填充我的组合框

HashMap<Integer, String> databaseList

我想在组合框中显示字符串,但组合框的值必须是整数。 我知道这在 C# 中是可行的,在 Java 中也是可行的吗?

I want to fill my combobox with a display value and a number value

我会创建一个单独的对象来包含这两个属性,然后将这些单独的对象添加到组合框中。

查看 Combo Box With Hidden Data 以获取此方法的示例。

jcombobox populate with hashmap

否则您将需要创建自定义 ComboBoxModel

这会更难做到,因为 Hashmap 没有您可以直接访问的数据的顺序排序,除非您的 Integer 是从 0 开始的序号。

然后您还需要实现一个自定义方法来获取任何组合框项目的字符串值。

JComboBox 的值可以是任何值,因为它是通用模板。

JComboBox<String> combobox = new JComboBox<>();
String str = "string part";
int i = 7;
combobox.addItem(str + i);

或者您可以制作一对 class 并将其用作组合框的模板参数。