• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

User Interface Requirements

 
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello everybody

What is meant by:

"Your user interface should be designed with the expectation of future functionality enhancements, and it should establish a framework that will support this with minimal disruption to the users when this occurs."

My GUI has a JTable, above the Name and Location JTextFields and a SearchButton and below the table a JTextField for the customer id and next to it the BookButton.

thanks,

carlo
 
Ranch Hand
Posts: 1847
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I interpreted that as to being able to easily add new functions to the user interface.

So I put all buttons on a JToolBar with Actions to launch them, created a JMenuBar using those same actions, and used abstract base classes for the search dialog content placed as a decorator into the actual dialog itself (which is a framework relegating actions to the panel containing the actual fields) so it can be easily swapped out for another one that has more functionality (like allowing searching on other fields, or different search algorithms).

Different search algorithms are implemented at database level in easily extensible way.

Adding methods to for example modify records instead of booking them would require just a new dialog box and adding a toolbar button and/or menu option.

I'm even considering placing the menu and/or toolbar into classes external to the main window so that they can be swapped out, determining which class to actually load would then depend on a setting in the config file only, requiring no code changes.
 
New rule: no elephants at the chess tournament. Tiny ads are still okay.
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic