use*_*210 2 java swing actionlistener jcombobox
嗨,我有JComboBox3 个选项,我正在尝试找出actionlistener应用哪个选项,以便在选择一个选项时发生某些事情。目前我的代码是:
comboBoxMode = new JComboBox();
comboBoxMode.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
int selection = comboBoxMode.getSelectedIndex();
switch (selection){
case 0: break;
case 1: enableNormalModeFeatures(); break;
case 2: enableRevisionModeFeatures(); break;
case 3: enableTimerModeFeatures(); break;
}
}
});
comboBoxMode.setModel(new DefaultComboBoxModel(new String[] {"[--Please Select a Mode--]", "Normal", "Revision", "Timer"}));
Run Code Online (Sandbox Code Playgroud)
目的是在选择特定模式时启用页面上的其他选择工具。mouselistener 似乎不起作用。让我感到困惑的是,您实际上必须单击两次才能选择一个选项,但我假设有一些内置代码仅在选择了列表项时才运行?无论如何,任何指针将不胜感激,谢谢大家!
我建议使用ItemListener 。
comboBoxMode = new JComboBox();
comboBoxMode.addItemListener(this);
...
public void itemStateChanged(ItemEvent e) {
if ((e.getStateChange() == ItemEvent.SELECTED)) {
int selection = comboBoxMode.getSelectedIndex();
switch (selection){
case 0: break;
case 1: enableNormalModeFeatures(); break;
case 2: enableRevisionModeFeatures(); break;
case 3: enableTimerModeFeatures(); break;
}
}
Run Code Online (Sandbox Code Playgroud)