Jcomponents getName

时间:2013-05-07 11:10:31

标签: java json swing reflection jcombobox

如何获取JComponent名称(JComboBox,JCheckBox,JTextComponent ......等)  我如何获得fieldName以将此名称放入HashMap,例如:

       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返回“null” 我有component.setName(“name”)方法的大表单.... plz help)

1 个答案:

答案 0 :(得分:2)

默认情况下,未设置组件的name属性,因此必须在getName()返回值之前显式执行此操作。最简单的方法是在将JCombobox添加到List之前手动执行此操作,例如

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