This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Sean, Sorry about the delay on getting back to you.
Yes, you can overwrite doMakeDefaultContents. Alternatively you could overwrite: public IdvWindow createNewWindow(List viewManagers, boolean notifyCollab,Inquiry: I am trying to develop a custom GUI, but using the skin.xml is not going to cut it. The GUI needs to be dynamic. i.e. sometimes having a MapView shown and someitmes not. Other JComponents may be deleted or added to the JFrame/IdvWindow based on user actions. Another thing I am doing is using a Custon TabbedPane with two MapViews in each pane. This view may be swapped out with a split pane with two MapViews. skin.xml is just a static starting point. What is the best approach to developing a custom GUI. What class should I extend or methods to overwrite? I was thinking of just extending IdvUIManager and overwriting doMakeDefaultContents(). However I am not sure if this is the best or most robust approach.
                                    String skinPath, Element skinRoot) {
This is probably the best so you have total control on this process. 
Note: The list of ViewManagers in this method call
can be empty. -Jeff