UNIDAD 4: CONTROL DE PROGRAMA

JAVA TEMA 10: JRADIOBUTTON

image30.jpg

Primero se usa swing en función de que awt no trae como default un componente radiobutton, asi que los ejemplos y pruebas se tendran que hacer con JFrame.

Este Componente se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes entre si, es decir si el usuario selecciona un componente RadioButton todos los demás componentes RadioButton en la forma, se desmarcan solos, o se deseleccionan solos, como mejor se entienda.

Recordar también que cuando el usuario selecciona un RadioButton, todos los demás RadioButton en el objeto(forma o ventana) son deseleccionados automáticamente, esto es por que dos RadioButton son mutuamente excluyentes entre si.

Esta ultima situación deberá resolverse por parte del programador, es decir se supone un programa donde el usuario debe seleccionar uno de entre dos sexos y uno de entre cinco municipios, en este caso se ocupan ocho RadioButton, pero como todos son mutuamente excluyentes entre si, cuando el usuario seleccione uno de ellos, todos los demás se desmarcaran automáticamente.

Para resolver este problema se deberá usar sus propios componentes de agrupamiento que son incluidos en java como lo muestra el siguiente ejemplo:

import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class prog15 {
//declaracion, creacion e inicializacion de componentes, objetos y variables
static JFrame ventana= new JFrame();
static JPanel p1= new JPanel(); static JPanel p2= new JPanel();
static JTextField jt1=new JTextField(15); static JButton jb1= new JButton("OK");
static JRadioButton jrb1=new JRadioButton("5",true);
static JRadioButton jrb2=new JRadioButton("10");
// se ocupa un contenedor o grupo especial para los radiobuttons
static ButtonGroup grupo= new ButtonGroup();
// parte principal de programa
public static void main(String[] args)
{ // area de definicion de propiedades de el objeto
ventana.setTitle("mi programa");
ventana.setDefaultCloseOperation(ventana.EXIT_ON_CLOSE);
ventana.getContentPane().setLayout(new GridLayout(2,0));
//agrupando y cargando panel1 con su grupo de radiobotones
p1.setLayout(new GridLayout(1,0));
grupo.add(jrb1); grupo.add(jrb2); p1.add(jrb1);p1.add(jrb2);
//cargando segundo panel con jbutton y jtextfield
p2.add(jb1); p2.add(jt1);
ventana.getContentPane().add(p1); ventana.getContentPane().add(p2);
ventana.pack(); ventana.setVisible(true);
jb1.addMouseListener( new MouseAdapter()
{ public void mousePressed(MouseEvent e){
if(jrb1.isSelected()== true ) jt1.setText("cinco");
if(jrb2.isSelected()== true ) jt1.setText("diez"); }} );
}; // termina main
} // termina clase

Recordar que cada grupo, debera ir en su propio panel.

La dos maneras de programar son similares a las de checkbox, solo que el metodo a usa es .isSelected().

De esta manera Java los evalúa por separado y se puede tener seleccionado un RadioButton en cada grupo.

TAREAS JAVA

1.- Diseñar y construir tres problemas similares a los resueltos con el componente CheckBox.

Politica de Privacidad