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;
}