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