This version improves default database support in SSJdbcRowSetImpl. Since SwingSet requires JDBC drivers used in conjunction with SSJdbcRowSetImpl to be concurrently-updatable and scroll-insensitive, but some JDBC drivers which support updatable resultsets are not set this way by default, all rowsets are automatically set to be TYPE_SCROLL_INSENSITIVE and CONCUR_UPDATABLE.
A datasource abstraction layer has been added. All
of the SwingSet components are now based on a new
SSRowSet interface rather than Sun's RowSet
interface. The SSRowSet differs from RowSet in two
important ways. First, SSRowSet extends
Serializable, which greatly facilitates
serialization/deserialization in the rest of the
SwingSet components. Secondly, SSRowSet only
contains methods necessary to support the data
types in used by SSTextDocument, which will make
writing SSRowSet implementations for non-updatable
RowSets and other non-database datasources much
easier.
An SSTextArea has been added to extend the JTextArea with a rowset binding. The SSDataGrid has been enhanced with improvements for date rendering, setting of default column widths, and display of new columns. The SSTextField has improved keystroke handling and now selects all text by default upon receiving the focus. The SwingSet SSTextDocument has been modified to support the CHAR datatype.
This release addresses some issues with the SSDataNavigator, SSDBComboBox, and SSComboBox. These issues are primarily related to tracking the "current" record number and keeping track of custom combo box mappings. It is recommended that anyone using 0.8.1-beta upgrade immediately.
The 0.8.0 default "empty" item for combo boxes was writing -1 rather than null to the underlying data source if another value was not selected. In addition, the record counter recently added to the record navigator to display the total number of records was not updating as records were added or deleted. The record navigator button sizes have been resized to make better use of available space. It is recommended that anyone using 0.8.0-beta upgrade to 0.8.1-beta immediately.