如何获取JComboBox最后一个(上一个)选择状态



我知道在复选框上订阅ItemListener可以在方法中获取ItemEvent.SELECTED/DESELECTED状态:

public void itemStateChanged(ItemEvent e) {
    if(e.getStateChange()==ItemEvent.DESELECTED){
    }
....
}

但我想知道的是 JComboBox 在状态更改期间实际发生的"最后选择状态"。随着JCheckBox JToggleButton的扩展,我必须通过某种方式知道,因为java按钮在实际更改为新状态之前确实具有中间状态值,例如"按下"。但是我找不到万一JCheckBox的方法

如果我将事件源强制转换为AbstractButton,然后执行以下操作呢:

ChangeListener changeListener = new ChangeListener() {
  public void stateChanged(ChangeEvent changeEvent) {
    AbstractButton abstractButton = (AbstractButton) 
    changeEvent.getSource();
    ButtonModel buttonModel = abstractButton.getModel();
    boolean armed = buttonModel.isArmed();
    boolean pressed = buttonModel.isPressed();
    boolean selected = buttonModel.isSelected();
    .......
  }
};

最新更新