• [ << ]
  • [ 0 ]
  • [ 1 ]
  • [ 2 ]
  • [ 3 ]
  • [ >> ]
Oct '03
05

GUIs bouwen op basis van standaard panelen.


Neem het onderstaande veel voorkomende scherm. Het bestaat uit een tabel waarin de gebruiker dingen kan toevoegen, bewerken en verwijderen. Daarnaast bevat het scherm een Ok en een Cancel knop om de wijzigingen door te voeren. Dit scherm valt prima te tekenen in een grafische editor, maar zouden er ook standaard componenten uit te destilleren zijn?

Scherm

Als we het scherm op een papiertje uit een rafelen, dan wordt al snel duidelijk dat het is opgebouwd uit 2 panelen : Eentje met de Ok en Cancel knop en de ander met de tabel en aanverwante items. Het paneel met de tabel valt weer onder te verdelen in een linker, rechter en midden stuk (hoor ik iemand BorderLayout manager zeggen??), waarbij de knoppen aan de rechter kant weer in een eigen paneel zitten.

Ontwerp

Welke standaard componenten of eigenlijk standaard composities zitten hier in? Twee zijn er overduidelijk:
  • Het knoppen paneel onderin.
  • Het standaard tabel paneel met een label, een tabel en knoppen.
Maar als je iets verder kijkt zijn er nog een aantal herbruikbare items uit te halen :
  • Het vertikale knoppen paneel naast de tabel (heb je echt niet alleen nodig bij een tabel, maar vast ook bij lijsten en 'overgooi' schermen)
  • Een right aligned label panel voor het tabel label. Als je deze combineert met een left aligned component panel dan heb je een ideale combinatie om label-component paren te maken op bewerkings schermen.
Hoe codeer je nu deze standaard panelen? Ik denk dat het belangrijk is de code zo klein en simpel mogelijk te houden (Johan, een ex-collega van me zegt altijd : 'goede code schrijf je maar een keer, en daarna moet hij nooit meer terug komen', vandaar :-) Kortom, een constructor, misschien een paar utility methods en alternatieve constructors, maar dat is het dan ook wel. Oja, vergeet het javadoc commentaar niet!

  • [ << ]
  • [ 0 ]
  • [ 1 ]
  • [ 2 ]
  • [ 3 ]
  • [ >> ]