2013-05-07 49 views
0

如何获得JComponent的名称(JComboBox中,JCheckBox的,JTextComponent的...等) 我怎么能得到字段名的把这个名字的HashMap,例如:Jcomponents的getName

 HashMap<String,String> map; 
    public HashMap<String,String> getHash(){ 
    map = new HashMap(); 
    ArrayList<JCombobox> list = className.getCombobox(); 
    for(int index=0;index<list.size();index++){ 
    map.putt(list.get(index).getName , list.get(index).getSelectedItem()); 
    } 
    return map; 
} 

的getName返回 “空” 我有大的表单component.setName(“名称”)方法.... PLZ帮助)

回答

2

默认情况下,组件的名称属性没有设置,所以这必须显式完成之前getName()将返回一个值。最简单的方法是在将JCombobox添加到List之前手动执行此操作,例如,

for (int i=0; i < COMBO_COUNT; i++) { 
    JComboBox comboBox = new JComboBox(); 
    comboBox.setName("combo" + (i + 1)); 
    list.add(comboBox); 
} 
+0

这是怎么自动完成的?))表单有40多个不同的组件comonentns,那就是80多个代码行。 – 2013-05-07 11:17:18

+1

反思,但请注意反射通常被认为是错误问题的正确答案。这个正确的问题是,你想通过这个来实现什么? – 2013-05-07 11:17:38

+1

我认为手动操作比较简单,例如使用for循环 – Reimeus 2013-05-07 11:20:11

相关问题