在java中为下拉列表中的索引赋值

在java中为下拉列表中的索引赋值,java,swing,Java,Swing,我是一名java乞丐,正在制作一个GUI程序,其中包含一个月的下拉列表,如 JComboBox month; public static String[] monthname = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; month = new JComboBox(monthname); 我

我是一名java乞丐,正在制作一个GUI程序,其中包含一个月的下拉列表,如

JComboBox month;
public static String[] monthname = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
month = new JComboBox(monthname);
我已经将它添加到框架中,它工作正常。
我想为month name数组的每个索引分配数值。我只想实现,如果用户选择了4月份,如何根据4月份分配值4

尝试
月份。getSelectedIndex()+1

您可以制作
地图
并为月份分配键值。理想的做法是将int作为键,但由于您需要月份的整数值,请执行以下操作:

Map<String, Int> months = new Hashmap <String, Int>();

months.put("january", 1);
months.put("february", 2);
...
将返回
1


由于您的键是字符串,并且一月也可以是
January
,或者
January
,因此您应该将得到的所有字符串转换为
小写
。这就是为什么我在地图的键字段中使用小写字母

我想通过使用循环动态分配值。但我不知道如何在这里使用循环。我从来没有在GUI中使用过循环,不需要创建循环..那么如何设计动态值。。。?静态值分配将非常耗时。地图对我来说是新事物,但我很高兴我学到了一些新东西。我要试试这个。非常感谢:)我编辑了地图的声明,因为我第一次把键作为Int,把值作为String(检查一下,这是我的错)。映射是在构造函数内部还是外部使用…?嗯,我不知道你的意思。类的构造函数?给我更多的信息,这样我就可以向你解释了。呵呵,是的,我对你先用Int,然后再用Int这一点感到困惑。谢谢你的清理。我查过了,汉克斯。我认为这是一个简单的解决方案,因为它是1行:D,但是对于更复杂的映射情况,@AsierAranbarri的响应更适合。。。
months.get("january");