2013-05-07 4 views
0

как получить JComponent имя (JComboBox, JCheckBox, JTextComponent ... и т.д.) , как я могу получить FIELDNAME для положить это имя для 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 ("name") .... plz help)

ответ

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 строк кода. –

+1

Отражение, но обратите внимание, что отражение часто считается правильным ответом на неправильный вопрос. Правильный вопрос: что вы пытаетесь достичь через это? –

+1

Я думаю, что это проще сделать вручную, например. используя цикл for – Reimeus

Смежные вопросы