Hi class,
Let me clarify this a little further.
Basically, what Joe described is exactly what I want. However, there are some aspects where you have more choices than what he mentions. To summarize, you should have:
1) A JMenuBar containing, at minimum, a File menu and a Help menu.
2) File menu should have New, Save, Load, Quit options.
3) The main functionality is to create and edit a roborally.board.Board
One approach is to have a "tool palette" that lets the user select any kind of tile,
and also a "board display" that lets the user click on any board location, to put
a tile of the selected kind there. The tool palette could include other options,
like a rotate tool, if desired.
Other approaches are also possible. For instance, you could use popup menus or popup windows to allow the user to inspect and interact with tiles or empty spaces on the board.
Don't reinvent the wheel! You should use a JFileChooser to let the user select files for the Load and Save commands. If you do a tool palette, use classes like JToggleButton to make selecting a tool easy. You can use the setIcon method to make buttons look the way you want. Use JPanels and LayoutManagers to help to organize the GUI components within your JFrame(s).
One more bit of advice: it's a good idea to divide your functionality into classes in a logical way, and try to test out the GUI bits as you go. You can test your file I/O code on Board objects that you hard-code in, so it can be worked on separately from the board editing functionality. You should probably get your editor working properly with just floor and pit tiles, and then add in the rest one by one.
Tom