Class SessionStorageExample1
- java.lang.Object
-
- org.jdesktop.application.AbstractBean
-
- org.jdesktop.application.Application
-
- examples.SessionStorageExample1
-
public class SessionStorageExample1 extends Application
An example that demonstrates the default support for saving and restoring GUI session state. Try running the application, resizing and moving the main Frame, resizing some of the color split panes, changing the selected tab, the widths of columns in the "all colors" tab. When the app is restarted, those GUI features should be restored to the way you left them.When the application exits, session state for the application's mainFrame component tree is saved using the
SessionStoragesavemethod, and when the application is launched it's restored with therestoremethod. This is done by overriding the Applicationstartupandshutdownmethods:@Override protected void shutdown() { getContext().getSessionStorage().save(mainFrame, "session.xml"); } @Override protected void startup() { ApplicationContext ctx = getContext(); ctx.setVendorId("Sun"); ctx.setApplicationId("SessionStorageExample1"); // ... create the GUI rooted by JFrame mainFrame ctx.getSessionStorage().restore(mainFrame, "session.xml"); }Error handling has been ommitted from the example.Session state is stored locally, relative to the user's home directory, using the
LocalStoragesaveandloadmethods. Thestartupmethod must set theApplicationContextvendorIdandapplicationIdproperties to ensure that the correctlocal directoryis selected on all platforms. For example, on Windows, the full pathname for filename"session.xml"is:${userHome}\Application Data\${vendorId}\${applicationId}\session.xmlWhere the value of${userHome}is the the value of the Java System property"user.home".Note: this example is intended to show how the SessionStorage API works and what it can do. Applications subclasses, like SingleFrameApplication, save/restore session state automatically, so you don't have to.
- See Also:
application.SessionStorage#save,application.SessionStorage#restore,ApplicationContext.getSessionStorage(),ApplicationContext#setApplicationId,ApplicationContext#setVendorId
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jdesktop.application.Application
Application.ExitListener
-
-
Constructor Summary
Constructors Constructor Description SessionStorageExample1()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidmain(java.lang.String[] args)protected voidshutdown()Called when the applicationexits.protected voidstartup()Responsible for starting the application; for creating and showing the initial GUI.-
Methods inherited from class org.jdesktop.application.Application
addExitListener, end, exit, exit, getContext, getExitListeners, getInstance, getInstance, hide, initialize, launch, quit, ready, removeExitListener, show
-
Methods inherited from class org.jdesktop.application.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Method Detail
-
startup
protected void startup()
Description copied from class:ApplicationResponsible for starting the application; for creating and showing the initial GUI.This method is called by the static
launchmethod, subclasses must override it. It runs on the event dispatching thread.- Specified by:
startupin classApplication- See Also:
Application.launch(java.lang.Class<T>, java.lang.String[]),Application.initialize(java.lang.String[]),Application.shutdown()
-
shutdown
protected void shutdown()
Description copied from class:ApplicationCalled when the applicationexits. Subclasses may override this method to do any cleanup tasks that are neccessary before exiting. Obviously, you'll want to try and do as little as possible at this point. This method runs on the event dispatching thread.
-
main
public static void main(java.lang.String[] args)
-
-