我在 ButtonGroup 中有几个 JToggleButton 使用 ItemListener 的 itemStateChanged 事件来检测何时选择/取消选择按钮。在我单击按钮本身以选择/取消选择它的情况下,它不起作用。我该如何解决这个问题?如果我使用 ActionListener,当调用 ActionEvent 时,Button 的选择状态(isSelected())总是显示为 true。
ButtonGroup buttonGroup = new ButtonGroup();
for(int i=0;i<toggleButtons.length;i++){
buttonGroup.add(toggleButtons[i]);
}
for(int i=0;i<toggleButtons.length;i++){
final int j=i;
toggleButtons[i].addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
JToggleButton item=(JToggleButton)e.getSource();
if(e.getStateChange()==ItemEvent.SELECTED){
System.err.println(j+" selected!!!! "+item.getText());
} else if(e.getStateChange()==ItemEvent.DESELECTED){
System.err.println(j+" unselected!!!! "+item.getText());
}
}
});
}