Java 迭代hashmap并将项添加到swing jcombobox

Java 迭代hashmap并将项添加到swing jcombobox,java,swing,model-view-controller,jcombobox,comboboxmodel,Java,Swing,Model View Controller,Jcombobox,Comboboxmodel,我正在开发我的第一个Java应用程序,我被困在这一部分,我需要用hashmap中的项目填充我的combobox 我正在使用模型-视图-控制器方法,并试图从GUI中填充组合框。因此,在用户单击按钮后,将调用一个方法,该方法应与控制器对话并请求combobox的项。控制器应该将项目发送回GUI,并且可以填充组合框 因此,在我的一个模型文件中,我创建了一个hashmap,并通过我的控制器向其中添加项目 hashmap如下所示: HashMap<Integer, Customer> cust

我正在开发我的第一个Java应用程序,我被困在这一部分,我需要用hashmap中的项目填充我的combobox

我正在使用模型-视图-控制器方法,并试图从GUI中填充组合框。因此,在用户单击按钮后,将调用一个方法,该方法应与控制器对话并请求combobox的项。控制器应该将项目发送回GUI,并且可以填充组合框

因此,在我的一个模型文件中,我创建了一个hashmap,并通过我的控制器向其中添加项目

hashmap如下所示:

HashMap<Integer, Customer> customerRegisterHashMap = new HashMap<Integer, Customer>();
HashMap customerRegisterHashMap=new HashMap();
让我们假设映射现在根据Customer类属性填充了示例数据

现在,我想我需要在控制器或模型本身中实现一个方法,该方法迭代上面的hashmap并返回数据(集合?)

我需要(另一个假设,可能没有必要)再次遍历这些数据,只是这一次在GUI类中,一个接一个地向combobox添加项目

所以这个项目看起来是这样的:5个文件,控制器,Customerregister,Customer,框架和一个显示框架的应用程序文件


非常感谢您的建议。

这可能会给您一个想法:

HashMap<Integer, Customer> stuff = new HashMap<Integer, Customer>();
stuff.put(0, new Customer());
stuff.put(2, new Customer());
Iterator it = stuff.keySet().iterator();
while(it.hasNext())
{
    ComboBox.addItem(stuff.get(it.next()));
}
HashMap stuff=newhashmap();
stuff.put(0,新客户());
stuff.put(2,新客户());
Iterator it=stuff.keySet().Iterator();
while(it.hasNext())
{
ComboBox.addItem(stuff.get(it.next());
}

您可以在应用程序中传递
HashMap
,然后只需如上所述将内容添加到
JComboBox

似乎还可以。如果有什么问题您无法理解,需要帮助,请指定您的问题。要获得更好的帮助,请尽快发布一个简短的、可运行的、可编译的、大约
JFrame
,其中包含一个
JComboBox
HashMap中的硬编码值,将(您的视图)拆分为
MVC`另请参见。“这是SSCCE。”22Kb的拉链不等于1个拉链!让一个例子足够简短,可以作为问题的编辑发布。HashMap会以不可预测的顺序迭代,因此组合框中的条目总是随机混合的。我不知道这对你来说是否是一个问题,但最好使用TreeMap(可以使用整数键按排序方式迭代)或LinkedHashMap(可以按键添加的顺序迭代)。谢谢。在本例中,我面临的问题基本上是当项目遵循MVC设计时如何迭代hashmap。在您的示例中,添加数据并在一个类中搜索所有数据。相反,我需要编写一个方法,该方法可以访问hashmap并返回可以进一步使用的数据(可能由另一个方法使用),以便将所有返回的项添加到相关的组合框中。所以,问题是,这两个方法看起来如何(如果这实际上是正确的方法)。就像我说的,你可以在你的程序中传递
HashMap
,或者(可能是个坏主意)创建一个所有类都可以访问的静态或公共方法谢谢,这对我很有帮助。