我创建了一个JComboBox,其中填充了一个字符串的arraylist。我的comboBox正如我想要的那样正确填充。获取所选项目时出现问题:当我在btnGo.addActionListener
中打印时,我意识到它始终与所选项相同,即使我更改了选择并再次单击“转到”。有没有办法让选择真正改变?我可以不用点击Go就可以这样做吗?就像从comboBox中选择项目并立即执行操作一样。
这是我检查选择的项目的方式:
String selected = comboBox.getSelectedItem().toString();
然后我在selected
btnGo.addActionListener
答案 0 :(得分:2)
是的,可以在选择comboBox元素时执行操作。你只需要在你的comboBox中添加一个ActionListener;这是一个示例代码:
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
JComboBox comboBox = (JComboBox) event.getSource();
Object selected = comboBox.getSelectedItem();
if(selected.toString().equals("item1"))
field.setText("AA");
else if(selected.toString().equals("item2"))
field.setText("BB");
}
});
getContentPane().add(comboBox);
getContentPane().add(field);
}
请分享源代码以帮助您解决选择问题。