I have a few JToggleButton in a ButtonGroup using ItemListener's itemStateChanged Event to detect when a button is selected/unselected. It does not work in the case where I click on a button itself to select/unselect it. how do I solve this issue? If I use ActionListener, when the ActionEvent is invoked, the Button's selection state(isSelected()) always says 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());
}
}
});
}