2012-02-05 4 views
1

У меня есть x портов на моем компьютере. Я хотел бы добавить в меню, что любое устройство подключается и возвращает пользовательский ввод для слушателя. Я написал:Динамическое добавление MenuItem со ссылками

private void portSelectItem(){ 

    JMenu port=new JMenu("Port"); 

    String[] portTab= SerialIO.listPorts(); 

    for(String s : portTab){      

     port.add(new JCheckBoxMenuItem(s)); 

    } 

} 

С другой стороны, я генерирую динамические ссылки х и добавляю слушатель в этих портах?

ответ

2

Затворы меню tutorial. Вот пример:

ButtonGroup buttonGroup = new ButtonGroup(); 
for(String s : portTab){      
    JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem(); 
    checkBoxMenuItem.setText(s); 
    buttonGroup.add(checkBoxMenuItem); 
    checkBoxMenuItem.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      //TODO 
     } 
    });   
} 
+0

+1 простой и правильный ответ – mKorbel

2

1) setActionCommand(String portTab)

2) Вы можете добавить к JCheckBoxMenuItem

3) каждый из Listeners возвращается Object fired select/deselect event и этим Object возвращается getActionCommand(String portTab) если определено

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