Java Swing guardar y cargar espacio de trabajo / configuración

Tengo una aplicación Java Swing que contiene un montón de marcos que a su vez contiene principalmente tablas que muestran grandes cantidades de datos. Dado que siempre es una molestia y lleva mucho tiempo organizar todas las ventanas y tablas en el inicio, me gustaría implementar la funcionalidad 'espacio de trabajo' para que el usuario pueda guardar una configuración de preferencia y en el inicio elegir cargar automáticamente el espacio de trabajo almacenado en hacer que todas las ventanas y tablas aparezcan como guardadas previamente. Específicamente, la configuración que deseo almacenar en un espacio de trabajo es:

Ventanas activas (JFrame) y sus tamaños y posiciones en la pantalla Configuración de la tabla, incluidas las columnas seleccionadas, el orden de las columnas, el ancho de la columna, la clasificación y el filtra

¿Alguien sabe de una manera inteligente y fácil de lograr esto sin lo obvio, y lo que parece una solución muy compleja y engorrosa de iterar sobre todas las ventanas abiertas y guardar cada pieza de información con laPreferences api? Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta