Java Swing save and load workspace/settings
java, preferences, settings, swing, workspace
Solution
In this case, the obvious solution, `java.util.prefs.Preferences`, is probably the correct one. `RCPrefs` from this game is a simple example that demonstrates saving a variety of data types, including `enum`. The exact implementation is highly dependent on the application. While tedious, it needn't be especially complex. For expedience, the example uses static methods; frame and table preferences are probably worth a class each.
Problem
I have a Java Swing application that contains a bunch of frames which in turn predominantly contains tables that display large amounts of data. Since it is always a hassle and its time consuming to arrange all windows and tables on startup, I would like to implement 'workspace'-functionality so that the user can save a setup of preference and on startup choose to automatically load the stored workspace to have all windows and tables appear as previously saved. Specifically, the settings that I wish to store in a workspace are: - Active windows (JFrame) and their sizes and positions on screen - Table settings, incl selected columns, column order, column width, sorting, filtering Does anyone know of a smart and easy way to accomplish this without the obvious, and what seems like a very complex and cumbersome, solution of iterating over all open windows and saving each piece of information with the `Preferences` api? Thanks