Una vez que hemos terminado de estructurar los paneles
y hemos asociado a cada uno de ellos un distribuidor gráfico,
podemos comenzar a agregar los elementos gráficos y de interacción.
En este video, hablaremos de etiquetas, zonas de texto y botones.
Y empezaremos por los componentes gráficos más simples
que permiten desplegar información al usuario
esas son las etiquetas.
Las etiquetas permiten agregar un texto corto como parte de la interfaz,
con el fin de explicar algún elemento de interacción
como por ejemplo, una zona de texto.
Las etiquetas, labels en inglés
son objetos de la clase JLabel and Swing
y se crean pasando en el constructor el texto que deben contener.
Dicha clase cuenta con diversos métodos, entre los cuales tenemos los siguientes.
Set text, que permite cambiar el texto de la etiqueta.
Y Set Foreground, que permite cambiar el color de la misma.
Como color, se puede pasar cualquiera de las constantes de la clase Color de Java
o definir un nuevo color utilizando los tres índices
rojo, verde, azul del estándar RGB.
Para agregar una etiqueta a un panel se siguen cuatro pasos.
Primero, declarar en el panel un atributo de la clase JLabel.
Segundo, agregar la instrucción de creación de la etiqueta New
en el método constructor del panel.
Tercero, utilizar los métodos de la clase
para configurar los detalles de visualización deseados.
Y por último, utilizar la instrucción Add del panel
para agregarla en la zona donde le corresponda.
Miremos a manera de ejemplo el código necesario
para crear las etiquetas del panel que contienen los datos del paciente.
Primer paso, declarar en la clase del panel los atributos del tipo JLabel.
Como tenemos cuatro etiquetas en este panel, que son el nombre del paciente
su apellido, su fecha de nacimiento y el sexo, declaramos cuatro atributos.
Segundo paso, crear las etiquetas en el método
constructor de la clase del panel.
Note que al crear las etiquetas de una vez podemos especificar el texto
que deseamos que despliegue.
Tercer paso, configurar las características de las etiquetas
con los métodos de la clase JLabel.
Supongamos que deseamos poner un color de letra diferente
a cada una de las etiquetas.
Esto lo hacemos con el método Set Foreground que la clase JLabel nos provee.
Eso se hace dentro del mismo método constructor de la clase del panel.
Cuarto y último paso, agregar las etiquetas al panel con la instrucción Add.
Notemos que la posición exacta de las etiquetas dentro del panel
dependerá por supuesto del tipo de distribuidor gráfico
que asociemos al panel.
Esto se hace igualmente dentro del mismo método
constructor de la clase del panel.
Dado que estos cuatro pasos son los mismos
para cualquier componente gráfico que se quiera ańadir a un panel
para los siguientes elementos gráficos que veremos en esta sesión
nos limitaremos únicamente a conocer para qué sirven
y cuáles son los métodos que podemos utilizar
en función de la clase Swing del elemento.
Pasemos entonces a las zonas de texto.
Las zonas de texto, que son objetos de la clase JText Fill
cumplen dos funciones en una interfaz.
Por una parte, permiten al usuario ingresar
la información correspondiente a las entradas
de los requerimientos funcionales.
Por ejemplo, el volumen de la muestra de sangre del paciente.
Y por otra, obtener las respuestas calculadas por el programa
Por ejemplo, el valor de matocrito de la muestra.
Los siguientes métodos permiten configurar y manipular las zonas de texto.
Get Text es un método que retorna la cadena de caracteres
tecleada por el usuario dentro de la zona de texto.
Independientemente de si el usuario ingresó un valor numérico
o una secuencia de letras
todo lo que el usuario teclea se maneja
y retorna como una cadena de caracteres.
Más adelante, en los retos del módulo
veremos cómo convertirla a un número cuando así lo necesitemos.
El método Set Text presenta en la zona de texto
la cadena que se pasa como parámetro.
Este método se usa frecuentemente para mostrar los resultados
de un cálculo hecho por el programa
como por ejemplo, la edad del paciente.
Set Editable, el cual indica si el contenido
de la zona de texto puede ser modificado por el usuario.
En el caso de las zonas de texto utilizadas para mostrar resultados
es común impedir que el usuario modifique el valor allí contenido.
Set Foreground, el cual define el color de los caracteres
que aparecen en la zona de texto.
De la misma manera que con las etiquetas
aquí se pueden usar las constantes de la clase Color
o crear otro color distinto.
Y por último, Set Background
que define el color de fondo de la zona de texto.
Veamos ahora las cajas de chequeo.
La biblioteca Swing provee un componente gráfico
que permite al usuario seleccionar o no una opción.
En el caso de estudio, lo utilizamos para que el usuario seleccione
si la muestra ha sido tomada en ayunas o no.
Estos componentes son manejados por la clase JCheckBox
cuyos principales métodos son los siguientes.
IsSelected, el cual retorna un valor lógico
que indica si el usuario seleccionó la opción.
Verdadero si la opción fue escogida
y falso en caso contrario.
IsSetSelectec, el cual marca como seleccionado o no el control
dependiendo del valor lógico del parámetro.
Para finalizar, miremos los botones.
Estos son objetos de la clase JButton
y permiten al usuario expresar sus órdenes al programa.
Podemos decir que es el mecanismo más simple
de interacción entre el usuario y la aplicación.
Por esta misma razón, la clase JButton posee
dos métodos especiales que intervienen en el manejo de las acciones
que ejecuta el usuario a través de la interfaz.
Estos métodos son setActionCommand y addActionListener
los cuales veremos más adelante en el módulo.
Como de costumbre, en este último módulo del curso
después de la teoría viene la práctica.
En el siguiente reto, usted deberá declarar
inicializar y agregar todos los botones
las etiquetas, las zonas de texto y las cajas de chequeo
a la interfaz gráfica de la aplicación.
Adelante y mucha suerte.