The operating mode is selected using the single command line argument that is permitted.
Architecturely, this mode must use the database and GUI from the networked form, but must not use the network server code at all.
In my implementation, the NON_NETWORKED mode or STANDALONE mode uses the same GUI as the NETWORK_CLIENT, but the NETWORK_SERVER uses a different GUI. Am I violating the specification?
The stand-alone and network mode GUI are the same once you have set it up (the JTable part). However, from what I understand you are refering to the setting up the properties file.
For first ever run, a GUI is needed to prompt for database location (stand-alone client), server IP and port (network client), database location and port (server setup). The GUI for the 2 client forms are different. I used inner classes to lay out the components. The server setup GUI is run when you start the network server for the first time.
When working with the setup window all inputs must be validated (eg IP address format, port number, wrong database magic cookie value etc).
Oh about the properties file you must read the entire file before writing it because the new content will just overwrite the old content.