JDataGrid Database Edition Version 2.4.0 Release Notes

Tips£ºEvaluation version downloaded not include the Javadoc API Documents and Programmer Guide.

Bug Fixed shown in red
New Features shown in green

Version 2.4.0New! - March 5,2008

* Used the checkbox in JDataTable, should not select the next row when check it use mouse.  Bug Fixed
* Adds the new EnumCellRenderer, it can render the enum type in Java 5.0,
  this cell renderer can be use in JList, JTable, JTree, JComboBox. New Features
* DateCellRender adds the new type XMLGregorianCalendar in Java 5.0. New Features
* Adds the new Layout manager AnchorLayout in the com.zfqjava.swing package. New Features
* Adds the AnchorLayout demo in LayoutDemo. New Features

Update History

Version 2.3.0 - January 20,2008

* When set null attribute in CellStyle, the attribute will be removed. New Features
* AttributeLabel add new API: New Features
  AttributeLabel.setStroke
  AttributeLabel.getStroke

Version 2.2.6 - October 16,2007

* The following issue has been fixed:  Bug Fixed
  If a cell that is not a link is clicked, then the row gets selected.
  However the problem is that if the cell contains a link, the link works
  but the row selection does not change.
  Thanks "Jackson, Kevin" reports this bug.
* This is in relation to the bug I reported that got fixed in version 2.2.2.  Bug Fixed
  The problem is still when I try to copy a cell, I get the wrong value in the
  clipboard. This time it is when I am sorting a column. When a column is sorted
  and I selected a value and try to copy it, The value that gets put into the
  clipboard is incorrect. It looks like it is getting the value that would be in
  the cell if the column was not sorted.
  Thanks "Kevin Kalmbach" reports this bug.

Version 2.2.5 - October 8,2007

* When add a new column header view, should add it into JScrollPane. Bug Fixed
  Thanks "Savio Amodio" reports this bug.

Version 2.2.4 - October 1,2007

* In a quick look through the code, the fix for my problem was put into
  an if block that will only get executed if both freeze column and freeze
  row are greater than 0. I am only freezing the column, so freezeRow is
  still 0, so I never fall into the place where the code fix is. Bug Fixed
  Thanks "Kevin Kalmbach" reports this bug.

Version 2.2.3 - September 24,2007

* JDataGrid adds new client property: New Features
  "JDataGrid.generateHyperlinkEventForURLValue"
* JDataGrid adds new API to configure the width and height of the
  column header and row header. New Features
  JDataGrid.getColumnHeaderHeight();
  JDataGrid.setColumnHeaderHeight(int);
  JDataGrid.getRowHeaderWidth();
  JDataGrid.setRowHeaderWidth(int);
* Now when the table is scrolled over to the right and I start to edit the
  frozen column (column 0, the leftmost one), the scroll jumps back all
  the way to the left. Bug Fixed
  Thanks "Kevin Kalmbach" reports this bug.

Version 2.2.2 - September 17,2007

* The method isCellEditable of the DefaultDataGridModel is not more used by
  the JDataGrid component to determine when a cell is editable or not. Bug Fixed
  Thanks "Jerome Girardini" reports this bug.
* I have a table that I have moved columns around (using DataGrid.moveColumn().
  After I do this, if I select a cell, then hit Copy (ctrl-C), the contents that
  end up in the clipboard are not correct (it seems that it does not convert the
  view column number to the model's column number before getting the contents). Bug Fixed
  Thanks "Kevin Kalmbach" reports this problem.

Version 2.2.1 - September 10,2007

* XBasicLookAndFeel should cache the resource file and icons ? Bug Fixed
  Thanks "Scott Reed" reports this bug.

Version 2.2.0 - September 3,2007

* The bug is concerning the fact that when the commit of a cell fails then
  if the user click elsewhere in the datagrid, the current cell editor is
  displayed in the cell where the user last clicked. The good behavior should
  be to display the editor in the cell where the edition has been initially started,
  because as the commit has failed the edition of this cell is not terminated. Bug Fixed
  Thanks "Jerome Girardini" reports this bug.
* When the commit of a cell fails (e.g a parse error in a BigIntegerEditor),
  after that it is impossible to ever commit the cell again. Bug Fixed
  Thanks "Jerome Girardini" reports this bug.

Version 2.1.9 - August 27,2007

* The method isCellEditable in JDataGrid cannot convert the row and column index correctly. Bug Fixed
  Thanks "Kevin Kalmbach" reports this problem.
* IconPanel use the ImageIO new API to read the thumbnail.

Version 2.1.8 - August 20,2007

* Export the JDataGrid to csv, html, txt file, should use the system property "line.separator". Bug Fixed
* JDataGrid add a new client property "CellEditor.dispatchEventOnStopEditingDisabled", when
  press "Enter" key on the editing cell, enable this property will prevent the cell jump
  to next row. New Features
  Thanks "Kevin Kalmbach" request this new feature.

Version 2.1.7 - August 13,2007

* The cell with combobox sometimes cannot show the correct value list. Bug Fixed

Version 2.1.6 - August 6,2007

* The column style cannot be deleted when the specified column was deleted. Bug Fixed
* ObjectCellEditor adds new features to support the combobox, add the following API: New Features
  ObjectCellEditor.setComponentType(int);
  ObjectCellEditor.getComponentType();
  CellStyle.setValueList(AttributeSet, List);
  CellStyle.getValueList(AttributeSet);

Version 2.1.5 - July 30,2007

* Adjust the position of single underline and double underline.
  Thanks "Jackson, Kevin" reports this bug.
* When a cell contains <html> so that we can have multiple links in the
  cell and the width of the cell is less then the text width, then the
  repaint is garbled and some or all of the pixels are shifted up by about
  half a row. Bug Fixed
  Thanks "Jackson, Kevin" reports this bug.
* Adds the following methods to set the row and column attributes and editable property: New Features
  AbstractDataGridModel.setRowAttributes(AttributeSet attributes, int row);
  AbstractDataGridModel.getRowAttributes(int row);
  AbstractDataGridModel.setRowEditable(boolean editable, int row);
  AbstractDataGridModel.isRowEditable(int row);
  AbstractDataGridModel.getRowEditable(int row);
  AbstractDataGridModel.getColumnAttributes(int column);
  AbstractDataGridModel.setColumnEditable(boolean editable, int column);
  AbstractDataGridModel.isColumnEditable(int column);
  AbstractDataGridModel.getColumnEditable(int column);
* Adds the following methods to set the row header and column header attributes:
  AbstractDataGridModel.setRowHeaderAttributes(AttributeSet attributes, int row); New Features
  AbstractDataGridModel.getRowHeaderAttributes(int row);
  AbstractDataGridModel.getColumnHeaderAttributes(int column);
  AbstractDataGridModel.setColumnHeaderEditable(boolean editable, int column);

Version 2.1.4 - July 23,2007

* The content of the editing cell is displayed into the location of the last selected cell
  when the two following conditions are happenning in the same time :
  - the editing cell is not on the visible part of the datagrid (e.g the datagrid has been scrolled vertically).
  - the user select another cell while the edition fails to commit (e.g parse error). Bug Fixed
  Thanks "Jerome Girardini" reports this bug.
* The three static methods in DefaultDataGridModel should not be public, change to private in this version.

Version 2.1.3 - July 16,2007

* With 2.1.2 I can determine what direction a column is sorted with
  "public Boolean getSortOrderObject(int column)".
  But there is no easy way to determine which columns are currently being
  sorted and in what order, could you please add a method something like:
  getSortColumnList(). New Features

Version 2.1.2 - July 9,2007

* The JavaDoc has incorrect charset. Fixed. Bug Fixed

Version 2.1.1 - July 2,2007

* Adds com.zfqjava.swing.cell.converter.NumberConverter. New Features

Version 2.1.0 - June 25,2007

* The only issue I'm having is the column headers. JDataGrid is not
  displaying the report column headers when improt the html page. Bug Fixed
  Thanks "Malcolm Davis" reports this bug.
* Enter the number "1234" in a cell, Add a space to the end of the number,
  followed by any other characters eg: " 567" and press enter
  Note that the cell will discard your changes and revert back
  to its original value "1234" Bug Fixed
  Thanks "Brad Hawthorne" reports this bug.

Version 2.0.9 - June 18,2007

* Use the default row height 16 and column width 75 when the size in Excel xml file is not available.
* Automatically detect the row and column count in Excel xml file.
  Thanks "Malcolm Davis" reports this bug.
* Use localName instead qName to parse Excel xml file.
* On a JDatagrid with a frozen row or column, autoScroll doesn't scroll enough to show a selected cell
  that is located below the fixed part of the datagrid. Fixed.
  Thanks "jerome girardini" reports this bug.

Version 2.0.8 - June 11,2007

* The row selection select the same row twice, the row background color
  become darker getSelectedList return the row twice. Bug Fixed.
  Thanks "Kevin Kalmbach" report this bug.
* CellManager add the six different API, can add or remove the customize cell renderer and editor.
  CellManager.addUserCellEditor(String className, String editorClassName);
  CellManager.removeUserCellEditor(String className);
  CellManager.clearUserCellEditor();
  CellManager.addUserCellRenderer(String className, String rendererClassName);
  CellManager.removeUserCellRenderer(String className);
  CellManager.clearUserCellRenderer();
  Thanks "Kevin Kalmbach" request this feature.
* Delete the "debug" display in the DefaultColumnSorterModel
  Thanks "vhonore" reports this problem.
* The JDataGrid selection border (setSelectionBorder(true)) is not drawn correctly
  when the cell is in edition.
  Thanks "jerome girardini" reports this bug.
* The JDataGrid component shows a tooltip as soon as the text is partially hidden.
  The issue is that the JDataGrid component does not take into account that with
  the usage of merged cells a text can be displayed over more that one cell.
  This is not a heavy bug but its annoying as soon you make an extensively usage
  of spanned cells, in this case the tooltip is constantly displayed for no reason.
  Thanks "jerome girardini" reports this bug.

Version 2.0.7 - June 4,2007

* The method createDataGrid() in JDataTableApplet will return a JDataTable component.

Version 2.0.6 - May 28,2007

* The JavaDoc for AComboBox.setRenderer has some error. Fixed.
* The editing cell should not display or   move on some freeze part. Fixed.

Version 2.0.5 - May 21,2007

* Adds JDataTable component, add the   following API. New Features.
  JDataTable.nextRow();
  JDataTable.previousRow();
  JDataTable.firstRow();
  JDataTable.lastRow();
* DefaultDataGridModel cannot parse the string generated by "Date.toString()"

Version 2.0.4 - May 14,2007

* Improves the performance for print, print preview, page setup.
* Some license text in about dialog cannot display correctly. Fixed.
* Reduce the overhead of the XBasicLookAndFeel.

Version 2.0.3 - May 7,2007

* When call DefaultDataGridModel.setCellAttributes(), throw NPE. Fixed.

Version 2.0.2 - April 30,2007

* New Features: KEEP_ASPECT_RADIO has been added in PrintFactory
  when scale width on JDataGrid printing, keep the aspect radio.
* XBasicLookAndFeel in applet cannot load resource correctly, Fixed.
* Some horizontal grid lines cannot display when scale height on printing. Fixed.

Version 2.0.1 - April 23,2007

* fixed the error problems when DefaultColumnSorter
  and DefaultDataGridModel invoke the method of addrow

Version 2.0 - April 16,2007

* New classpackage:
  com.zfqjava.swing.model.Pageable
* ResultSetTableModel and RowSetTableModel implements
  the new "Pageable" interface.

Release 1.9

* Fix several bugs of RowSetTableModel
* Adds Derby database to demonstrate the
  RowSetTableModel.

Release 1.8

* New class in com.zfqjava.swing package:
CellSelectionModel
AbstractCellSelectionModel
DefaultCellSelectionModel
* Make the following method in JDataGrid work correctly:
JDataGrid#setCellSelectionEnabled(boolean);
JDataGrid#setColumnSelectionAllowed(boolean);
JDataGrid#setRowSelectionAllowed(boolean);
JDataGrid#setSelectionMode(int);
JDataGrid#getSelectedRows();
JDataGrid#getSelectedColumns();
JDataGrid#getSelectedRowCount();
JDataGrid#getSelectedColumnCount();
* New class in com.zfqjava.swing.event package:
CellSelectionEvent
CellSelectionListener
* New class in com.zfqjava.swing package:
SizeModel
AbstractSizeModel
DefaultSizeModel
* New class in com.zfqjava.swing.event package:
SizeModelEvent
SizeModelListener
* New API in JDataGrid:
JDataGrid#setRowSizeModel(SizeModel);
JDataGrid#getRowSizeModel();
JDataGrid#createRowSizeModel();
JDataGrid#setColumnSizeModel(SizeModel);
JDataGrid#getColumnSizeModel();
JDataGrid#createColumnSizeModel();
* New API in WorkSheet:
WorkSheet#setRowSizeModel(SizeModel);
WorkSheet#getRowSizeModel();
WorkSheet#setColumnSizeModel(SizeModel);
WorkSheet#getColumnSizeModel();

Release 1.7

* New class in com.zfqjava.swing.model package:
DataGridModelAdapter
ResultSetDataGridModelAdapter
* New API in JCommonPane:
JCommonPane#showFeedbackDialog(parent, map);
* New API in ResultSetTableModel:
ResultSetTableModel#acceptChanges();
ResultSetTableModel#moveToInsertRow();
* New API in RowSetTableModel:
RowSetTableModel#acceptChanges();
RowSetTableModel#moveToInsertRow();
* New client property in JDataGrid
JDataGrid.fillCellValueOnly
JDataGrid.activateLinkOnModifierDown
* New class in com.zfqjava.swing.model package:
DataGridModelAdapter
* New API in JDataGrid
JDataGrid#setAlternatingRowBackground(Color);
JDataGrid#getAlternatingRowBackground();
JDataGrid#setAlternatingRowForeground(Color);
JDataGrid#getAlternatingRowForeground();
JDataGrid#setColumnHeaderView(Component);
JDataGrid#getColumnHeaderView();
JDataGrid#setRowHeaderView(Component);
JDataGrid#getRowHeaderView();
JDataGrid#setCellAttributes(AttributeSet);
JDataGrid#addHyperlinkListener(HyperlinkListener);
JDataGrid#removeHyperlinkListener(HyperlinkListener);
JDataGrid#getHyperlinkListeners();
JDataGrid#fireHyperlinkUpdate(HyperlinkEvent);
* New API in CellStyle:
CellStyle#setVerticalAlignment(MutableAttributeSet, int);
CellStyle#getVerticalAlignment(AttributeSet);
CellStyle#setHyperlink(MutableAttributeSet, Hyperlink);
CellStyle#getHyperlink(AttributeSet);
CellStyle#setComment(MutableAttributeSet, Comment);
CellStyle#getComment(AttributeSet);
* New class in CellStyle:
CellStyle#Hyperlink
CellStyle#Comment
* New API in AbstractDataGridModel and DefaultDataGridModel
AbstractDataGridModel#setAutoCalculateFormula(boolean);
AbstractDataGridModel#getAutoCalculateFormula();
AbstractDataGridModel#calculateFormula();
DefaultDataGridModel#setAutoCalculateFormula(boolean);
DefaultDataGridModel#getAutoCalculateFormula();
DefaultDataGridModel#calculateFormula();
* New API in DefaultDataGridModel
DefaultDataGridModel#sort(Cell, boolean[], int[], boolean, boolean);
DefaultDataGridModel#sort(Cell, boolean, int, boolean, boolean);

Release 1.6

* The row index cannot work correctly in JDataTableBean. (Bug Fixed)
* New API in ActionManager:
ActionManager#setSelected(String, boolean);
ActionManager#isSelected(String);
* New class in swing package:
com.zfqjava.swing.EmptyIcon
com.zfqjava.swing.cell.CellStyle
* New API in DefaultFileFilter:
DefaultFileFilter#getPreferredExtensionName();
DefaultFileFilter#getExtensionNames();
* New API in AbstractCellEditor:
AbstractCellEditor#setClickCountToStart(int);
AbstractCellEditor#getClickCountToStart();
* The go to cell action cannot work correctly. (Bug Fixed)
* New API in JLineBar:
JLineBar#lineAtPoint(Point);
* New API in JDataGrid:
JDataGrid#setSelectionBorderPainted(boolean);
JDataGrid#isSelectionBorderPainted();
* Change enum to enumr for some fields.

Release 1.5

* New API in JLineBar:
JLineBar#lineAtPoint(Point);
* New API in JDataGrid:
JDataGrid#setSelectionBorderPainted(boolean);
JDataGrid#isSelectionBorderPainted();
* New client property in JDataGrid:
JDataGrid.clearCellOnStartsEdit
* New API in AbstractChart:
AbstractChart#setRenderingHints(Map);
AbstractChart#getRenderingHints();
AbstractChart#createRenderingHints();
* New API in Cell:
Cell#getColumnName(int);
* When import html file the value around cell span cannot import.(Bug Fixed)
* New CellEdit Class in com.zfqjava.swing.cell package.
* New API in FormulaFactory
FormulaFactory#setStringEscapeChar(char);
FormulaFactory#getStringEscapeChar();
* New API in AbstractDataGridModel
AbstractDataGridModel#setAutoSetsCellClass(boolean);
AbstractDataGridModel#getAutoSetsCellClass();
AbstractDataGridModel#setAutoSetsCellValue(boolean);
AbstractDataGridModel#getAutoSetsCellValue();
AbstractDataGridModel#setStringEscapeChar(char);
AbstractDataGridModel#getStringEscapeChar();
* New API in Chart:
Chart#getEditorComponent();
* New API in JDataGrid:
JDataGrid#getCellManager();
JDataGrid#getSelectionList();
JDataGrid#isFullRowSelected(int);
JDataGrid#isFullColumnSelected(int);
JDataGrid#selectRow(int, boolean);
JDataGrid#selectColumn(int, boolean);
JDataGrid#selectCell(int, int, boolean);
JDataGrid#selectCell(Cell, boolean);
JDataGrid#selectCell(int, int, int, int, boolean);
* New API in ObjectCellRenderer
ObjectCellRenderer#setDefaultHorizontalAlignment(int);
ObjectCellRenderer#getDefaultHorizontalAlignment();
ObjectCellRenderer#setDefaultVerticalAlignment(int);
ObjectCellRenderer#getDefaultVerticalAlignment();
* New API in ObjectCellEditor:
ObjectCellEditor#setDefaultHorizontalAlignment(int);
ObjectCellEditor#getDefaultHorizontalAlignment();
ObjectCellEditor#createTextField();
* New API in StringCellRenderer
StringCellRenderer#setMultiLine(boolean);
StringCellRenderer#isMultiLine();
* New API in StringCellEditor
StringCellEditor#setMultiLine(boolean);
StringCellEditor#isMultiLine();
StringCellEditor#setEscapeChar(char);
StringCellEditor#getEscapeChar();
* Change the default alignment to TRAILING for Number cell renderer and editor. (New Features)

Release 1.4

* Adds client property in JDataGrid:
JDataGrid.switchUnsortedOrderEnabled
* Adds the client properties in JDataGrid JavaDoc.
* Close the ResultSet before close the connection in ResultSetTableModel.
* Always check first row before getting data from ResultSet. (Bug Fixed)
* New API in JBean:
JBean#setDefaultCloseOperation(int)
JBean#getDefaultCloseOperation()
JBean#doBeforeClose()
* New API in JDataGridBean:
JDataTableBean#getDataGrid()
JDataTableBean#getToolBar(String)
JDataTableBean#getMenuBar(String)
JDataTableBean#createModel()
JDataTableBean#setDataGrid(JDataGrid)
JDataTableBean#createDataGrid()
JDataTableBean#getPrintPreview()
JDataTableBean#createPrintable(JDataGrid)
* New API in AbstractDataGridModel
AbstractDataGridModel#setCellAttributes(AttributeSet, Cell)
* New API in JPrintPreview:
JPrintPreview#setColorType(int)
JPrintPreview#getColorType()
JPrintPreview#createBufferedImage(int, int, int)
* Cannot print cell area correctly in PrintFactory. (Bug Fixed)
* New print properties in PrintFactory
PrintFactory.HEADER_ICON
PrintFactory.FOOTER_ICON
PrintFactory.HEADER_TEXT_ALIGNMENT
PrintFactory.FOOTER_TEXT_ALIGNMENT
PrintFactory.HEADER_ICON_ALIGNMENT
PrintFactory.FOOTER_ICON_ALIGNMENT

Release 1.3

* Adds JInternalFrame support in JBean, Adds new API:
JBean#showInternalFrame(Component);
JBean#createInternalFrame();
JBean#getInternalFrame();
* Fix lasRow and firstRow in JDataTableBean.
* Adds "close" method in ResultSetTableModel to close the connection. (New Feature)
* The ResultSetTableModel cannot init correctly with ResultSet. (Bug Fixed)
* Sets JLineBar property "background", "foreground", "border"
to child component.

Release 1.2

* Add Java-Bean property in manifest file.
* Improves insert, update, delete operation.
* Improves the column sorter.
* Adds scrollable and updatable support for forward-only
and read-only resultset.
* JDataTableBean navigation index cannot update correctly. (Bug Fixed)

Release 1.1

* Adds Column Sorting support. (New Features)
* Adds Find and Replace. (New Features)
* Adds Spell Check. (New Features)
* Adds JDataTable component. (New Features)
* Removes the property change support from RowSetTableModel. (New Features)

Release 1.0

Initial release.


Copyright (C) 2001-2007 Extreme Component, Inc. All rights reserved.