martes, 8 de octubre de 2013

Contenedores Java Swing

Después de haber visto los componentes atómicos, componentes de texto y los Menús en Java Swing, ya tenemos lo suficiente para darle una repasada a los diferentes Contenedores que esta librería nos provee......



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......veamos.... 

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).....

Descarga.

Como es costumbre en el enlace de descarga se encuentra el archivo .rar con la aplicación, solo es cuestión de descomprimir y abrir con Eclipse
pero si usas NetBeans te interesará esta entrada con un vídeo paso a paso de como abrirlo en el... cada contenedor tiene su paquete por aparte... y listo....... recuerden que es gratis, nada cuesta opinar, compartir o agradecer :)




También te podría Interesar.


¿Hay algo que quieras anexar o comentar sobre esta entrada?  no dudes en hacerlo.....y si te gustó...... te invito a compartir
 y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)

22 comentarios:

  1. Muy bueno Cristian, gracias por el aporte

    ResponderEliminar
  2. Mil gracias genial, una pregunta para poner audio a una aplicación como se hace eso amigo por favor!!!

    ResponderEliminar
    Respuestas
    1. Hola, gracias a ti por el mensaje, te cuento que yo no he trabajado con sonidos en una aplicación de escritorio, pero si lo he realizado con applets importando la libreria AudioClip y usando el metodo play() para reproducirlo, revisando en internet encontré esta pagina que te puede servir
      http://www.javaworld.com/javaworld/javatips/jw-javatip24.html

      Mas adelante espero vincular tu inquietud en una entrada (Y) Gracias

      Eliminar
  3. Muy buenos post todos! soy usuario mac pero me sirvieron un montón para guiarme, Buen blog!

    ResponderEliminar
  4. Gracias por el aporte!! Saludos!

    ResponderEliminar
    Respuestas
    1. Gracias por Agradecer ;) un saludo y me alegra que te sirviera ;)

      Eliminar
  5. gracias por el ejemplo de los contenedores me sera muy util :)

    ResponderEliminar
  6. estos son los unicos Contenedores Java Swing o existen mas .... te agradecería por tu respuesta .

    ResponderEliminar
  7. Me gusta mucho esta pagina te agradezco por compartir. lamentablemente es muy común que nadie quiera compartir sus conocimientos, siento mucho que la mayoría de las personas se pongan obstáculos entre ellas en vez de ayudarnos unos a otros pues somos una única raza. gracias por este aporte

    ResponderEliminar
  8. Gracias por compartir, esta muy claro.

    ResponderEliminar
  9. Buenas tardes

    Como logro pintar Una JTable, lo que deseo es tomar los valores de varios JTextField, con base en ellos ejecuto una consulta LIKE y traigo datos en un arraylist, ya tengo lista la JTable y el modelo, solo quiero que se le permita al usuario escribir los datos y al presionar el JButton que me muestre la JTable en el internalFrame.

    ResponderEliminar
  10. Buenas tardes

    Como logro pintar Una JTable, lo que deseo es tomar los valores de varios JTextField, con base en ellos ejecuto una consulta LIKE y traigo datos en un arraylist, ya tengo lista la JTable y el modelo, solo quiero que se le permita al usuario escribir los datos y al presionar el JButton que me muestre la JTable en el internalFrame.

    ResponderEliminar
  11. Gracias amigo me sirvió su pagina, descargue el archivo, eres bueno.

    ResponderEliminar
  12. Hola:
    Mi nombre es Martín y soy de México, no se si me responderás pues veo que los otros comentarios no son muy recientes, pero si me contestas seré tu más fiel seguidor.
    Bueno el problema que tengo es obviamente en contenedores,manejo Java NetBeans 8.2, de ninguna forma me considero experto en esto de Java, he creado un programa muy sencillo que maneja en un mismo JFrame dos JPanel, el primer JPanel lo puedo abrir y mostrar desde un menú en el JFrame principal y una vez que ya está abierto el mismo JPanel contiene un JButton desde el cual se debe abrir y mostrar un segundo JPanel, lo cual no sucede, se que en los paneles hay forma de "personalizar el código" convirtiéndolo en Público y Estático los hice para los paneles y para los botones también y nada... no puedo hacer que se vea el segundo panel, lo más seguro es que ya sepas como hacerlo o ya tengas algún código o video para tal efecto, espero que me puedas ayudar.

    De antemano gracias y saludos.

    ResponderEliminar
  13. tu información me ayudo mucho, gracias!
    todo muy claro!

    ResponderEliminar
  14. Muchas gracias por este material tan bueno, me ayudo mucho y sobre todo el ejemplo para eclipse

    ResponderEliminar
  15. El lloguer de contenidors morales és una manera convenient i assequible d'eliminar els seus residus de manera segura i sostenible. Les empreses de lloguer de contenidors morals lliuren contenidors a la seva porta, els omplen amb els seus residus i l'empresa els retira i els recicla o els elimina correctament.

    Llogar un contenidor moral és una manera excel·lent de reduir el seu impacte ambiental. En reciclar i eliminar els seus residus de manera adequada, pot ajudar a reduir la contaminació, conservar els recursos naturals i protegir el medi ambient.

    A més de ser sostenible, el lloguer de contenidors morals també és convenient. No has de preocupar-te per portar els seus residus al dipòsit o al centre de reciclatge. L'empresa de lloguer de contenidors morals es farà càrrec de tot per a tu.

    Si busques una manera sostenible i convenient d'eliminar els seus residus, el lloguer de contenidors morals és una excel·lent opció.

    ResponderEliminar

Eres libre de realizar cualquier comentario, desde que pueda ayudar con gusto lo atenderé, y si es un critica, bienvenida sea!!!