domingo, 1 de septiembre de 2013

Componentes Java Swing

Como se mencionó en la introducción a Java Swing, este paquete nos brinda ciertas facilidades para la construcción de interfaces graficas de usuario........ en esta entrada vamos a conocer a nivel general algunos de los principales componentes que podemos usar en nuestras GUI's...

Hasta el momento hemos visto lo que es Swing, las diferencias entre JFrame y JDialog así como un pequeño ejemplo sobre la creación de Ventanas incluyendo también 2 componentes tales como los botones y las etiquetas de texto.

En esta entrada enunciaremos algunos de los principales componentes, tal vez no podamos trabajarlos todos pero es bueno saber que existen, conociendo nuevas opciones para vincular en nuestros desarrollos...

Que son Los Componentes Graficos?

Como se ha mencionado, los componentes graficos son estos elementos que permiten brindar una interacción con el usuario del sistema..... Cada componente corresponde a una clase en Java, por esta razón cuando desarrollamos y queremos vincular uno de estos elementos simplemente instanciamos la clase que necesitamos, es decir, si queremos un Área de texto debemos crear un objeto de la clase JTextArea....

Categorias...

En la introducción sobre Swing vimos un pequeño árbol de herencia, sin embargo este no enmarca todos los componentes Graficos de la librería sino solo algunos de los principales, a continuación vamos a ampliar el numero de esos componentes agrupándolos en categorías dependiendo de su funcionalidad....

No vamos a profundizar en cada categoría, tan solo es una introducción general, en próximas entradas se trataran mas a fondo....


Como vimos en entradas anteriores, un contenedor es el tapiz donde pintaremos nuestros componentes graficos, existen contenedores principales, entre estos se encuentran JFrame y JDialog pero también existen otros contendedores incluidos dentro de los mencionados...
  • JFrame – Es la Ventana de aplicación, el contenedor principal
  • JDialog – Una ventana de tipo Ventana de diálogo, tambien puede ser un contenedor principal.
  • JPanel – Permite la creación de paneles independientes donde se almacenan otros componentes.
  • JScrollPane – permite la vinculación de barras de desplazamiento en un contenedor.
  • JSplitPane – permite la creación de un contenedor dividido en 2 secciones.
  • JTabbedPane – Permite la creación de pestañas, cada pestaña representa un contenedor independiente.
  • JDesktopPane – Permite crear ventanas dentro de una ventana principal 
  • JToolBar – Permite introducir una Barra de herramientas 

Componentes Atómicos

Los componentes atómicos son los elementos que no pueden almacenar otros objetos o componentes graficos, por ejemplo, un JPanel no es Atómico, ya que en el podemos almacenar JButtons, JTextField entre otros...
  • JLabel – Permite Vincular Etiquetas, tanto de texto como de imagenes
  • JButton – Permite vincular Botones simples. 
  • JCheckBox – Son Casilla de verificación, ideal para selección múltiples.
  • JRadioButton – Permite presentar opciones de selección similares a las checkbox, solo que el enfoque de estas es de única selección.
  • JToggleButton – Botón que al oprimirlo se quedará presionado hasta que se ejecute otro evento.
  • JComboBox – Permite mostrar una lista de elementos como un combo de selección.
  • JScrollBar – Permite mostrar una barra de desplazamiento, regularmente usada en Areas de texto o paneles donde el contenido es mayor que el tamaño del componente. 
  • JSeparator – Permite separar opciones, es una barra simple. 
  • JSlider - Permite vincular un Deslizador en nuestra ventana. 
  • JSpinner – permite vincular una caja de texto con botones integrados para seleccionar algún valor. 
  • JProgressBar – Establece una barra de progreso.

Son todos aquellos que nos permiten procesar cadenas de texto, sea como entrada o salida de información.
  • JTextField – Permite introducir un campo de texto simple.
  • JFormattedTextField – Permite introducir un campo de texto con formato, (si definimos que solo recibe números no permitirá letras...)
  • JPasswordField – Campo de texto que oculta los caracteres ingresados.
  • JTextArea – Permite vincular un área de texto donde el usuario ingresara información o simplemente para presentar cadenas de texto.
  • JEditorPane Permite vincular un área de texto con propiedades de formato.
  • JTextPane – Similar al anterior, permitiendo otras opciones de formato, colores, iconos entre otros.

Estos componentes permiten vincular opciones de menú en nuestras ventanas, tipo menú principal, como por ejemplo el conocido Inicio, Archivo, Edición etc..
  • JMenuBar – Permite vincular una barra de menús.
  • JMenu– Permite vincular botones o enlaces que al ser pulsados despliegan un menú principal.
  • JMenuItem – Botón u opción que se encuentra en un menú.
  • JCheckBoxMenuItem– Elemento del menú como opciones de checkbox.
  • JRadioButtonMenuItem– Elemento del menú como botón de selección.
  • JPopupMenu– Opciones de menú emergentes.

Componentes Complejos

Estos son componentes un poco mas avanzados, cumplen con funciones mas enfocadas a procesos especificos y complejos, como por ejemplo obtener gran cantidad de información de una base de datos, trabajo con nodos, colores entre otros.
  • JTable – Permite vincular una tabla de datos con sus respectivas filas y columnas.
  • JTree - Carga un árbol donde se establece cierta jerarquía visual, tipo directorio.
  • JList – Permite cargar una lista de elementos, dependiendo de las propiedades puede tenerse una lista de selección múltiple.
  • JFileChooser – Es un componente que permite la búsqueda y selección de ficheros entre otras.
  • JColorChooser – Componente que permite cargar un panel selector de color
  • JOptionPane – No es algo complejo sino mas un componente independiente que permite mostrar un cuadro de diálogo personalizable.

Conclusiones.

Como vimos existen gran cantidad de componentes pensados para diferentes problemas o necesidades, los presentados son los mas comunes aunque también pueden existir otros que tal vez no se mencionan aquí pero pueden ser mencionados mas adelante.

La intención con esta entrada es servir como base para nuevos artículos donde se crearan ejemplos un poco generales y otros al detalle de cada componente, mientras tanto puede dar una idea de los tipos de componentes que tal vez necesitan utilizar, así tan solo es cuestión de buscar el nombre y encontrar ejemplos de aplicación.

Mas adelante presentaré articulos con ejemplos de aplicación...

¿Conocen otros componentes que no se tienen en cuenta aquí?........ ¿Cuales Son?


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

26 comentarios:

  1. Gracias es muy buen contenido. También soy ingeniero en sistemas, bueno aun estoy cursando la carrera saludos!!

    ResponderEliminar
  2. Es una excelente guía. Gracias por el material. Tienes algo sobre EJB???

    ResponderEliminar
  3. Buenas noches una pregunta estos son los componentes más utilizados en Java

    ResponderEliminar
  4. Buenos dias disculpe me podria aclarar la duda cual seria la diferencia entre usar jframe o bien window application ya que al parecer sirven para lo mismo

    ResponderEliminar
  5. buenos dias.

    la presente tengo una duda en JComboBox hay forma de poner la lista desplegable del tamaño de los item y no del combobox?

    ResponderEliminar
  6. me has salvado muchas gracias por la info ;v

    ResponderEliminar
  7. Muy buena información me has salvado con mis tareas jaja

    ResponderEliminar
  8. ALGUIEN ME DICE LA RESPUESTA
    Permite cargar una lista de elementos, dependiendo de las propiedades puede tenerse una lista de selección múltiple. *

    ResponderEliminar

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