如何确定 JComboBox 触发的 ActionEvent 是由 GUI 中的用户引起的,还是由从代码中调用 comboBox.setSelectedItem("something")
引起的?或者来自任何其他事件?
最佳答案
使用 boolean 变量来跟踪您自己何时更改值:
private JComboBox<String> comboBox;
private boolean comboBoxChangedFromCode = false;
在更改值时设置该变量:
comboBoxChangedFromCode = true;
comboBox.setSelectedItem(...);
comboBoxChangedFromCode = false;
检查组合框的 ActionListener 中的值:
public void actionPerformed(ActionEvent e) {
if (comboBoxChangedFromCode) {
...
} else {
...
}
}
关于java - 如何确定 JComboBox ActionListener 是由代码触发还是由用户触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26559951/