Si bien Swing nos proporciona un conjunto importante de componentes, en el momento de desarrollar interfaces de usuario, me he encontrado con algunas deficiencias y algunas incomodidades. Durante los proyectos que he desarrollado con interfaces de usuario Swing he tenido que ir cubriendo estas deficiencias y he tenido que hacerme la vida más fácil para poder entregar los proyectos en los plazos comprometidos. El resultado ha sido un conjunto de widgets que, al menos a mí, me facilitan la vida.
Muchos de estos widgets han estado inspirados en trabajos o artículos de terceros. Quiero agradecer especialmente las aportaciones que Scott Stanchfield ha hecho a mis widgets, especialmente a los que habilitan propiedades bound. Su libroEffective VisualAge for Java, version 3 ha sido una gran fuente de inspiración.
He procurado que todos los widgets del paquete tengan una pequeña aplicación que ilustre su comportamiento y su uso.
Pueden descargar los widgets aquí.
La siguiente tabla presenta una breve descripción de cada uno de los widgets del paquete.
Widget | Descripció |
---|---|
BoundJCheckBox | Subclase de JCheckBox que tiene la propiedad selected bound. |
BoundJComboBox | Subclase de JComboBox que tiene las propiedades selectedItem yselectedIndex bound. |
BoundJRadioButton | Subclase de JRadioButton que tiene la propiedad selected bound. |
BoundJTextField | Subclase de JTextField que tiene la propiedad text bound. |
BoundJTextArea | Subclase de JTextArea que tiene la propiedad text bound. |
BoundJTree | Subclase de JTree al que añade dos propiedades bound: selectedNode yselectedObject . |
EnhancedJTextField | Subclase de BoundJTextField que añade las siguientes utilidades:
|
ObjectJTextField | Subclase de BoundJTextField que representa un objeto. El campo almacena el objeto y lo representa basándose en lo que devuelva el métodotoString() del objeto. |
RecallableJTextField | Subclase de EnhancedJTextField que permite recuperar, usando las flechas de arriba y abajo, los valores entrados en el campo. Para añadir un valor a la lista, sólo hay que pulsar intro . |
MaskedTextField | Subclase de BoundJTextField que proporciona la posibilidad de usar máscaras. Funciona con Java 1.2, 1.3 i 1.4 |
MoneyJFormattedTextField | Subclase de JFormattedTextField que facilita la entrada de números que se representarán como moneda.Cuando estamos editando, podemos usar sin problemas el teclado numérico utilizando el punto como coma decimal. Al salir del campo, la cifra tecleada se presentará en formato de moneda (p.e. tecleamos «1234.23» y se verá «1.234,23 €») |
MultiKeySelection | Es un widget no visual que mejora las capacidades de selección del JComboBox permitiendo la selección de un ítem tecleando los n primeros caracteres (no sólo el primero!). El criterio de selección es «astuto» y no tiene en cuenta ni acentos ni mayúsculas y minúsculas. |