Oi Pessoal, a situação é a seguinte:
- Tenho um JToolBar com n JToggleButtons;
- O JToolbar têm implementado a interface ItemListener;
- Ao apertar um botão, se pode desenhar uma figura asociada ao botão, por exemplo: um circulo na área de desenho.
Agora o problema é o seguinte:
- Gostaria que ao momento de apertar um botão, os outros botões (que estão ON) se desativem (fiquem OFF) e se possa desenhar a figura asociada imediatamente.
Fiz um método para deixar os outros botões desativados:
private void disableOtherButtons (JToggleButton actualButton){
for (int i=0; i<this.getComponentCount();i++){
JToggleButton otherButton = (JToggleButton)this.getComponentAtIndex(i);
if (otherButton.equals(actualButton) == false){
otherButton.setSelected(false);
}
}
}
O ItemListener está assim:
public void itemStateChanged(ItemEvent e) {
Object source = e.getSource();
JToggleButton button = (JToggleButton)source;
if(button.equals(circBtn) && e.getStateChange() == ItemEvent.SELECTED){
TDraw_.draw(TDraw.CIRCLE);
this.disableOtherButtons(newCircBtn);
}
else
TDraw_.draw(0); //não se desenha nada
}
Ao apertar por primeira vez um botão, se pode desenhar a figura asociada imediatamente, mas ao apertar outro botão, não se pode desenhar a figura imediatamente. Eu tenho que “apagar” e “acender” de novo esse botão para que se possa desenhar.
Como disse anteriormente, gostaria que se pudesse desenhar imediatamente ao apertar qualquer botão e quando está desativado não se possa desenhar nada.
Muito Obrigado de antemão.
