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
SessionStorage
save
method, and when the application is launched it's restored with therestore
method. This is done by overriding the Applicationstartup
andshutdown
methods:@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
LocalStorage
save
andload
methods. Thestartup
method must set theApplicationContext
vendorId
andapplicationId
properties to ensure that the correctlocal directory
is selected on all platforms. For example, on Windows, the full pathname for filename"session.xml"
is:${userHome}\Application Data\${vendorId}\${applicationId}\session.xml
Where 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 void
main(java.lang.String[] args)
protected void
shutdown()
Called when the applicationexits
.protected void
startup()
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:Application
Responsible for starting the application; for creating and showing the initial GUI.This method is called by the static
launch
method, subclasses must override it. It runs on the event dispatching thread.- Specified by:
startup
in 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:Application
Called 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)
-
-