Si bé Swing ens proporciona un conjunt important de components, a l’hora de desenvolupar interfícies d’usuari, m’he trobat amb algunes mancances i algunes incomoditats. Durant els projectes que he desenvolupat amb interfícies d’usuari Swing, he hagut d’anar cobrint aquestes mancances i he hagut de fer-me la vida més fàcil per tal de poder lliurar els projectes en els terminis compromesos. El resultat ha estat un conjunt de components (widgets) que, almenys a mi, em faciliten la vida.
Molts d’aquests widgets han estat inspirats en treballs o articles de tercers. Vull agrair especialment les aportacions que l’Scott Stanchfield ha fet als meus widgets, especialment als que habiliten propietats bound. El seu llibre Effective VisualAge for Java, version 3 ha estat una gran font d’inspiració.
He procurat que tots els widgets del paquet tinguin una petita aplicació que n’il·lustri el comportament i l’ús.
Podeu descarregar els widgets aquí.
La següent taula presenta uns breu descripció de cadascun dels widgets del paquet.
Widget | Descripció |
---|---|
BoundJCheckBox | Subclasse de JCheckBox que té la propietat selected bound. |
BoundJComboBox | Subclasse de JComboBox que té les propietats selectedItem iselectedIndex bound. |
BoundJRadioButton | Subclasse de JRadioButton que té la propietat selected bound. |
BoundJTextField | Subclasse de JTextField que té la propietat text bound. |
BoundJTextArea | Subclasse de JTextArea que té la propietat text bound. |
BoundJTree | Subclasse de JTree al que afegeix dues propietats bound: selectedNode iselectedObject . |
EnhancedJTextField | Subclasse de BoundJTextField que afegeix les següents utilitats:
|
ObjectJTextField | Subclasse de BoundJTextField que representa un objecte. El camp emmagatzema l’objecte i el representa basant-se en el que torni el mètodetoString() de l’objecte. |
RecallableJTextField | Subclasse de EnhancedJTextField que permet recuperar, emprant les fletxes d’amunt i avall, els valors entrats al camp. Per afegir un valor a la llista, només cal polsar intro . |
MaskedTextField | Subclasse de BoundJTextField que proporciona la possibilitat d’emprar màscares. Funciona amb Java 1.2, 1.3 i 1.4 |
MoneyJFormattedTextField | Subclasse de JFormattedTextField que facilita l’entrada de números que es representaran com a moneda.Quan estem editant, podem emprar sense problemes el teclat numèric utilitzant el punt com a coma decimal. En sortir del camp, la xifra teclejada es presentarà en format de moneda (p.e. teclegem “1234.23” i es veurà “1.234,23 €”) |
MultiKeySelection | És un widget no visual que millora les capacitats de selecció del JComboBox permetent la selecció d’un ítem teclejant els n primers caràcters (no només el primer!). El criteri de selecció és “astut” i no té en compte ni accents ni majúscules i minúscules. |