Esta lecci�n ha explicado algunos de los mejores conceptos que necesitar�s conocer para construir GUIs Swing -- el �rbol de contenidos, el control de distribuci�n, el manejo de eventos, el dibujado, y los threads. Adem�s, hemos tocado t�picos relacionados, como los bordes. Esta secci�n explica algunas caracter�sticas Swing que no se han explicado todav�a.
�Caracter�sticas que ProporcionaJComponent
Excepto los contenedores de alto nivel, todos los componentes que empiezan con J descienden de la clase JComponent. Obtienen muchas caracter�sticas de esta clase, como la posibilidad de tener bordes, tooltips, y Aspecto y Comportamiento configurable. Tambi�n heredan muchos m�todos de conveniencia. Para m�s detalles, sobre lo que proporciona la clase JComponent puedes ver La clase JComponent
�Iconos
Muchos componentes Swing -- principalmente los botones y las etiquetas -- pueden mostrar im�genes. Estas im�genes se especifican como objetos Icon. Puedes ver C�mo usar Iconos para ver instrucciones y una lista de ejemplos que usa iconos.
�Actions
Con objetos Action, el API Swing proporciona un soporte especial para compartir datos y estados entre dos o m�s componentes que pueden generar eventos action. Por ejemplo, si tenemos un bot�n y un �tem de men� que realizan la misma funci�n, podr�amos considerar la utilizaci�n de un objeto Action para coordinar el texto, el icono y el estado de activado de los dos componentes. Para m�s detalles, puedes ver C�mo usar Actions.
�Aspecto y Comportamiento Conectable
Un sencillo programa puede tener uno o varios aspectos y comportamientos. Se puede permitir que el usuario determine el aspecto y comportamiento, o podemos determinarlos program�ticamente. Puedes ver C�mo seleccionar el Aspecto y Comportamiento para m�s detalles.
�Soporte para Tecnolog�as Asistivas
Las tecnolog�as asisticas como los lectores de pantallas pueden usar el API de accesibilidad para obtener informaci�n sobre los componentes Swing. Incluso si no hacemos nada, nuestro programa Swing probablemente funcionar� correctamente con tecnolog�as asistivas, ya que el API de accesibilidad est� construido internamente en los componentes Swing. Sin embargo, con un peque�o esfuerzo extra, podemos hacer que nuestro programa funcione todav�a mejor con tecnolog�as asistivas, lo que podr�a expandir el mercado de nuestro programa. Puedes ver C�mo Soportar Tecnolog�as Asistivas para m�s detalles.
�M�delos de Datos y Estados Separados
La mayor�a de los componentes Swing no-contenedores tienen modelos. Por ejemplo, un bot�n (JButton) tiene un modelo (ButtonModel) que almacena el estado del bot�n -- cu�l es su mnem�nico de teclado, si est� activado, seleccionado o pulsado, etc. Algunos componentes tienen m�ltiples modelos. Por ejemplo, una lista (JList) usa un ListModel que almacena los contenidos de la lista y un ListSelectionModel que sigue la pista de la selecci�n actual de la lista.
Normalmente no necesitamos conocer los modelos que usa un componente. Por ejemplo, casi todos los programas que usan botones tratan directamente con el objeto JButton, y no lo hacen en absoluto con el objeto ButtonModel.
Entonces �Por qu� existen modelos separados? Porque ofrecen la posibilidad de trabajar con componentes m�s eficientemente y para compartir f�cilmente datos y estados entre componentes. Un caso com�n es cuando un componente, como una lista o una tabla, contiene muchos datos. Puede ser mucho m�s r�pido manejar los datos trabajando directamente con un modelo de datos que tener que esperar a cada petici�n de datos al modelo. Podemos usar el modelo por defecto del componente o implementar uno propio.
Para m�s informaci�n sobre los modelos, puedes visitar las p�ginas individuales de cada componente o La Anatom�a de un Programa Basado en Swing que describe algunos modelos personalizados usados por el programa creado en esa secci�n.