Taller de Programacin I
Semana VI
Taller de programacin I
Indice
Indice
I
03
II Aprendizajes esperados
03
04
IV Resumen de la Semana
18
18
JTextField.
JcheckBox
JRadioButton:
Jlist y JComboBox:
04
10
11
14
Taller de programacin I
Taller de programacin I
JTextField.
Este control permite obtener informacin por parte del usuario, toda la informacin que el usuario ingrese se puede obtener invocando al mtodo
getText del control.
Este control posee muchas propiedades que podemos utilizar para crear una mejor experiencia de usuario, por ejemplo la propiedad text la podemos modificar des de el panel de propiedades de para hacer que el control aparezca sin texto al iniciar la aplicacin, como muestra la siguiente
imagen:
Taller de programacin I
Otra propiedad que podemos modificar es la propiedad toolTipText , con esta propiedad podemos definir un texto informativo que aparecer
cuando el usuario pase el mouse sobre el control.
Modificando esta propiedad el control luego desplegar un cuadro informativo cuando posiciones el mouse encima de la siguiente forma:
Taller de programacin I
Otra propiedad que debes tener en cuenta es la propiedad columns la cual permite definir la cantidad de caracteres que sern visibles en el
control, esto es muy importante pues bajo ciertas condiciones el control se puede hacer ms grande o ms pequeo modificando el layout del
formulario.
Ten en cuenta que esta propiedad no limita la cantidad de caracteres que admite el control slo el tamao del control cuando se dibuje.
Los controles JTextField soportan el ingreso de datos por parte del usuario por lo tanto es muy importante el entregarle la mayor cantidad de
informacin posible cuando este comete un error, para lograr esto se pueden desarrollar 2 mtodos, una forma es validar el contenido campo a
campo al momento de ingresar los datos y la otra es validar a nivel del formulario vale decir cuando el usuario presiona el botn para guardar. La
mayora de las veces se utiliza una combinacin de los dos. Veamos un ejemplo, supongamos que tenemos la siguiente interfaz grfica:
Taller de programacin I
Ac podemos realizar algunas validaciones que tienen que ver con los tipos de dato o la extensin mxima de cada control, por ejemplo sabemos
que por una restriccin del modelo de negocios el nombre no puede tener una extensin mayor de 30 caracteres, entonces lo primero es saber
cuantos caracteres ha ingresado el cliente y luego restringir el mximo a 30. Para esto es necesario realizar los siguientes pasos, estos pasos no son
la nica forma de limitar la cantidad de caracteres, pero te pueden ayudar a solucionar un problema muy comn.
Primero crearemos un listener para el evento keyTyped en el control que queremos limitar, el evento keyTyped se gatilla cuando el usuario
tipea una tecla pero esta an no se dibuja en el control.
Taller de programacin I
Taller de programacin I
Este evento se gatilla cuando el control pierde el foco, de esta forma lo que haremos ser verificar si el control tiene algo escrito en su interior y de
no ser as cambiaremos su color de fondo y modificaremos el mensaje que aparece asociado a su propiedad toolTipText.
De esta forma cuando el control pierde el foco, el control cambia y ahora tiene la siguiente apariencia:
Taller de programacin I
JcheckBox
Permite al usuario poner o sacar un ticket, este control se utiliza cuando el usuario debe decidir entre verdadero o falso.
Para modificar el valor del texto que acompaa al control lo hacemos modificando la propiedad text desde el panel de propiedades.
Adicionalmente puedes dejar uno de los elementos como seleccionado por defecto utilizando la propiedad selected.
Taller de programacin I
Para poder saber si un elemento fue seleccionado, podemos preguntar por su propiedad isSelected.
JRadioButton:
Permite al usuario seleccionar slo una opcin entre un grupo de ellas.
Taller de programacin I
Ac tambin puedes hacer que una de las opciones del formulario aparezca marcada de forma predeterminada ocupando la propiedad selected.
Taller de programacin I
Ahora bien la idea de trabajar con los controles jRadioButton es la de establecer opciones que sean mutuamente excluyentes es decir que al seleccionar una las otras se desmarquen, para lograr esto debemos agregar un control llamado ButtonGroup.
Una vez agregado el control podemos asociar a cada uno de los controles a este grupo y de esta forma se comportarn de forma mutuamente
excluyentes.
Cuando necesites procesar los datos ingresados por el usuario tienes varias opciones, la primera y ms simple es preguntar uno por uno por los
elementos y preguntar por su estado isSelected
Taller de programacin I
Jlist y JComboBox:
Muestran una lista de elementos los cuales pueden aparecer desplegados o como una lista desplegable.
Lo primero que vamos a hacer es llenar la lista de elementos, para esto debemos seleccionar el control y modificar la propiedad model.
Taller de programacin I
Al hacer clic sobre el botn elipsis (el que tiene los 3 puntos) se abrir un editor que permite ingresar o eliminar elementos en el modelo en
tiempo de diseo.
Ahora, tambin es posible modificar el contenido mediante cdigo para esto se necesita modificar el modelo de construccin del JComboBox
utilizando un objeto que se llama DefaultComboBoxModel, para esto lo primero que hay que hacer es importar la clase de esta forma:
Taller de programacin I
De esta forma el control JComboBox desplegar los datos agregados por cdigo.
Para lograr obtener el valor del elemento seleccionado se puede hacer ocupando el mtodo getSelectedItem() el cual devuelve el elemento
seleccionado, y luego hay que transformarlo en un valor String para poder manipularlo como en el siguiente ejemplo:
Taller de programacin I
Si lo que necesitas es limpiar la lista de elementos lo puedes hacer utilizando el mtodo removeAllItems()
Si lo que necesitas es eliminar slo un elemento lo puedes hacer utilizando el mtodo removeItemAt el cual requiere como parmetro el ndice
del elemento a eliminar en al lista.
Taller de programacin I
Resumen de la Semana
Esta semana aprendiste a trabajar con nuevos controles para dotar a tus interfaces grficas de mayores funcionalidades.