La mayor�a de los componentes Swing est�n implementados como subclases de la clase JComponent, que desciende de la clase Container. De JComponent, los componentes Swing heredan las siguientes funcionalidades.
- Bordes.
- Usando el m�todo setBorder, podemos especificar el borde que muestra un componente alrededor de sus lados. Podemos especificar que un componente tenga un espacio extra alrededor de su lados usando un ejemplar de EmptyBorder. Puedes ver la especificaci�n de BorderFactory y Entender los Bordes (Un art�culo de "The Swing Connection").
- Doble buffer.
- El doble buffer puede mejorar la apariencia de un componente que cambie frecuentemente. Ahora no tenemos que escribir nosotros el c�digo del doble buffer -- Swing nos los proporciona. Por defecto, los componentes Swing usan el doble Buffer. Llamando al m�todo setDoubleBuffered(false) sobre un componente se desactiva el doble buffer.
- Tool tips.
- Especificando un string con el m�todo setToolTipText, podemos proporcionarle ayuda al usuario de un componente. Cuando el cursor se para sobre el componente, el String especificado se muestra en una peque�a ventana que aparece cerca del componente. Puedes ver C�mo usar Tool Tips para m�s informaci�n.
- Navegaci�n con Teclado.
- Usando el m�todo registerKeyboardAction, podemos permitir que el usuario use el teclado en vez del rat�n para moverse por el GUI.
Nota:Algunas clases proporcionan m�todos de conveniencia para acciones de teclado. Por ejemplo, AbstractButton proporciona setMnemonic, que permite especificar el caracter que en combinaci�n con la tecla modificadora del Aspecto y Comportamiento, hace que se realice la acci�n del bot�n. Puedes ver en C�mo usar Buttons un ejemplo de uso de mnem�nicos en botones. La combinaci�n del caracter y las teclas modificadoras que el usuario debe pulsar para arrancar la acci�n est�n representadas por un objeto KeyStroke. El evento action resultante es manejado por un objeto ActionListener. Toda acci�n de teclado funciona exactamente bajo una de estas dos condiciones: o el componente actual tiene el foco o cualquier otro componente de su ventana tiene el foco.
- Propiedades.
- Con el m�todo putProperty, podemos asociar una o m�s propiedades (parejas nombre/objeto) con cualquier JComponent. Por ejemplo, un controlador de distribuci�n podr�a usar propiedades para asociar restricciones con cada objeto JComponent que controle. Podemos poner y obtener las propiedades usando los m�todos putClientProperty y getClientProperty.
- Aspecto y Comportamiento Ampliamente Conectable.
- Detr�s de la excena, todo objeto JComponent tiene su correspondiente objeto ComponentUI que realiza todo el dibujado, el manejo de eventos, la determinaci�n de tama�o, etc. El objeto ComponentUI realmente usado depende del Aspecto y Comportamiento, que se puede seleccionar usando el m�todo UIManager.setLookAndFeel.
- Soporte de Distribuci�n.
- Con m�todos como setPreferredSize, setMinimumSize, setMaximumSize, setAlignmentX, y setAlignmentY, podemos especificar restricciones de distribuci�n sin tener que reescribir nuestro propio componente.
- Soporte de accesibilidad.
- [PENDIENTE]
- Soporte de Localizaci�n.
- [PENDIENTE]