Que Son?
Tal como se ha mencionado en las primeras entradas sobre java
Swing, los contenedores son componentes que permiten almacenar,
alojar o contener otros elementos gráficos.....nuevamente
mencionamos que es el Tapiz donde vamos a pintar.......
Cuales Son?
Java Swing provee algunos contenedores útiles para diferentes casos,
así cuando desarrollamos una Ventana podemos decidir de que
manera presentar nuestros elementos, como serán alojados y de que
forma serán presentados al usuario......
JFrame
Este contenedor es uno de los principales y mas usados (ya lo hemos
visto anteriormente), representa la ventana Principal de nuestra
aplicación, en el podemos alojar otros contenedores.
JDialog
Este contenedor representa una ventana de tipo Ventana de diálogo,
también puede ser un contenedor principal aunque es mas
recomendable dadas sus propiedades, que sea usada como ventana
secundaria, es decir, un JFrame como ventana Principal y el resto de
ventanas como un JDialog (Ya veremos el porqué).
JPanel
Este contenedor es uno de los mas simples, permite la creación de
paneles independientes donde se almacenan otros componentes, de
esta manera decidimos que elementos se alojan en que paneles y
dado el caso podemos usar sus propiedades para ocultar, mover o
delimitar secciones... cuando alojamos elementos en un panel, los
cambios mencionados se aplican a todo su conjunto...es decir, si
nuestro panel tiene 5 botones y ocultamos solo el panel, los botones
también se ocultan....
JScrollPane
Este contenedor permite vincular barras de
scroll o desplazamiento en nuestra aplicación, puede ser utilizado
tanto en paneles como en otros componentes como un JTextArea,
hay que tener en cuenta que no es simplemente poner un scroll, es
alojar el componente (en este caso panel o área de texto) en
el JScrollPane....
JSplitPane
Este componente permite la creación de un
contenedor dividido en 2 secciones, muchas veces usado en
aplicaciones donde una sección presenta una lista de propiedades y
otra sección presenta el elemento al que le aplicamos dicha
lista....cada sección puede ser manipulada por aparte y
redimensionar sus componentes (Mas utilizado cuando se trabaja con
layouts...después lo veremos).
JTabbedPane
Este tal vez sea otro de los componentes mas
usados, permite la creación de una pestañas en nuestra ventana,
cada pestaña representa un contenedor independiente donde
podemos alojar paneles u otros elementos.
JDesktopPane
Este contenedor aloja componentes de
tipo JInternalFrame, estos representan ventanas internas,
permitiendo así crear ventanas dentro de una ventana principal, al
momento de su creación podemos manipular sus propiedades para
definir si queremos redimensionarlas, cerrarlas, ocultarlas entre
otras....
También podemos definir una posición inicial de cada ventana
interna, sin embargo después de presentadas podemos moverlas por
toda la ventana Principal donde se encuentran alojadas.
JToolBar
Este contenedor representa una Barra de
herramientas dentro de nuestra aplicación, en el podemos alojar
diferentes componentes que consideremos útiles, botones, check,
radios, campos entre otros.......esta barra de herramientas puede ser
manipulada permitiendo cambiar su ubicación con tan solo arrastrarla
al extremo que queramos, o sacarla de la ventana para que nuestras
opciones se encuentren como una ventana independiente.
El Ejemplo.
Nuevamente presento un ejemplo sencillo, no tiene mayor grado de
complejidad que el que le pueda dar cada componente, la aplicación
presenta una Ventana Principal con un botón por cada elemento a
exponer, como se mencionó anteriormente la Ventana Principal será
un JFrame y el resto de ventanas del sistema lo trabajaremos
como JDialog (En esta entrada se explica el porqué).
La idea es mostrar rápidamente el funcionamiento básico de estos
elementos, si se necesitan alguno se recomienda profundizar
mediante ejemplos o mas investigación...... es importante que si no
se entiende algún procedimiento soliciten ayuda, por ejemplo es muy
común omitir en ocasiones el método pack(); debemos saber que
este permite trabajar con las dimensiones de los contenedores (si es
necesario).....
VAMOS A JUGAR http://www.daypo.com/test-contenedores-swing-netbeans-1.html