Los JCheckBox (botones de comprobación) se utilizan generalmente como botones de estado. Es decir proporcionan información del tipo Sí o No.Estos botones pueden resultar de mucha utilidad sobre todo a lo hora de rellenar formularios pero también pueden resultar útiles para realizar unas determinadas acciones dependiendo de su estado, es decir,cuando se selecciona ocurre una acción concreta y cuando se desmarca puede ocurrir otra .Un ejemplo de JCheckBox podría ser el siguiente:
Vamos a verlo con un ejemplo sencillo hecho paso a paso:
Vamos a verlo con un ejemplo sencillo hecho paso a paso:
- En primer lugar importamos las librerías necesarias:
import javax.swing.JCheckBox; import java.awt.event.ItemListener; import java.awt.event.ItemEvent;
- Creamos el JCheckBox:
JCheckBox cbFunciona = new JCheckBox("Activar bot\u00F3n Funciona"); cbFunciona.setBounds(172, 57, 145, 23); contentPane.add(cbFunciona);
- Ahora creamos el evento que nos permitirá realizar una determinada acción si se selecciona el JCheckBox y otra cuando no esté seleccionado:
cbFunciona.addItemListener(new ItemListener(){ @Override public void itemStateChanged(ItemEvent e) { if(e.getStateChange()==ItemEvent.SELECTED) //Acción cuando es seleccionado else { //Acción cuando no está seleccionado } } });
package ejemplo; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JCheckBox; import javax.swing.JButton; import java.awt.event.ItemListener; import java.awt.event.ItemEvent; public class JCheckbox extends JFrame { /** * */ private static final long serialVersionUID = 1L; private JPanel contentPane; JButton btnFunciona; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { JCheckbox frame = new JCheckbox(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public JCheckbox() { setTitle("Ejemplo de uso de JCheckbox"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 239);//Puede ser necesario ajustar este tamaño contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); btnFunciona = new JButton("Funciona"); btnFunciona.setEnabled(false); btnFunciona.setBounds(172, 57, 176, 23);//Puede ser necesario ajustar este tamaño contentPane.add(btnFunciona); JCheckBox cbFunciona = new JCheckBox("Activar bot\u00F3n Funciona"); cbFunciona.setBounds(172, 57, 145, 23);//Puede ser necesario ajustar este tamaño contentPane.add(cbFunciona); cbFunciona.addItemListener(new ItemListener(){ @Override public void itemStateChanged(ItemEvent e) { if(e.getStateChange()==ItemEvent.SELECTED) btnFunciona.setEnabled(true); else { btnFunciona.setEnabled(false); } } }); } }Nota: Tened en cuanta que el nombre de la clase que creáis sea JCheckBox y el paquete se llame ejemplo porque si son distintos y no los cambiáis os dará error. También puede ocurrir que al ejecutar el programa el tamaño de la ventana no se ajuste bien y entonces el botón y el checkbox no se vean correctamente, para solucionar eso solo hay que ajustar los tamaños de los mismos.
0 comentarios:
Publicar un comentario