Seguidores

MIS WEBS



miércoles, 28 de febrero de 2018

JRadioButton y JCheckBox en java

JCheckBox


Las conocemos como casillas de verificación y tienen dos métodos que nos pueden resultar útiles, isSlected(),setSlected(bolean). Podemos crear varias en un formulario y el usuario puede seleccionar todas, una de ellas o varias.
isSlected()    Nos indica si la casilla está seleccionada o no. true = seleccionada, false = no seleccionada.
setSlected(bolean)  Establecer si la casilla esta seleccionada o no. true = seleccionamos la casilla, false = dejamos sin seleccionar la casilla.
paramString() Nos regresa una representación de cadena de este JCheckBox.
Ejemplo de JTextBox: Crearemos un marco, le agregaremos dos laminas, una con un texto y otra con dos checkBox(casilla verificación) y luego las pondremos a la escucha indicándole que cuando la pulsen realice una acción determinada sobre el texto(ponerlo en negrita y/o cursiva).

public class practica3 {
        public static void main(String[] args) {
                Marco_actual marco = new Marco_actual();
                marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                marco.setVisible(true);
        }
}
class Marco_actual extends JFrame{
        public Marco_actual() {
                Lamina_actual lamina_actual = new Lamina_actual();            
                setBounds(800,50,500,300);
                add(lamina_actual);
        }
}
class Lamina_actual extends JPanel{
        Lamina_actual(){
                setLayout(new BorderLayout());
                Font LetraNormal= new Font("Cabril",Font.PLAIN,15);
                texto = new JLabel("Esta es mi practica con checkBox modificando texto");
                texto.setFont(LetraNormal);
                texto.setForeground(Color.BLUE);
//crearemos dos laminas una para el texto y la otra para los botones y dispondremos una lámina en el norte y la otra en el sur del panel principal
                JPanel laminaTexto = new JPanel();
                laminaTexto.add(texto);
                add(laminaTexto,BorderLayout.CENTER);
                //Creamos los checkBox y los ponemos a la escucha
                casillaVerificacion1 = new JCheckBox("TEXTO NEGRITA");
                casillaVerificacion2 = new JCheckBox("TEXTO CURSIVA");
                casillaVerificacion1.addActionListener(new ControlCasillaVerificacion());
                casillaVerificacion2.addActionListener(new ControlCasillaVerificacion());
                JPanel LaminaBotones = new JPanel();
                LaminaBotones.add(casillaVerificacion1);
                LaminaBotones.add(casillaVerificacion2);
                add(LaminaBotones,BorderLayout.SOUTH);
        }
        private class ControlCasillaVerificacion implements ActionListener{
                public void actionPerformed(ActionEvent e) {
                        //cada vez que toquemos un botón tipo tendrá un valor de 0
                        int tipo = 0;
                        //cuando pulsamos el botón 1 tipo = Font.Bold (valor = 1)
                        //cuando pulsamos el Botón 2 tipo = Font.italic(valor = 2)
                        if (casillaVerificacion1.isSelected()==true) {tipo+=Font.BOLD;}
                        if (casillaVerificacion2.isSelected()==true) {tipo+=Font.ITALIC;}
                        texto.setFont(new Font ("Cabril",tipo,15));
                }      
        }
        private JLabel texto;
        private JCheckBox casillaVerificacion1,casillaVerificacion2;
}

JRadioButton



La diferencia con JCheckBox, además de la forma evidentemente, es que si creamos varios JRadioButton solo se puede seleccionar uno de ellos.
En primer lugar creamos un grupo de botones con la case ButtonFroup
JRadioButton Color=new ButtonGroup();
Luego necesitamos crear los botones  realizando instancias de la clase JRAdioButon tantas como botones necesitemos.
             JRadioButton Azul= new JRadioButton("Azul");
             JRadioButton Rojo= new JRadioButton("Rojo");
             JRadioButton Verde= new JRadioButton("Verde");
            
En el siguiente paso agreagamos los botones al grupo creado anteriormente

Color.add(Azul);
             Color.add(Rojo);
             Color.add(Verde);

Por último agregamos los botones a la lámina (No el grupo):

LaminaRadioButton.add(Rojo);
             LaminaRadioButton.add(Verde);
             LaminaRadioButton.add(Azul);








En el siguiente ejemplo generamos un panel, agreagamos distintas laminas: una en el centro con el texto “Estado civil “, otra a la derecha con checkRadius (Rojo ,Verde y  Azul), otra a la izquierda con checkRadius (Soltero, Casado) y una lámina en la parte inferior CheckBox (Negrita y cursiva).
1.       Al pulsar negrita el texto se pondra en negrita y al pulsar en cursiva el texto pasa a cursiva.
2.       Al pulsar Rojo el texto se pone Rojo, al pulsar verde texto pasa a verde y al pulsar Azul el texto se pone Azul.
3.       Al pulsar Casado el texto pasa a decir “Estado civil Casado”
4.       Al pulsar Soltero el texto pasa a decir “Estado civil Soltero”


public class practica3 {
        public static void main(String[] args) {
                Marco_actual marco = new Marco_actual();
                marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                marco.setVisible(true);
        }
}
class Marco_actual extends JFrame{
        public Marco_actual() {
                Lamina_actual lamina_actual = new Lamina_actual();
                setBounds(800,50,500,300);
add(lamina_actual);
        }
   }

class Lamina_actual extends JPanel{
        Lamina_actual(){
                setLayout(new BorderLayout());
                Font LetraNormal= new Font("Cabril",Font.PLAIN,15);
                texto = new JLabel("Estado civil");
                texto.setFont(LetraNormal);

                JPanel laminaTexto = new JPanel();
                laminaTexto.setLayout(new FlowLayout(FlowLayout.CENTER,0,100));
                laminaTexto.add(texto);
                add(laminaTexto,BorderLayout.CENTER);
                //Creamos los checkBox y los ponemos a la escucha
                casillaVerificacion1 = new JCheckBox("TEXTO NEGRITA");
                casillaVerificacion2 = new JCheckBox("TEXTO CURSIVA");
                casillaVerificacion1.addActionListener(new ControlLetra());
                casillaVerificacion2.addActionListener(new ControlLetra());
               
JPanel LaminaBotones = new JPanel();
                LaminaBotones.add(casillaVerificacion1);
                LaminaBotones.add(casillaVerificacion2);
                add(LaminaBotones,BorderLayout.SOUTH);
               
JPanel LaminaRadioButton = new JPanel();
        LaminaRadioButton.setLayout(new BoxLayout(LaminaRadioButton, BoxLayout.PAGE_AXIS));
                Color_botones=new ButtonGroup();
                Azul= new JRadioButton("Azul"); Rojo= new JRadioButton("Rojo");
                Verde= new JRadioButton("Verde");
                Color_botones.add(Azul);Color_botones.add(Rojo);Color_botones.add(Verde);
        LaminaRadioButton.add(Rojo);LaminaRadioButton.add(Verde);LaminaRadioButton.add(Azul);
                Azul.addActionListener(new ControlColor());
                Rojo.addActionListener(new ControlColor());
                Verde.addActionListener(new ControlColor());
                add(LaminaRadioButton,BorderLayout.EAST);
               
                JPanel LaminaWest = new JPanel();
                LaminaWest.setLayout(new BoxLayout(LaminaWest, BoxLayout.PAGE_AXIS));
                estadoCivil=new ButtonGroup();
                Soltero = new JRadioButton("Soltero"); Casado = new JRadioButton("Casado");
                estadoCivil.add(Soltero);      estadoCivil.add(Casado);
                LaminaWest.add(Soltero);       LaminaWest.add(Casado);
                Soltero.addActionListener(new ControlEstadoCivil());
                Casado.addActionListener(new ControlEstadoCivil());
                add(LaminaWest,BorderLayout.WEST);    
        }
        private class ControlLetra implements ActionListener{
                public void actionPerformed(ActionEvent e) {
                        //cada vez que toqumos un boton tipo tendra un valor de 0
                        int tipo = 0;
//cuando pulsamos el botón 1 tipo = Font.Bold (valor = 1); boton 2 tipo = Font.italic(valor = 2)
                        if (casillaVerificacion1.isSelected())/*==tru*/ {tipo+=Font.BOLD;}
                        if (casillaVerificacion2.isSelected()) {tipo+=Font.ITALIC;}
                        texto.setFont(new Font ("Cabril",tipo,15));
                }
        }
        private class ControlColor implements ActionListener{
                public void actionPerformed(ActionEvent e) {
                        if (Rojo.isSelected()) {texto.setForeground(Color.RED);
                        }if (Azul.isSelected()){texto.setForeground(Color.BLUE);
                        }if (Verde.isSelected()) {texto.setForeground(Color.GREEN);   
                        }      
                }
        }
        private class ControlEstadoCivil implements ActionListener{
                public void actionPerformed(ActionEvent e) {
                        if(Soltero.isSelected()) {texto.setText("Estado civil SOLTERO");      
                        }else {texto.setText("Estado civil CASADO");
                        }
                }
        }
        private JLabel texto;
        private JCheckBox casillaVerificacion1,casillaVerificacion2;
        private JRadioButton Azul,Verde,Rojo,Soltero,Casado;
        private ButtonGroup estadoCivil,Color_botones;
}


No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital