examples
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 the restore
method. This is done
by overriding the Application startup
and shutdown
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
and load
methods. The startup
method must set the
ApplicationContext
vendorId
and applicationId
properties to ensure that the correct
local 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
Method Summary |
static void |
main(java.lang.String[] args)
|
protected void |
shutdown()
Called when the application exits . |
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 java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SessionStorageExample1
public SessionStorageExample1()
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 class Application
- See Also:
Application.launch(java.lang.Class, java.lang.String[])
,
Application.initialize(java.lang.String[])
,
Application.shutdown()
shutdown
protected void shutdown()
- Description copied from class:
Application
- Called when the application
exits
.
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.
- Overrides:
shutdown
in class Application
- See Also:
Application.startup()
,
Application.ready()
,
Application.exit()
,
Application.addExitListener(org.jdesktop.application.Application.ExitListener)
main
public static void main(java.lang.String[] args)