This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Java Interview Guide and have Anthony DePalma on-line!
See this thread for details.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes User Interface Requirements Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "User Interface Requirements" Watch "User Interface Requirements" New topic

User Interface Requirements

Carlo Spelgatti

Joined: Mar 06, 2006
Posts: 10
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.



Carlo Spelgatti<br />Dipl. Informatik Ing. ETH / SCJP / SCJD<br />Ch´┐Żngengass 3<br />8805 Richterswil<br /> <br />P: 044 793 10 50<br />M: 078 698 07 92<br />ICQ: 401810960
Jeroen T Wenting
Ranch Hand

Joined: Apr 21, 2006
Posts: 1847
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.

I agree. Here's the link:
subject: User Interface Requirements
jQuery in Action, 3rd edition