动态添加带有引用的MenuItem



我的计算机中有x个端口。我想在菜单中添加任何插入的设备,并为听众接收用户输入。我写道:

private void portSelectItem(){
    JMenu port=new JMenu("Port");
    String[] portTab= SerialIO.listPorts();
    for(String s : portTab){                    
        port.add(new JCheckBoxMenuItem(s));
    }
}

用我生成动态x引用并在这个端口中添加监听器的方式?

检查Swing菜单教程。这里有一个例子:

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 
        }
    });         
}

1)setActionCommand(String portTab)

2) 您可以添加到JCheckBoxMenuItem

  • ActionListener

  • ChangeListener

  • ItemListener

  • 行动

  • 最复杂的方法是添加EventHandler,它触发事件并可以在字符串值中进行比较

3) 每个监听器都返回Object激发的选择/取消选择事件,如果定义了

,则此Object返回getActionCommand(String portTab)

最新更新