Como capturar eventos em um JCheckbox 1


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

Sobre Eduardo Costa

De Campinas-SP, bacharel em Sistema de Informação pela Anhanguera Educacional e pós graduado no curso de MBA em Gestão de Projetos e Metodologia do Ensino Superior. Atualmente trabalha como arquiteto e desenvolvedor Java em empresa de desenvolvimento de software de suporte a tomada de decisão, além de ministrar aulas de Orientação a Objeto, Linguagem Java e XML. Já atuou como líder técnico, coordenador de produto e analista de negócios.

Deixe uma resposta para Cara MAW [gente boa ele] Cancelar resposta

Um pensamento em “Como capturar eventos em um JCheckbox