Existen una serie de elementos que son básicos a la hora de realizar formularios. En esta entrada se tratarán los checkbox, los radiobutton y otro tipo de componentes de funcionalidad muy parecida.

CheckBox

Los checkbox o casillas de verificación son componentes utilizados para poner un elemento en verdadero o falso. Este tipo de elemento es muy utilizado en pantallas de configuraciones. El constructor queda de la siguiente forma

JCheckBox checkbox = new JCheckBox("Selección",new ImageIcon(getClass().getResource("/resources/duke.png")), true);

Donde se pueden alternar desde o a 3 parámetros. Los principales métodos de este elemento son:

//Comprueba si el elemento esta chequeado
checkbox.isSelected();
//Pone la selección / deseleeción en el elemento
checkbox.setSelected(true);

Manejar eventos

De forma generica se maneja el estado del checkbox cuando se detecta un cambio es su estado mediante el método addItemListener que se ejecutará cuando la selección del elemento cambie

checkbox.addItemListener(new ItemListener() {
    @Override
    public void itemStateChanged(ItemEvent e) {
        System.out.println(e.getStateChange());
    }
});

RadioButton

Elemento muy similar al anterior. El constructor queda de la siguiente forma, pudiendo también identificar el icono que acompaña al eleentno:

JRadioButton radio1 = new JRadioButton("Opción 1", true))

Los principales métodos de este elemento son:

//Modifica si el elemento está no no está marcado
radio1.setSelected(true);
//Evalúa si el elemetno está o no está marcado
radio1.isSelected();

Manejo de eventos

De forma generica se maneja el estado del radiobutton cuando se detecta un cambio es su estado mediante el método addItemListener que se ejecutará cuando la selección del elemento cambie

checkbox.addItemListener(new ItemListener() {
    @Override
    public void itemStateChanged(ItemEvent e) {
        System.out.println(e.getStateChange());
    }
});

ButtonGroup

Un objeto ButtonGroup es un contenedor de elementos que facilitan la selección única de los mismos. Si estamos hablando de check o radios en el momento que se añaden a un grupo tan solo puede haber uno seleccionado al mismo tiempo. Para añadir elementos al grupo se utiliza el método add.

JRadioButton radio1 = new JRadioButton("Opción 1", true);
JRadioButton radio2 = new JRadioButton("Opción 2", true);
JRadioButton radio3 = new JRadioButton("Opción 3", true);

ButtonGroup grupo = new ButtonGroup();
grupo.add(radio1);
grupo.add(radio2);
grupo.add(radio3);

Los principales métodos de este elemento son:

//Obtiene el modelo de selección de los elementos
grupo.getSelection();
//Añade elementos al grupo
grupo.add();