10.1 Componentes Swing PDF
10.1 Componentes Swing PDF
10.1 Componentes Swing PDF
Componentes Swing
Componentes Swing
El paquete javax.swing es la evolución del paquete java.awt considerándose este obsoleto a día
de hoy. JavaFx es la nueva tecnología que viene a sustituir a javax.swing aunque en el momento
de escribir estas líneas aún no ha culminado ese “relevo generacional” y ambas bibliotecas
conviven en armonía para construir interfaces gráficas en Java.
En este capítulo veremos los componentes swing básicos que podemos utilizar para construir
objetos gráficos que permitan interactuar con el usuario.
Entendemos por componentes Swing todos aquellos elementos que forman parte de el paquete
javax.swing con los que podemos construir una interfaz gráfica en Java.
Todas las clases del paquete javax.swing que permiten construir componentes comienzan por J,
así que fijarnos en el nombre de la clase es una buena manera de saber si estamos construyendo
con AWT o lo estamos haciendo con Swing.
www.pildorasinformaticas.es
Swing
• JFrame
Los JFrame son contenedores. Es lo que conocemos como “marcos”, “cuadros” o “frames”. En
definitiva, los JFrame son los que construyen el contenedor principal de una interfaz gráfica (la
ventana propiamente dicha). En la imagen siguiente se ve una ventana construida con la clase
JFrame:
www.pildorasinformaticas.es
Swing
• JLabel:
Los JLabel son “etiquetas”, esto es, elementos de texto simple dentro de una interfaz gráfica.
Normalmente acompañan a otros componentes como cajas de texto o áreas de texto para
indicar a qué corresponden cada una, aunque se pueden utilizar para cualquier otro propósito.
En la imagen que aparece a continuación, se señala un JLabel dentro de una interfaz gráfica
sencilla:
www.pildorasinformaticas.es
Swing
Vemos en la imagen anterior como creamos una instancia perteneciente a la clase JLabel con el
nombre de “etiquetaNombre” y cómo le pasamos un parámetro al constructor de tipo String
que hace referencia al texto que aparecerá finalmente en el JLabel. Es importante ir a la API de
Java y ver detenidamente esta clase JLabel. El resto de clases para construir componentes Swing
son muy similares y entendiendo una, se entienden todas.
• JTextField:
El componente JTextField construye un cuadro de texto típico donde el usuario podrá hacer clic
con el ratón y escribir el texto que desee.
www.pildorasinformaticas.es
Swing
Como se observa en la imagen, el constructor recibe un parámetro de tipo entero (10) que hace
referencia a la longitud del cuadro de texto. No confundir este parámetro con la cantidad de
caracteres que se pueden introducir en un JTextField. A pesar de que esta clase es muy similar
a la anterior, recomiendo ir a la API y echar un vistazo a la misma.
• JTextArea:
Este componente permite crear áreas de texto donde el usuario podrá escribir mayor cantidad
de texto.
www.pildorasinformaticas.es
Swing
En este caso los parámetros del constructor de JTextArea hacen referencia a cuántos caracteres
se visualizan en fila y cuántos en columna, marcando las dimensiones del JTextArea. En la
siguiente imagen se señala en la API el constructor utilizado:
www.pildorasinformaticas.es
Swing
• JList:
Este componente nos permite crear listas de elementos donde el usuario podrá seleccionar un
item haciendo clic sobre él. Se ve un JList en la siguiente imagen:
Se observa en la imagen anterior cómo en este caso el constructor de JList recibe por parámetro
un array de tipo String que contiene los elementos del JList.
www.pildorasinformaticas.es
Swing
• JCheckBox:
Este componente permite seleccionar varios ítems a la vez. Son las clásicas “casillas de
verificación”. En la siguiente imagen se ven varios JCheckBox dentro de un JFrame:
www.pildorasinformaticas.es
Swing
• JRadioButton:
Este componente es muy similar al JTextBox con la diferencia de que funcionan “en grupo”. Esto
hace que solo sea posible la selección de un componente a la vez. Se utilizan cuando la elección
escogida es excluyente, es decir, cuando no tiene sentido elegir más de un elemento a la vez. En
la imagen a continuación se ve un ejemplo:
El código para construir los JRadioButton del ejemplo anterior se muestra a continuación:
www.pildorasinformaticas.es
Swing
En cuanto a los constructores, son prácticamente idénticos a los vistos con el componente
JCheckBox tal y como se aprecia en la siguiente imagen:
www.pildorasinformaticas.es
Swing
• JComboBox:
Este componente es similar al componente JList visto anteriormente con la diferencia de que en
este componente los elementos seleccionables están disponibles en un menú desplegable. En
las imágenes a continuación se aprecia este componente antes de desplegar las opciones y una
vez desplegadas:
El código para construir este componente tal y como aparece en la imagen anterior, se muestra
a continuación:
Al igual que ocurría con el componente JList, el constructor de este componente permite por
parámetro el paso de un array. Dicho array contendrá los elementos a mostrar. En la imagen de
la API a continuación, se ve la sobrecarga de constructores de este componente:
www.pildorasinformaticas.es
Swing
• JButton:
Este componente permite construir botones clásicos en los que el usuario podrá hacer clic. En
la imagen a continuación se muestra el aspecto de este componente:
En la clase JButton también hay sobrecarga de constructores tal y como se observa en la API:
www.pildorasinformaticas.es
Swing
en componentes vistos anteriormente) lo que permite construir componentes que respondan a
eventos (clic, selecciones etc.).
Hay muchísimos más componentes que nos permitirán elaborar interfaces gráficas más o menos
completas como por ejemplo JScrollBar, JTree, JTable etc. La forma de proceder para utilizar
estos elementos es la misma que hemos descrito con los ejemplos anteriores: ir a la API y ver
sus constructores y métodos para ver qué posibilidades de uso nos ofrece cada uno.
www.pildorasinformaticas.es