org.jdesktop.application
Class SessionStorage.TableProperty

java.lang.Object
  extended by org.jdesktop.application.SessionStorage.TableProperty
All Implemented Interfaces:
SessionStorage.Property
Enclosing class:
SessionStorage

public static class SessionStorage.TableProperty
extends java.lang.Object
implements SessionStorage.Property

A sessionState property for JTable

This class defines how the session state for JTables is saved and and restored in terms of a property called sessionState. We save and restore the width of each resizable TableColumn, if the number of columns haven't changed.

TableProperty is registered for JTable.class by default, so this class applies to JTable and any subclass of JTable. One can override the default with the putProperty method.

See Also:
SessionStorage.TableState, SessionStorage.save(java.awt.Component, java.lang.String), SessionStorage.restore(java.awt.Component, java.lang.String)

Constructor Summary
SessionStorage.TableProperty()
           
 
Method Summary
 java.lang.Object getSessionState(java.awt.Component c)
          Returns a TableState object for JTable c or null, if none of the JTable's columns are resizable.
 void setSessionState(java.awt.Component c, java.lang.Object state)
          Restore the width of each resizable TableColumn, if the number of columns haven't changed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SessionStorage.TableProperty

public SessionStorage.TableProperty()
Method Detail

getSessionState

public java.lang.Object getSessionState(java.awt.Component c)
Returns a TableState object for JTable c or null, if none of the JTable's columns are resizable. A width of -1 is used to mark TableColumns that are not resizable.

Throws an IllegalArgumentException if Component c isn't a non-null JTable.

Specified by:
getSessionState in interface SessionStorage.Property
Parameters:
c - the JTable whose columnWidths will be saved in a TableState object.
Returns:
the TableState object or null
See Also:
setSessionState(java.awt.Component, java.lang.Object), SessionStorage.TableState

setSessionState

public void setSessionState(java.awt.Component c,
                            java.lang.Object state)
Restore the width of each resizable TableColumn, if the number of columns haven't changed.

Throws an IllegalArgumentException if c is not a JTable or if state is not an instance of SessionStorage.TableState.

Specified by:
setSessionState in interface SessionStorage.Property
Parameters:
c - the JTable whose column widths are to be restored
state - the TableState to be restored
See Also:
getSessionState(java.awt.Component), SessionStorage.TableState