jan
16
2010

Como capturar eventos em um JCheckbox

Neste exemplo mostro como adicionar um listener no componente gráfico JCheckBox e assim capturar os eventos disparados pelo usuário. Eventos é toda a iteração com o componente gráfico como o pressionar de um botão ou simplesmente locomover o mouse sobre o componente. Veja como isso pode ser feito:


import javax.swing.AbstractButton;
import javax.swing.ButtonModel;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class JCheckBoxComEventos {
public static void main(String args[]) {

JCheckBox checkBox = new JCheckBox("Opção");

// A classe ChangeListener é responsável por tratar os eventos do JCheckBox
ChangeListener changeListener = new ChangeListener() {
public void stateChanged(ChangeEvent changeEvent) {
AbstractButton abstractButton = (AbstractButton)changeEvent.getSource();
ButtonModel buttonModel = abstractButton.getModel();
//indica que o componente sera precionado
boolean armed = buttonModel.isArmed();
//indica que o componente esta precionado
boolean pressed = buttonModel.isPressed();
//indica que o componente esta selecionado (check marcado)
boolean selected = buttonModel.isSelected();
System.out.println("Evento disparado. isArmed:" + armed + " isPressed:" + pressed + " isSelected? " +selected);
}
};

//Adiciona a classe que vai capturar os eventos ao checkbox
checkBox.addChangeListener(changeListener);

JFrame janela = new JFrame("JCheckBox");
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.add(checkBox);
janela.setSize(200, 80);
janela.setVisible(true);
}
}

Últimos 5 artigos de Eduardo Costa

Compartilhe e Aproveite:

  • email
  • Print
  • PDF
  • RSS
  • Google Bookmarks
  • Twitter
  • Digg
  • MySpace
  • del.icio.us
  • Facebook
  • Mixx
  • LinkedIn
  • Live
  • Technorati
  • Netvibes
  • Rec6
  • MSN Reporter
  • Yahoo! Bookmarks
  • Add to favorites

Sem Comentários »

RSS feed para os comentários deste artigo.


Deixe uma Resposta

Powered by WordPress. Theme: TheBuckmaker. Darlehen, OpenID