Version History

 

Update Log:

July 30, 2014 - 3.6.1  (Regular Release, changes from 3.6.0)

Enhancement Requests

  • (Charts) Can now explicitly specify the source to be used for the label of a PointLegendItem. See the enhancement request here.
  • (Grids) Make two fields protected in AbstractComboBox. See the enhancement request here.
  • (Grids) Added valueProvider to TableFilter so that subclasses can access values using the ValueProvider. See the enhancement request here.

Bug Fixes

  • (Charts) Fixed an issue that the interval marker sometimes paints outside the bullet.
  • (Charts) Fixed problem with right button on MouseDragPanner and made button behaviour configurable. See the bug report here.
  • (Common) Fixed AutoCompletion will fire item event when an empty string is in the auto-completion list. See the bug report here.
  • (Common) Added a check to see if the entry is in the auto-completion list before auto-completing it to the first entry that matches. See the bug report here.
  • (Common) . See the bug report here.
  • (Common) Make range class implementing comparable.
  • (Common) Clear the previous searching text when the popup is hidden.
  • (Common) Fixed the occurrence count did not get updated if setSearchingDelay is set to -1. See the bug report here.
  • (Component) Remove the check for popup window before showing the expanded tip. See the bug report here.
  • (Gantt) Updated the javadoc of getActualColumnIndex method in DefaultGanttEntry. See the bug report here.
  • (Gantt) Added getPropertyChangeListeners methods to Range interface.
  • (Gantt) Registered property change listener to detect range update. See the bug report here.
  • (Diff) Use anti-aliasing when painting the diff lines on the divider. See the bug report here.
  • (Dock) Do not request the top level window focus when activateFrame. See the bug report here.
  • (Editor) Fixed the issue that the caret was placed in a wrong column while tab is used mixing with space while virtual space is not allowed. See the bug report here.
  • (Editor) Fixed the issue that find previous does not work in CodeEditorSearchBar when whole word is on. See the bug report here.
  • (Grids) Added createFilterableTreeModel for TreeShrinkSearchableSupport and for other ShrinkSearchableSupport classes too. See the enhancement request here.
  • (Grids) Added a -1 check for the _row in isExpandable method.
  • (Grids) Fixed the issue that the DnD does not work for DualTable when the original table is empty. See the bug report here.
  • (Grids) Center the column chooser dialog on the top level window instead of the chooser button.
  • (Grids) Allow showing summary for grouped columns.
  • (Grids) Fixed the issue that the popup of ExComboBox might hide behind the comb box. See the bug report here.
  • (Grids) Improved the performance for SummaryGroupRow when the underlying table model is updated.
  • (Pivot) Fixed NPE in DataTableModel in CalculatedPivotTableDemo.
  • (Pivot) Changed customizeFieldBox method to be called not only when a field box is created but also when added to another field area. See the bug report here.

June 11, 2014 - 3.6.0  (Regular Release, changes from 3.5.15)

Backward Compatibility

  • (Grids) Important: In order to provide the summary support for the group table, a few summary calculator related classes are moved/refactored to the grids package. Although we probably should make the change backward compatible but we felt it is very important not to mess up the naming to avoid future confusions, so we decided to do a few class renaming that will break your source code. If you use these classes, please change them correspondingly or you will get compile errors. com.jidesoft.pivot.SummaryCalculator ==> PivotSummaryCalculator; com.jidesoft.pivot.DefaultSummaryCalculator ==> DefaultPivotSummaryCalculator. There are same named classes under com.jidesoft.grid package (com.jidesoft.grid.SummaryCalculator and DefaultSummaryCalculator) which are the super classes of those under the pivot package..
  • (Grids) In order to use generic in ListModelWrapper adn ComboBoxModelWrapper, we have to use JDK7 to compile the source code (we were using JDK6 before this release) and the '-source' and '-target' in the javac command line are now both '1.6' (it was '1.5' before). I don't foresee any problem as long as you are on JDK6 or above. But if you are still on JDK5, you will encounter errors. Please consider move away from JDK5 as it is too old. We just can't provide backward compatible for JDK5 while keeping all other users away from using new features in the newer JDKs.
  • Enhancement Requests

    • (Common) Added BooleanRange and LongRange to be used in StringUtils.
    • (Common) Added StringRange to be used in StringUtils.
    • (Common) Added BigDecimalRange and range method in BigDecimalMathUtils.
    • (Common) Added RangeConverter to ObjectConverterManager.
    • (Common) Fixed so that adjust method in Range accept null value in one of the two values. See the enhancement request here.
    • (Common) Changed binarySearch to take list of any type.
    • (Charts) SortedChartModel is now a subclass of AbstractDelegatIngChartModel. See the enhancement request here.
    • (Charts) Exposed PointLegendItem to provide more flexibility when creating legends.
    • (Charts) Made it possible to set a fixed tick length for line-style candlestick points.
    • (Charts) Added labelVisible property on bullet chart indicator renderers.
    • (Charts) Added SimpleLegendItem class to make it easier to add extra legend items.
    • (Gantt) Fixed so that moving an gantt entry will not change the size of the entry. See the enhancement request here.
    • (Grids) Added IExpandableTreeTableModel so that the customers could create their own tree like table model similar to TreeTableModel.
    • (Grids) Added TextComponentProvider interface to make it easy for custom cell editor to provide a JTextComponent so that it will be focused and selected. See the enhancement request here.
    • (Grids) Added min/max/count/constant summary types for Boolean data type.
    • (Grids) Added min/max/count/constant summary types for String data type.
    • (Grids) Added summary feature to the GroupTable.
    • (Grids) Added summary feature for DefaultGroupTableModel.
    • (Grids) Added indexOf method to BasicTableModel. See the enhancement request here.
    • (Grids) Use generic in ListModelWrapper and ComboBoxModelWrapper etc classes.
    • (Grids) Allow subclass to override createDateLabel method in DateChooserPanel to use any component.
    • (Grids) Added JideTable#addHiddenRow() to hide a row when the row height of visible rows are the same.
    • (Pivot) Added setSubtotalSummaryType to PivotField. See the enhancement request here.
    • (Pivot) Added the feature to sort DataTable values by row keys.
    • (Pivot) Added the feature so that RunningSummary could hide original data in the row values.
    • (Pivot) Fixed so that the grand total will display 100% instead of the grand total value if the running summary type is the percentage of total and the original value is hidden.
    • (Pivot) Added the feature to filter in the level of PivotDataModel.

    Bug Fixes

    • (Common) Improve the performance of CachedVector.
    • (Common) Fixed ensureVisible method uses the main screen instead of the local screen.
    • (Common) Fixed a bug that it should use resolveAxis instead of the axis directly in JideBoxLayout. See the bug report here.
    • (Common) Added javadoc for the clazz parameter for ObjectConverterManager.registerConverter method. See the bug report here.
    • (Charts) Fixed problem in rendering candlestick chart when x axis is flipped. See the bug report here.
    • (Charts) Fix for selection of bars in categorical bar charts.
    • (Charts) Fixes possible error in painting bar charts.
    • (Charts) Improved appearance of bullet legend items.
    • (Charts) Fixed auto-ranging for case where a model contains only NaN y values. See the bug report here.
    • (Charts) CandlestickPointRenderer now respects line width setting used in highlight.
    • (Charts) Added support for annotations on SortedChartModel. See the bug report here.
    • (Charts) Fixes problem with tick alignment for bar charts where range.setMaximum() is used. See the bug report here.
    • (Charts) Fixed display artifact in dial when size of dial axis range is zero.
    • (Dock) Added DefaultDockingManager#toggleAutohideState(String, boolean) to allow single frame toggling state.
    • (Editor) Fixed toggle case does not work when virtual space is turned off in column selection mode. See the bug report here.
    • (Editor) Added null point checking in LineBreakStatusBarItem.
    • (Editor) Added DocumentFilter support to LazyLoadDocument. See the bug report here.
    • (Editor) Fixed the issue that the redo of LazyLoadDocument did not work. See the bug report here.
    • (Gantt) Fixed the performance issue when the date range is very large in GanttChart. See the bug report here.
    • (Gantt) Added converter for HOUR_OF_DAY DatePeriod. See the bug report here.
    • (Gantt) Fixed possible NPE caused by null range. See the bug report here.
    • (Grids) Fixed so that the cell validation will be triggered before the row validator. See the bug report here.
    • (Grids) Fixed NPE when there are no rows in a NavigationList. See the bug report here.
    • (Grids) Fixed DefaultMarkerModel so that it is thread safe.
    • (Grids) Added more methods to ITreeTableModel to avoid usage of TreeTableModel directly in the TreeTable. See the bug report here.
    • (Grids) Changed getTextComponentForEditorComponent to return the first text component in the editor. See the bug report here.
    • (Grids) Fixed the AIOOBE issue while TableColumnChooserDialog@setHidableColumn() is used together with fixed columns and hidden columns. See the bug report here.
    • (Grids) Added getImageIcon method to DualList.
    • (Grids) Fixed the selection persistence issue while a FilterableTableModel is installed under DefaultGroupTableModel.
    • (Pivot) Fixed so that AggregateTableColumnChooserPopupMenuCustomizer#createTableColumnChooserDialog() could be overrode. See the bug report here.
    • (Grids) Fixed the text is still gray after enabling a HierarchicalTable after it was disabled earlier. See the bug report here.
    • (Grids) Fixed so that the cell validation will be triggered before the row validator. See the bug report here.
    • (Grids) Cached the font so that it does not get created again for every repaint.
    • (Grids) Fixed the issue that the exported rows are incorrect if the first row is not zero in HssfTableUtils#export.
    • (Grids) Change it to not use Graphics2D when painting the cell underlay and overlay.
    • (Pivot) Fixed NPE when using Filter - Keep Selected Values in the row header. See the bug report here.
    • (Pivot) Fixed sorting on Grand Total caused NPE when there is no data field.
    • (Pivot) Fixed the issue that the running summary header was not exported to excel in correct string format. See the bug report here.

    April 4, 2014 - 3.5.15  (Regular Release, changes from 3.5.14)

    Enhancement Requests

    • (Charts) Performance improvement for stacked bar charts.
    • (Charts) Added protection against illegal number of animation steps in ModelMorpher.
    • (Grids) Added compares method to compare the two values so that subclass can override it to add their own compare logic.

    Bug Fixes

    • (Charts) Corrected artifact in bullet display when display value is equal to max value of axis range.
    • (Common) Fixed multiple-threading issue in DateGrouper and improve the JavaDoc.
    • (Common) Added missing translations for swing_de.properties. See the bug report here.
    • (CodeEditor) Fixed inserting a char does not work correctly under the column selection mode. See the bug report here.
    • (Components) Fixed the AIOOBE because the old document name was still used in the internal cache after renameComponent is called in DocumentPane.
    • (Dashboard) Fixed the gadget sizes are wrong when there is a gadget maximized when the layout was saved.
    • (Dock) Fixed activateFrame an auto-hidden frame from a popup menu of an active Workspace does not work.
    • (Dock) Fixed the wrong tab is selected when bold selected tab flag is on in Docking Framework. See the bug report here.
    • (Dock) Fixed the moved event was not fired when moving a dockable frame to the south side in Docking Framework.
    • (Editor) Changed the setFileName method to always reload the file even when the file name is the same so that user can use this method to reload an externally changed file.
    • (Editor) Fixed replace all will miss a few occurrences at the end when the replacement string is longer than the original string. See the bug report here.
    • (Grids) Fixed the getRowPreferredHeight return -1 when there are no columns in the table. See the bug report here.
    • (Grids) Fixed the selection event is fired more than once when sorting a TableScrollPane with a row selected. See the bug report here.
    • (Grids) Improved the performance of HierarchicalTable for frequent table cell update events. See the bug report here.
    • (Grids) Fixed the issue that installing a CachedTableModel may cause the row index conversion incorrect.
    • (Grids) Fixed NPE when the table header is null in TableUtils. See the bug report here.
    • (Grids) Fixed setHorizontalAlignment has no effect in CellEditorCustomizer for NumberCellEditor. See the bug report here.
    • (Grids) Fixed the cell was not restored when mouse moves directly out of the table from a cell when RolloverTableUtils is used.
    • (Grids) Made SortInfo protected so that subclasses can use it.
    • (Grids) Fixed the value is not returned in isAscending.
    • (Grids) Fixed the issue that installing a FilterableTableModel for a TreeTable will impact the UI collapse/expand behavior. See the bug report here.
    • (JDAF) Revised the javadoc of GlassPaneBlock to make it less confusing. See the bug report here.

    February 28, 2014 - 3.5.14  (Regular Release, changes from 3.5.13)

    Enhancement Requests

    • (Charts) Faster rendering of category-based bar charts.
    • (Charts) Added public update() method to Bullet.
    • (Charts) Exposed breadthProportion as a settable property in Bullet.
    • (Charts) Now supports linePosition so indicator need not be centred in a bullet chart.
    • (Grid) Added two methods to specify the scope of the grouper use.
    • (Grid) Added shouldGoButtonBeVisible and shouldClearButtonBeVisible methods so that user can override to make them always visible or invisible. See the enhancement request here.
    • (Pivot) Added context menu to the empty area at the bottom for PivotTablePane in the flat layout. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes possible NPE in ModelMorpher.
    • (Charts) Now takes account of barPosition when labelling multiple bars in a Bullet chart.
    • (Charts) Can now set position on chart independently of chart model.
    • (Charts) Fixed a bug that can affect appearance of borders in some layouts.
    • (Charts) Fixed possible NPE when highlight is not associated with a style.
    • (Charts) No longer paints bullet background if bulletBackground is null in Bullet .
    • (Common) Fixed the searchable does not show up after hidden by a mouse click in a CheckBoxListExComboBox. See the bug report here.
    • (Editor) Fixed the NPE issue in CodeEditor. See the bug report here.
    • (Editor) Fixed the issue that sometimes LazyLoadDocument can't load document correctly. See the bug report here.
    • (Editor) Fixed failed to get the selected text when replace all. See the bug report here.
    • (Grids) Fixed a bug that null value is considered when the value is a child.
    • (Grids) Fixed the wrong behavior when dragging the items in the DualList. See the bug report here.
    • (Grids) Fixed a possible NPE in FilterableTableModel.
    • (Grids) Fixed the issue that the nested table header's row height might be unnecessarily big while working with HeaderStyleModel.
    • (Grids) Fixed the issue that the exported rows are incorrect if the first row is not zero in HssfTableUtils#export().
    • (Grids) Fixed the drop down position on Mac. See the bug report here.
    • (Grids) Fixed the issue that a saved preference string with no filter could not be configured to a FilterableTableModel by TableUtils#setFilterableTableModelPreference() correctly.
    • (Grids) Fixed the issue that the start row was not respected when isFreezePanes() returns true. See the bug report here.
    • (Grids) Fixed ExComboBox action event not fired when the model was reset. See the bug report here.
    • (Grids) Fixed the regression that the selection was not persisted while collapsing a row in TreeTable. See the bug report here.
    • (JDAF) Block all the windows instead of just the main window. See the bug report here.
    • (Pivot) Fixed the issue that AggregateTableModel#getColumnClass() may return incorrect class type after aggregated. See the bug report here.
    • (Pivot) Fixed the issue that AggregateTableModel#getColumnName()/getColumnIdentifier() might get incorrect column information when all columns are ungrouped. See the bug report here.

    January 24, 2014 - 3.5.13  (Regular Release, changes from 3.5.12)

    Enhancement Requests

    • (Charts) Can now choose the extent of a line fill for example to fill to bottom of chart instead of to zero.

    Bug Fixes

    • (Common) Fixed so that quick search in Searchable respects the space character in the beginning. See the bug report here.
    • (Common) Fixed Alt key not working since 3.5.9 release. See the bug report here.
    • (Dashboard) Added a flag to optionally activate dashboard when the tab is selected or the gadget is selected.
    • (Dock) Fixed the undocked bounds was not updated correctly when a frame is tab-docked to another floating container. See the bug report here.
    • (Dock) Fixed dragging to the side of workspace does not work. See the bug report here.
    • (Dock) Fixed the AIOOBE issue while dragging a tabbed DockableFrame in DockingManager. See the bug report here.
    • (Dock) Fixed the issue that the DnD behavior may be incorrect in multiple DockingManagers scenario. See the bug report here.
    • (Grids) Fixed the AIOOBE issue when firing table structure changed event to change the column count of a table and the JideTable#isRowAutoResizes() returns true. See the bug report here.
    • (Grids) Fixed deserialization issue in the RegExFilter.
    • (Grids) Fixed selecting an item in CheckBoxListExComboBox caused the list scrolling to the first item.
    • (Grids) Fixed cell span not exported issue when using Excel 2007 format in HssfTableUtils.
    • (Grids) Fixed the copy paste issue in TableScrollPane.
    • (Grids) Fixed the performance problem in nested table header.
    • (Grids) Improved the performance while adjusting the width of a table in a TableSplitPane with NestedTableHeader.
    • (Grids) Fixed so that copy works in TableScrollPane to copy the contents from several child tables.
    • (Grids) Fixed the regression in 3.5.12 that TreeTable#collapseAll() may cause NPE. See the bug report here.
    • (Grids) Improved the performance of CellSpan cache.
    • (Grids) Fixed the issue that the TableColumnChooserDialog may make incorrect column fixed if a hidden column is set. See the bug report here.
    • (Grids) Fixed the potential AIOOBE issue in GroupTable. See the bug report here.
    • (Pivot) Fixed the issue that the normal column may be dragged before the aggregated columns when GroupTableHeader is enabled in AggregateTable. See the bug report here.
    • (Pivot) Fixed the sorting did not consider the summary row. See the bug report here.
    • (Pivot) Fixed the regression that adding rows in original table model can't update AggregateTable immediately. See the bug report here.
    • (Pivot) Fixed the sorting did not consider the summary row. See the bug report here.
    • (Pivot) Fixed AIOOBE in CsvPivotTableUtils when there are no row fields.

    December 23, 2013 - 3.5.12  (Regular Release, changes from 3.5.11)

    Enhancement Requests

    • (Pivot) Added HeaderTable#setUseNativeRenderer(false) to let HeaderTable#getValueAtString() gets invoked for non summary cells. See the enhancement request here.

    Bug Fixes

    • (Common) Fixed the border has no insets on JDK6. See the bug report here.
    • (Dashboard) Added a flag to optionally activate dashboard when the tab is selected or the gadget is selected.
    • (Dock) Fixed the AIOOBE issue while dragging a tabbed DockableFrame in DockingManager. See the bug report here.
    • (Dock) Fixed the AIOOBE issue while removing a frame that has something to undo and just undone once. See the bug report here.
    • (Dock) Fixed the dockable frame is not added to the new docking manager after being dragged to it. See the bug report here.
    • (Dock) Fixed dragging to another docking manager is not persisted. See the bug report here.
    • (Editor) Fixed the NPE issue sometimes happening in MAC. See the bug report here.
    • (Editor) Fixed the issue that sometimes the last line is not displayed in LazyLoadDocument. See the bug report here.
    • (Editor) Fixed so that CodeEditor#setText() could read Hebrew texts. See the bug report here.
    • (Examples) Updated NB and Eclipse project to refer to the latest POI jars.
    • (Grid) Fixed a possible NPE in JideTable when stop editing.
    • (Grids) Improved the performance of CellSpanTable#isCellSpanOn().
    • (Grids) Fixed so that the newly inserted row could be sorted correctly in GroupTable.
    • (Grids) Added FilterableTreeModel#isFiltered() for customer to override.
    • (Grids) Fixed the issue that the sorting is not correct after dragging a column to ungroup it in AggregateTable. See the bug report here.
    • (Grids) Fixed the issue that TableUtils#saveSelection(TreeTable) persisted incorrect selections when GroupTable is going to ungroup all columns. See the bug report here.
    • (Grids) Fixed so that invoking TreeTableModel#expandAll()/collapseAll() will not clear the existing selection. See the bug report here.
    • (Pivot) Fixed the IAE issue while dragging to group/ungroup columns in AggregateTable. See the bug report here.
    • (Pivot) Fixed the issue that updating the values in non-aggregated columns caused the rows sorting change unexpectedly. See the bug report here.
    • (Pivot) Fixed the issue that filter to keep selected spanned cell in HeaderTable might cause incorrect filtering which makes the entire PivotTablePane empty.
    • (Pivot) Fixed so that PivotTablePersistenceUtils#load() itself could load everything back without the invocation to PivotTablePane#fieldsUpdated(). See the bug report here.

    November 22, 2013 - 3.5.11  (Regular Release, changes from 3.5.10)

    Enhancement Requests

    • (Editor) Made CodeEditorTransferHandler public so that the behavior could be customized. See the enhancement request here.

    Bug Fixes

    • (Common) Fixed so that JideTitleBorder supports basic html in its title label. See the bug report here.
    • (Common) Fixed the issue that Action.SELECTED_KEY didn't work for JideToggleSplitButton. See the bug report here.
    • (Demo) Fixed the Alt key didn't bring up the menu issue in the JideDemos.
    • (Dock) Added NPE check for DefaultDockingManager#toggleState(). See the bug report here.
    • (Editor) Fixed the issue that LazyLoadDocument might load pages incorrectly.
    • (Editor) Fixed an NPE issue when adding folding span before CodeEditor is added to its parent.
    • (Girds) Fixed the issue that the icon might be painted twice if an icon is configured in a header renderer and the table model implements HeaderLineWrapModel.
    • (Grids) Fixed the memory leak issue that the property change listeners are increasing in the method JideTable#listenToColumnWidthChange().
    • (Grids) Fixed so that PropertyTableModel#addRows() can't be invoked to set up the properties. See the bug report here.
    • (Grids) Fixed the memory leak issue when TreeTableModel.setOriginalRows() is invoked. See the bug report here.
    • (Grids) Fixed the regression in 3.5.9 that the GroupTableHeader was painted incorrectly when it accepts text input. See the bug report here.
    • (Grids) 73839. See the bug report here.
    • (Grids) Fixed so that the TreeTaleRowMarginSupport will be able to listen to the table model change event to update its data. See the bug report here.
    • (Pivot) Fixed AIOOBE in DataTableModel when the pivot table has no data and the data fields are displayed as row. See the bug report here.

    October 22, 2013 - 3.5.10  (Regular Release, changes from 3.5.9)

    Enhancement Requests

    • (Charts) Can now switch off automatic repainting of chart - for example when combining ModelMorpher with RangeMorpher.
    • (Diff) Fixed so that the scroll bar of the left diff pane is on the left hand side. See the enhancement request here.
    • (Gantt) Added save as image button to ProjectGanttChartDemo. See the enhancement request here.
    • (Grids) Added TextFieldList#addSelectedText()/removeSelectedText() to enable the customer to add/remove selected text programmatically. See the enhancement request here.
    • (Pivot) Made PivotTablePersistenceUtils persist the expansion state as well. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes problem in tick generation for positions larger than 2 billion.
    • (Component) Fixed so that CollapsiblePane#setTitleLabelComponent() would be respected. See the bug report here.
    • (Dock) Fixed the layout loading issue while a context does not really exist in a new DefaultDockingManager. See the bug report here.
    • (Editor) Fixed the issue that inserting a character causes the magic caret reset incorrectly. See the bug report here.
    • (Editor) Added dispose() when closing FindAndReplaceDialog to avoid memory leak. See the bug report here.
    • (Grids) Added protection for AbstractExpandable#addChild(int, Object). See the bug report here.
    • (Grids) Fixed the issue that installing QuickTableFilterField after AutoFilterTableHeader may cause the AutoFilterTableHeader use the incorrect FilterableTableModel. See the bug report here.
    • (Grids) Fixed the usage of illegal access to AquaUtils on JDK6u45 on Mac.
    • (Grids) Fixed the action listener issue after invoking ExComboBox#setSelectedItem(false). See the bug report here.
    • (Grids) Fixed the selection background not showing in multiline cell of a PropertyTable. See the bug report here.
    • (Grids) Fixed the issue that TableScrollPane#isAllowMultiSelectionInDifferentTable() was not honored. See the bug report here.
    • (Grids) Fixed so that TreeTable#isSelectParentRowWhenCollapsing() could work as expected.

    October 4, 2013 - 3.5.9  (Regular Release, changes from 3.5.8)

    Enhancement Requests

    • (Charts) added protected methods to enable customisation of legend items. See the enhancement request here.
    • (Editor) Added CodeEditor#customizeDialogData() so that the dialog contents could be customized here. See the enhancement request here.
    • (Grids) Added dualList_de.properties file. Thanks wbraun6186. See the enhancement request here.
    • (Grids) Added TreeTable#isSelectParentRowWhenCollapsing() to determine if the parent row should be selected on collapsing if one of its child rows is selected.

    Bug Fixes

    • (Common) Fixed setTabClosableAt may not work correctly when there are duplicated titles.
    • (Common) Fixed changing the MenuItem.shadowWidth doesn't have effect on the separator.
    • (Common) Fixed the tab background is wrong on Mac in DocumentPane. See the bug report here.
    • (Common) Fixed mnemonic not working on JideSplitButton. See the bug report here.
    • (Charts) Fixed problem when morphing bar charts for which categories change.
    • (Dock) Fixed the mouseReleased event issue on Mac JDK7 only. See the bug report here.
    • (Dock) Fixed the transparent outline is not visible enough on Mac. You can now use UIDefault "Contour.color" to change the color.
    • (Dock) Fixed NPE in getSelectedItemIndex method.
    • (Editor) Improved the performance of replace all in CodeEditor. See the bug report here.
    • (Grids) Fixed so that the -2 column index will not be passed down from AutoFilterTableHeaderRenderer. See the bug report here.
    • (Grids) Fixed the issue that resizing the column group of a NestedTableHeader caused jittering. See the bug report here.
    • (Grids) Fixed CCE in FilterFactoryManager when creating InFilter and NotInFilter. See the bug report here.
    • (Grids) Fixed duplicate subgroups when grouper is used. See the bug report here.
    • (Grids) Fixed so that GroupTableHeader#setLabelHeight() will configure the height of the label area when there is no grouped column. See the bug report here.
    • (Grids) Fixed the list on the popup still has the old value after the combobox changes the value if the popup was shown before.
    • (Grids) Updated the lucene help link. See the bug report here.
    • (Grids) Added NPE check for NotFilter.
    • (Grids) Fixed unnecessary rearrange of the rows when row updated is fired while using customized sortrange.
    • (Grids) Fixed NPE in setFilterableTableModelPreference when the pref string dones't contain a valid filter.
    • (Grids) Fixed so that the autoResizeColumn() will consider the scenario of TableScrollPane automatically. See the bug report here.
    • (Grids) Fixed saving selection takes a very long time in GroupTable. See the bug report here.
    • (Pivot) Fixed the flat layout issue that column field area is missing when the data table is empty. See the bug report here.

    August 30, 2013 - 3.5.8  (Regular Release, changes from 3.5.7)

    Enhancement Requests

    • (Common) Added class to support timed changes to ranges.
    • (Common) Added StandardDialog constructors with Window as parameter.
    • (Grids) Made JideTable header could display tool tip from HeaderStyleModel.
    • (Grids) Fixed so that clicking the grouped column in the normal table header area could also sort the group columns. See the enhancement request here.
    • (Grids) Added TreeTable#shouldDisplayExpandIcon() for the end users to customize the icon painting behavior of TreeTable.

    Bug Fixes

    • (Charts) Fixes NPE when target chart styles are not supplied to morph().
    • (Charts) Fixes possible NPE when nulls are returned from the ChartModel.
    • (Data) Added range check for getValueAt. See the bug report here.
    • (Dock) Fixed the issue that DefaultDockingManager#setSaveCallback() didn't get invoked.
    • (Editor) Fixed the NPE issue that caused by an left-over listener after calling CodeEditor#dispose(). See the bug report here.
    • (Editor) Fixed the indent issue while pasting text in CodeEditor. See the bug report here.
    • (Editor) Fixed the bug that pasting texts with tab might fail. See the bug report here.
    • (Editor) Improved the performance of replace all in CodeEditor. See the bug report here.
    • (Grids) Fixed so that resizing the last column of a TableColumnGroup will resize all columns in the TableColumnGroup proportionally. See the bug report here.
    • (Grids) Fixed the issue that the selection might be lost if the tree is collapsed in CheckBoxTreeExComboBox.
    • (Grids) Fixed so that the DnD behavior from the selected list to the original list is correct. See the bug report here.
    • (Grids) Fixed the memory leak issue when ExComboBox#isPopupVolatile() returns true.
    • (Grids) Fixed the filter persistence issue if Filter#getName() returns an empty string.
    • (Grids) Fixed the default expandable column behavior when DefaultGroupTableModel#setKeepColumnOrder(true). See the bug report here.
    • (Grids) Fixed so that the dialog title could be localized. See the bug report here.
    • (Grids) Fixed the regression that SortableTreeTableModel cannot make the table back to the original model order after sorted.
    • (Grids) Fixed the performance issue while using TableExComboBoxSearchable.
    • (Grids) Fixed the NPE issue for TableScrollPaneSearchable. See the bug report here.
    • (Grids) Fixed the issue that adding a column model listener to the table of a TableScrollPane before the table is constructed completely will cause the column width sync broken.
    • (Pivot) Fixed the regression that the sorting by data field feature was broken since 3.5.5.

    July 31, 2013 - 3.5.7  (Regular Release, changes from 3.5.6)

    Enhancement Requests

    • (Charts) Can now override createSegmentPaint method to generate a custom fill for a pie chart segment. See the enhancement request here.
    • (Component) Added BreadcrumBar#convertNodeToString() for customizing the string from the node. See the enhancement request here.

    Bug Fixes

    • (Charts) Add ModelMorpher support for multiple axes .
    • (Charts) ModelMorpher now preserves Z order when morphing models.
    • (Common) Fixed the actionCommand is not passed to the ActionEvent.
    • (Common) Added setAutoRequestFocus call before making the popup visible.
    • (Common) Fixed the issue in PortingUtils#ensureOnScreen().
    • (Components) Fixed the time could be wrong on TimeStatusBarItem. See the bug report here.
    • (Editor) Fire one DocumentEvent after replacing all. See the bug report here.
    • (Editor) Fixed the jump behavior while dragging column to the left on column selection model. See the bug report here.
    • (Editor) Fixed the performance issue while replacing all in CodeEditor. See the bug report here.
    • (Grids) Added a client property to fix an old bug as the previous fix caused regressions in the more common scenario. See the bug report here.
    • (Grids) Fixed infinite loop in GroupList shrink searchable. See the bug report here.
    • (Grids) Fixed the issue that the list selection event was blocked incorrectly after setting a new table model to a SortableTable. See the bug report here.
    • (Grids) Fixed the issue that the ListShrinkSearchableSupport cannot persist the selection after dismissing the searching text. See the bug report here.
    • (Grids) Improved the performance for SortableTableModel while receiving table cell updated event with many rows. See the bug report here.
    • (Grids) Fixed the regression for TreeTable sorting feature. See the bug report here.
    • (Grids) Improved the performance for the sorting method in SortableTreeTableModel. See the bug report here.
    • (Grids) Fixed changing table model on fly doesn't work with TableComboBoxShrinkSearchableSupport. See the bug report here.
    • (Grids) Fixed the issue that TreeTableSearchable#getSelectedIndex() returns an incorrect value when isRecursive() returns true.
    • (Pivot) Fixed the context menu is not showing on Linux.
    • (Pivot) Fixed the layout issue when PivotTablePane#setFlatLayout(true) is invoked. See the bug report here.

    June 13, 2013 - 3.5.6  (Regular Release, changes from 3.5.5)

    Enhancement Requests

    • (Charts) now supports retention of renderers through morphing.
    • (Charts) Can now morph multiple models simultaneously.
    • (Editor) Made the overriding for CodeEditor#lineToY()/yToLine() could work for most cases.

    Bug Fixes

    • (Charts) Fixes regression in painting of bars with negative values.
    • (Charts) Fixes rare and data-sensitive problem for auto-ranging bar charts that caused bars to be inverted.
    • (Charts) Fixed error in setting component factory.
    • (Charts) ModelMorpher now retains renderer settings for chart models.
    • (Charts) Corrects regression in 3.5.5 and fixes bug in treatment of negative values in waterfall charts. See the bug report here.
    • (Common) Fixed the NPE issue in BasicJideTabbedPaneUI. See the bug report here.
    • (Common) Fixed the StackOverflowError when removing a tree node that all its siblings are selected in a CheckBoxTree. See the bug report here.
    • (Common) Fixed a regression of the selected tab text color. See the bug report here.
    • (Common) Fixed so that the PageList could fire correct PAGE_OPENED event on switching the page. See the bug report here.
    • (Common) Fixed the issue that the matching count could not be cleared while clearing the searching text in SearchableBar. See the bug report here.
    • (Component) Made CollapsiblePane#setRotateIcon() work with CollapsiblePane#setIcon().
    • (Components) Do not try to show the expanded tip for the mouseDragged event. See the bug report here.
    • (Dock) Fixed the issue that two floating frames might not be able to be dragged to tab together when the main frame gets focus. See the bug report here.
    • (Dock) Fixed the focus switching issue between different DockingManagers.
    • (Dock) Removed the empty floating container if it does not contain any DockableFrame at all after loading layout. See the bug report here.
    • (Editor) Improved a little bit regarding the selection after replace all. See the bug report here.
    • (Grids) Fixed so that the filter persistence function could work well with DynamicTableFilter when isAllowedMultipleValues() returns true. See the bug report here.
    • (Grids) Fixed the issue that CalendarViewer#setDisplayedMonth() might display incorrect month. See the bug report here.
    • (Grids) Fixed the background messed up in HierarchicalTableDemo.
    • (Grids) Fixed so that ExComboBox will not try to set the value of the editor when ExComboBox#isEditable() returns false.
    • (Grids) Improved the performance while firing table structure changed event for a TableScrollPane which has a table with setRowAutoResizes(true). See the bug report here.
    • (Grids) Fixed the AIOOBE issue in TableScrollPane on receiving table structure changed event. See the bug report here.
    • (Pivot) Fixed the issue that the primitive type based PivotField might sort incorrectly.

    Backward Compatibilities

    • (Common) the ColorProvider's getForegroudAt method had a typo and renamed to getForegroundAt. See the bug report here.

    May 17, 2013 - 3.5.5  (Regular Release, changes from 3.5.4)

    Enhancement Requests

    • (Component) Added CollapsiblePane#setRotateIcon() to control the behavior about how the icon could be rotated or not in west/east scenarios.
    • (Component) Added DocumentPane#setTabColorProvider() so that the customer could customize the background/foreground/gradientRatio for the DocumentComponent. See the enhancement request here.
    • (Dashboard) Added GadgetManager#setRearrangeble() to avoid DnD activities when necessary. See the enhancement request here.
    • (Grids) Made CalculatedColumn be able to return identifier promptly. See the enhancement request here.
    • (Pivot) Added persistence for hidden row fields in PivotTablePersistenceUtils. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes problem with the rendering of 3d stacked bars for negative values.
    • (Charts) Corrects the fill area of a bullet interval marker by 1 pixel.
    • (Charts) Fixes possible NPE when style is not defined for a model.
    • (Charts) Model-specific bar renderer now used in legend.
    • (Charts) Fixes possible autoranging error in Chart.
    • (Charts) Fixes a bug in the waterfall model adapter for negative values. See the bug report here.
    • (Common) Fixed so that JideTabbedPane#setShowTabArea(false) will disable the mouse event handler correctly.
    • (Common) Fixed a wrong import-package statement in the manifest file. See the bug report here.
    • (Common) Fixed the IOOBE issue when inserting a node for a CheckBoxList with filtering model wrapped. See the bug report here.
    • (Common) Always deselect first on toggling for FilterableCheckBoxTreeSelectionModel. See the bug report here.
    • (Common) Fixed the NPE issue while the first entry of the valueList is null. See the bug report here.
    • (Common) Fixed so that the method JideTabbedPane#setClosableAt() could be respected after JideTabbedPane#moveSelectedTabTo() is invoked. See the bug report here.
    • (Common) Removed the system property setting to avoid the security issue on applets. See the bug report here.
    • (Common) Fixed the issue that invoking TristateCheckBox#setState() could not update the UI immediately.
    • (Common) Fixed NoSuchMethodError in JDK8 b87. See the bug report here.
    • (Common) Fixed the CheckBox MenuItem selection box is too small if the icon is large.
    • (Component) Fixed the AIOOBE issue while deleting a tree node that is showing expanded tip.
    • (Dashboard) Fixed the issue that the gadget listener is added continuously when refreshing the gadget palette. See the bug report here.
    • (Data) Fixed so that PageNavigationBar#setTableModel() could work correctly without memory leak.
    • (Dock) Changed the focus management of multiple docking managers. See the bug report here.
    • (Dock) A possible fix for Comparison method violates its general contract issue. See the bug report here.
    • (Dock) Fixed the dockable frame can still dock to the side from Workspace area even when setAllowedDockSide is set to center only.
    • (Editor) Fixed so that the magic caret position could be changed in the methods like moveToDocumentStart, moveToDocumentEnd, moveToLineStart, moveToLineEnd. See the bug report here.
    • (Editor) Fixed the issue that replacing all in the column selection block replaced incorrect texts. See the bug report here.
    • (Grids) Fixed the issue that AutoFilterBox#createToolTip() does not get invoked sometimes on mouse hovering. See the bug report here.
    • (Grids) Fixed the issue that CheckBoxListSelectionModelWithWrapper didn't clear the selection correctly. See the bug report here.
    • (Grids) Fixed so that the mouse click event will also go through the method shouldKeepCurrentSelection().
    • (Grids) Fixed so that the count column and the separate groups column could not be dragged around. See the bug report here.
    • (Grids) Fixed the issue that the selected list of DualList could not be dragged when initially loading. See the bug report here.
    • (Grids) Fixed the issue that removing tree nodes continuously might break the tree structure in UI.
    • (Grids) Fixed the issue that exporting the selected rows to excel might export incorrect rows. See the bug report here.
    • (Grids) Fixed so that the non-editable combo box editor could obtain focus when editing a JideTable.
    • (Grids) Fixed the issue that unnecessary selection change event was fired when collapsing/expanding a row in TreeTable. See the bug report here.
    • (Grids) Fixed so that the menu item "hide this column" could respect TableColumnChooserPopupMenuCustomizer#getDisplayNames(). See the bug report here.
    • (Grids) Fixed so that resizing column does not cause flickering. See the bug report here.
    • (Grids) Fixed the resizing issue when TableScrollPane has more than one column in the row footer table. See the bug report here.
    • (Grids) Fixed the memory leak issue in TreeTableCellRenderer. See the bug report here.
    • (Pivot) Improved the performance while loading layout for AggregateTable. See the bug report here.
    • (Pivot) Fixed the CCE issue if the table model that fed to the PivotDataModel has different type of data in the same column.

    Backward Compatibilities

    • (Grids) Added a new method in the interface CalculatedColumn which might cause some compile issue if you implement this interface directly without AbstractCalculatedColumn. See the enhancement request here.

    April 10, 2013 - 3.5.4  (Regular Release, changes from 3.5.3)

    Enhancement Requests

    • (Editor) Fixed so that the caret will not blink if typing fast enough. See the enhancement request here.
    • (Grids) Made CheckBoxListWithResourceProvider public so that the customer could customize it. See the enhancement request here.
    • (Grids) Added DateChooserPanel#shouldKeepCurrentSelection() to allow the customer change the default multiple selection behavior.
    • (Grids) Added LegacySortableTableHeader to be compatible with Synth L&F.

    Bug Fixes

    • (Charts) Stacked bar charts now paint negative sub-segments in negative part of chart area. See the bug report here.
    • (Charts) Fixes artifact in pie chart when switching shadows on and off.
    • (Charts) Fixes selection problem in demo with textured pie chart and Always Show Outline property.
    • (Common) Fixed the issue that DateUtils#isLastMonth()/isLastQuarter() might return incorrect value. See the bug report here.
    • (Common) Fixed so that JidePopup#MOVE_ON_MOVED could work correctly with JidePopup#LIGHT_WEIGHT_POPUP.
    • (Dashboard) Fixed the issue that the gadget listeners didn't get invoked on loading layout from an xml file.
    • (Dashboard) Fixed the issue that GadgetManager#getActiveDashboardKey() could return an invalid key.
    • (Data) Fixed the issue that PageNavigationBar#setButtonVisible(i, false) makes the entire bar invisible. See the bug report here.
    • (Editor) Improved the performance by optimizing CodeEditor#selectionChanged(). See the bug report here.
    • (Editor) Fixed the performance issue when CodeEditorSearchable#isCountMatch() returns true. See the bug report here.
    • (Editor) Fixed the issue that the match count was incorrect. See the bug report here.
    • (Grids) Fixed the incorrect column resizing behavior for the column footer table in TableScrollPane. See the bug report here.
    • (Grids) Fixed so that the JDK6 row stripes works with CellStyleTable. See the bug report here.
    • (Grids) Fixed so that the mnemonic will not display for the buttons in DateChooserPanel when isTimeDisplayed() returns true. See the bug report here.
    • (Grids) Fixed so that DateComboBox could work as expected when popup menu cancel behavior is REVERT. See the bug report here.
    • (Grids) Made DefaultSpanTableModel work with data inserting/removing.
    • (Grids) Fixed the issue that GroupTableHeader painted the drop indicator incorrectly when the vertical indentation is 0. See the bug report here.
    • (Grids) Fixed the issue that no column can be dragged to group if JTableHeader#isReorderingAllowed() returns false and there is no existing grouped columns. See the bug report here.
    • (Grids) Fixed so that TreeTable could persist selection correctly during collapse/expand when isNonContiguousSelection() returns true. See the bug report here.
    • (Grids) Fixed the NPE issue in TreeTableUtils. See the bug report here.
    • (Pivot) Fixed the issue that registered renderer might not take effect in the HeaderTable inside a PivotTablePane. See the bug report here.
    • (Pivot) Fixed French translation is not correct in the pivot table. See the bug report here.

    March 7, 2013 - 3.5.3  (Regular Release, changes from 3.5.2)

    Enhancement Requests

    • (Common) Added setFileComparator method to FolderChooser and a new comparator AlphanumFileComparator to use alphanum sorting algorithm so that FolderChooser can sort the folders alphanum-ly.
    • (Component) Added BreadcrumBar#customizeDropDownMenu() for the drop down menu customization. See the enhancement request here.
    • (Component) Added CollapsiblePane#rotateIcon() for better customization.
    • (Dock) Added DefaultDockingManager#handleNewlyAddedFrames() to provide a chance to customize where the newly added frames should be moved. See the enhancement request here.
    • (Editor) Fixed so that the caret will not blink if typing fast enough. See the enhancement request here.
    • (I18N) Updated some fr localization properties, thanks jonathanlafleur. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixed a bug in the firing of property change event when minorTickLength changes.
    • (Charts) Fixes problem with resizeFonts problem.
    • (Charts) Fixes font sizing issue in vertical Bullet charts.
    • (Charts) Fixes error in panning of categorical bar charts with vertical bars.
    • (Charts) Default visibility of axis labels in dials is true.
    • (Common) Fixed so that non-editable text component will not show intellihints popup.
    • (Common) Fixed the issue that SearchableBar#setSearchHistory() might throw exception. See the bug report here.
    • (Common) Added gaps to check boxes on SearchableBar. See the bug report here.
    • (Dashboard) Fixed the regression in 3.5.1 that the dashboard loading feature does not work well with DashboardTabbedPane.
    • (Dock) Fixed the dockable frame sizes are not settled down after rearrangement.
    • (Editor) Fixed so that the horizontal caret position could be kept in the column when isVirtualSpaceAllowed() returns false. See the bug report here.
    • (Grid) Fixed the wrong FilterableTableModel is used to check if the filter icon should be displayed. See the bug report here.
    • (Grids) Fixed so that a interval removed event is fired instead when DefaultListModelWrapper#fireEvents() is invoked and the new indexes's length is 0.
    • (Grids) Made DefaultListModelWrapper#fireEvents() protected to avoid incorrect use.
    • (Grids) Set button name for OK/Cancel button in ExComboBoxPopup.
    • (Grids) Fixed the issue that the drop down list might be rendered incorrectly if AutoFilterBox#setUseTableCellRenderer(true) is invoked. See the bug report here.
    • (Grids) Fixed the issue that TableUtils#unsynchronizeTableColumn() might unsynchronize unrelated pairs.
    • (Pivot) Fixed the sorting issue after dragging a column to the GroupTableHeader in AggregateTable. See the bug report here.
    • (Pivot) Fixed so that the filtered rows won't be displayed in the PivotTablePane. See the bug report here.

    Backward Compatibilities

    • (Grids) Made DefaultListModelWrapper#fireEvents() protected to avoid incorrect use.

    February 7, 2013 - 3.5.2  (Regular Release, changes from 3.5.1)

    Enhancement Requests

    • (Common) Added match count for SearchableBar. See the enhancement request here.
    • (Dashboard) Add APIs in DashboardPersistenceUtils so that the customer could customize the exported Document.
    • (Dashboard) Added GadgetManager#validateGadgetDragging(Gadget, java.awt.Container, int, boolean) to provide more information to check if the gadget is good to be drop.
    • (Editor) Added CodeEditorSearchable#setWholeWords() to support whole words only searching. See the enhancement request here.
    • (Grids) Added DualTable#createTableModel() so that the customer could customize the table model in DualTable. See the enhancement request here.
    • (Grids) Fixed so that HssfTableUtils can support any custom colors for the table cell background and foreground if XSSF is in use. See the enhancement request here.
    • (Pivot) Made PivotTablePersistenceUtils persist the column key sorting information as well.

    Bug Fixes

    • (Charts) Addressed bug in positions of labels for some pie charts. See the bug report here.
    • (Common) Fixed the IAE issue while print a StyledLabel to PDF. See the bug report here.
    • (Common) Tried not to use external xerces.jar as long as the internal sun JDK has one.
    • (Common) Fixed the issue that SearchableBar always searched from the start of the target instead of current cursor. See the bug report here.
    • (Common) Fixed so that SelectAllUtils could work well with the editor component inside JSpinner. See the bug report here.
    • (Dashboard) Fixed so that the gadget component's preferred size won't be set to zero width or zero height after loading from an XML file.
    • (Dashboard) Fixed the issue that the active dashboard key is null after loading a DashboardHolder from an XML file.
    • (Diff) Fixed so that the differences after flip() will not be an instance of DifferenceList if the original one is not an instance of DifferenceList. See the bug report here.
    • (Diff) Fixed so that invoking BasicDiffPane#setHighlightExactChange() could update the line difference immediately.
    • (Diff) Fixed the issue that BasicDiffPane#flip() didn't flip the line differences correctly. See the bug report here.
    • (Dock) Fixed the focus switching issue while saving layout for a DockingManager and the DockingManager does not have focus. See the bug report here.
    • (Editor) Improved the performance for replaceAll action. See the bug report here.
    • (Grids) Fixed a memory leak issue while AutoFilterTableHeader#setAcceptInput(true) is invoked. See the bug report here.
    • (Grids) Fixed the NPE issue while TableCustomFilterEditor works on a null value. See the bug report here.
    • (Grids) Fixed the cell span issue while GroupTable working with TableScrollPane. See the bug report here.
    • (Grids) Fixed so that HssfTableScrollPaneUtils#export() could work well even if the start row in excel sheet is not zero. See the bug report here.
    • (Grids) Fixed the memory leak issue while invoking JideTable#setTableHeader() to set a new table header. See the bug report here.
    • (Grids) Fixed the AIOOBE issue while invoking SortableTable#setModel() and there is a FilterableTableModel installed between and has filter. See the bug report here.
    • (Pivot) Fixed the issue that loading PivotTablePane from an XML file could not clear the existing filter if the saved layout does not have a filter. See the bug report here.

    January 17, 2013 - 3.5.1  (Regular Release, changes from 3.5.0)

    Enhancement Requests

    • (Common) Added NumberConverter#setAvoidNegativeZero() to remove unnecessary negative sign before zero.
    • (Dock) Added DefaultDockingManager#getResourceString() for better localization.
    • (Grids) Made ContextSensitiveTable#getCellEditor(int,int) consider getCellClassAt() instead of getColumnClass() even if cell editor manager is disabled. See the enhancement request here.
    • (Grids) Added HierarchicalTable#createHierarchicalTableCellRenderer() for easier customization. See the enhancement request here.
    • (Pivot) Added field chooser filter persistence in PivotTablePersistenceUtils. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes a bug in layout of stacked bar charts when proportional widths are used.
    • (Charts) Improved consistency of thrown exception types for inappropriate argument values.
    • (Charts) Fixes a bug in stacked bar charts when auto-resizing is switched off.
    • (Common) Improved the scrolling performance while the tab count of a JideTabbedPane is large. See the bug report here.
    • (Common) Fixed the issue that stopping one flashable will stop another running flashable as well. See the bug report here.
    • (Common) Fixed so that invoking JideTabbedPane#removeTabAt() won't change the current focus. See the bug report here.
    • (Common) Fixed so that PersistenceUtils won't use sun internal class any more. See the bug report here.
    • (Dashboard) Fixed so that maximizing a gadget will adjust the height of the dashboard as well to avoid the display of a vertical scroll bar.
    • (Diff) Fixed the NPE issue while invoking BasicDiffPane#flip(). See the bug report here.
    • (Diff) Fixed the IllegalStateException issue while the last line has difference when CodeEditorDiffPane uses LazyLoadDocument for both panes. See the bug report here.
    • (Dock) Fixed the flickering issue while a DockingManager has both a maximized frame and an activated floating frame. See the bug report here.
    • (Dock) Added a protection to IllegalArgumentException when dropping a dockable frame. See the bug report here.
    • (Editor) Fixed so that toggle case could work well in column selection mode. See the bug report here.
    • (Editor) Fixed so that the caret will stay in the original position after replacing all. See the bug report here.
    • (Grids) Fixed the issue that DateComboBox with M/d/yy format mistook 2042 to 1942. See the bug report here.
    • (Grids) Fixed the regression in 3.4.4 that DefaultGroupTableModel#getVisualColumnAt() returned -1 incorrectly when there is no grouping columns. See the bug report here.
    • (Grids) Fixed the issue that sometimes FilterableListModel could not fire correct event after filter() is invoked.
    • (Grids) Fixed so that the background of the right button panel and the middle button panel keep consistent in any L&F. See the bug report here.
    • (Grids) Fixed the issue that invoking QuickFilterPane#setTableModel() twice with different table models sometimes does not work.
    • (Grids) Fixed the FilterableTableModel preference saving issue for NotFilters. See the bug report here.
    • (Grids) Fixed the NPE issue if loading an filter preference from string for a non-convertible custom class. See the bug report here.
    • (Grids) Fixed the issue that the filter related context menu items were disabled when the header table disables non contiguous selection. See the bug report here.
    • (Grids) Fixed the NPE issue while invoking HierarchicalTable#setModel() and the sorting is applied. See the bug report here.
    • (Grids) Fixed the NPE while exporting a TreeTable without underlying TreeTableModel to excel. See the bug report here.
    • (Grids) Fixed so that QuickFilterPane#setColumnIndices() will fire table data changed event instead of table structure changed event. See the bug report here.
    • (Grids) Fixed the memory leak when SortableTable#setModel() is invoked. See the bug report here.
    • (Grids) Fixed the issue that the TableScrollPane might have a gap between the row header table and the main table after loading preference. See the bug report here.
    • (Grids) Fixed the issue that TreeComboBox could not instantiate with correct tree model when only the root node is passed in. See the bug report here.
    • (Pivot) Fixed the incorrect sorting issue in CalculatedPivotDataModel.
    • (Pivot) Fixed the issue that the filtering persistence of PivotTablePane for those PivotFields that are primitive type failed on loading XML. See the bug report here.
    • (Pivot) Made HeaderTableModel#refreshAfterUpdateExpandable() public. See the bug report here.
    • (Pivot) Fixed the duplicated GrandTotalValue issue when PivotDataModel#isHighPerformanceMode() returns true. See the bug report here.

    December 13, 2012 - 3.5.0  (Regular Release, changes from 3.4.9)

    Enhancement Requests

    • (Charts) Added getModifiersEx() to the action event generated in Chart.addDoubleClickListener(ActionListener). See the enhancement request here.
    • (Charts) Can now customise legend labels for segments of a pie chart. See the enhancement request here.
    • (Common) Added ArrayConverter#setUseTokenizer() to customize the behavior of ArrayConverter.
    • (Diff) Made lines differences being created in the same method as major differences in the method BasicDiffPane#getDifferencesForDiff() for easier customization in other thread. See the enhancement request here.
    • (Diff) Added BasicDiffPane#scrollTo() to customize the scrolling behavior. See the enhancement request here.
    • (Diff) Improved the performance of line difference feature for CodeEditorDiffPane.
    • (Dock) Separated the DockingManager#setResizable() to DockingManager#setFloatingFramesResizable() and DockingManager#setDockedFramesResizable(). See the enhancement request here.
    • (Gantt) Made GanttChartPane support filtering feature by default. See the enhancement request here.
    • (Grids) Added DefaultGroupTableModel#setDisplayGroupRowsFirst() to allow the customization of the row layout of the GroupTable when DefaultGroupTableModel#isRemoveNulLGrouper() returns true. See the enhancement request here.

    Bug Fixes

    • (Charts) Corrected issue where title and shadow disappear in a pie chart with shadows enabled. See the bug report here.
    • (Charts) setPieDiameter now automatically triggers a repaint. See the bug report here.
    • (Common) Fixed so that the JideButton could paint the hyper link when disabled if JideButton#isAlwaysShowHyperlink() returns true. See the bug report here.
    • (Common) Fixed so that CacheMap could interpret nested interface well. See the bug report here.
    • (Common) Fixed so that the leading component and the trailing component of JideTabbedPane do not have to be an instance of UIResource.
    • (Common) Fixed the issue that the tab closable property was incorrectly aligned after closing a tab. See the bug report here.
    • (Component) Fixed the issue that DocumentPane#indexOfDocument() might cause NPE in the middle of creating a new DocumentGroup. See the bug report here.
    • (Dock) Fixed the NPE issue while resizing a docked frame when there is another frame not available however in the same ContainerContainer. See the bug report here.
    • (Dock) Fixed an issue in DockableFramePopup.
    • (Editor) Fixed the resource bundle issue in Turkish Locale. See the bug report here.
    • (Editor) Fixed the issue that the text replacement function does not work correctly even if no regex and wildcard is used. See the bug report here.
    • (Editor) Fixed the IOOBE issue on mouse hovering over the marker when the CodeEditor window is so small that all the markers are squeezed together.
    • (Gantt) Fixed so that dragging or resizing a gantt entry could scroll to right or left. See the bug report here.
    • (Gantt) Fixed so that the correct event is fired when DefaultGanttEntryRelationModel#removeEntryRelation() is invoked. See the bug report here.
    • (Grids) Fixed so that the FilterableListModel could fire correct contents changed event on receiving contents changed event from its underlying list model.
    • (Grids) Fixed the issue that the filter name is persisted incorrectly for NotFilter. See the bug report here.
    • (Grids) Fixed the selection accumulation issue in TableSplitPane when sorting columns in different TableScrollPanes. See the bug report here.
    • (Grids) Fixed so that QuickFilterPane will not change its display table model instance while setColumnIndices() is invoked. See the bug report here.
    • (Grids) Fixed the issue that the hidden column was displayed at a wrong position when DefaultGroupTableModel#isDisplayGroupColumns() returns true. See the bug report here.
    • (Grids) Fixed the column auto resizing issue when GroupTable work together with TableScrollPane. See the bug report here.
    • (Grids) Fixed so that the Alt+Tab could navigate inside the TableScrollPane correctly. See the bug report here.
    • (Grids) Fixed the Searchable focus issue while showing popup in TreeComboBoxCellEditor by a key event.
    • (Grids) Fixed the NPE issue while exporting a row without children to excel. See the bug report here.
    • (Pivot) Fixed the NPE issue when invoking AggregateTable#setModel().
    • (Pivot) Fixed the AIOOBE issue if auto resizing after removing all row fields.

    November 15, 2012 - 3.4.9  (Regular Release, changes from 3.4.8)

    Enhancement Requests

    • (Charts) Added property tickLabelsVisible so tick labels can be switched off.
    • (Charts) Refactored MeterDemo so that it uses the Dial class as it is more flexible and scalable.
    • (Diff) Added AbstractDiffPane#uninstallListeners() to avoid potential memory leak. See the enhancement request here.
    • (Grids) Added HssfTableUtils#CLIENT_PROPERTY_USE_SXSSF_WORKBOOK to save memory during exporting.

    Bug Fixes

    • (Action) Fixed the regression while loading layout for DefaultDockableBarManager while isUseFrameBounds() returns false. See the bug report here.
    • (Charts) Now paints bullet border before indicators.
    • (Charts) Prevents NPE if the axes are set to null.
    • (Charts) Fixes performance problem after multiple zooms when using ChartCrossHair. See the bug report here.
    • (Charts) Prevented NPE if the label text in a DialLabel was set to be null.
    • (Common) Fixed the JDK7u9 compatibility issue for RenderingHints casting. See the bug report here.
    • (Common) Worked around the IAE exception thrown from TimSort#sort() in JDK7. See the bug report here.
    • (Common) Added system check for Windows 8 in SystemInfo#isWindows8(). See the bug report here.
    • (Common) Fixed the inconsistent border painting issue for JideTabbedPane when the tab area is hidden or not. See the bug report here.
    • (Component) Fixed the StackOverflowError while CollapsiblePane working on NetBeans. See the bug report here.
    • (Component) Fixed the issue that loading layout for DocumentPane might create an empty DocumentGroup. See the bug report here.
    • (Data) Fixed so that DatabaseTableModel#getColumnMapping() could work correctly.
    • (Data) Removed the unnecessary selection event while changing page with a selection in a paged table.
    • (Diff) Adjusted the horizontal scrolling behavior on navigation for BasicDiffPane. See the bug report here.
    • (Diff) Fixed the difference alignment painting issue. See the bug report here.
    • (Dock) Fixed so that the unhideable frame will still be displayed when DockingManager#isHideNewlyAddedFrames() returns true and the frame is a newly added frame comparing to the layout file to be loaded. See the bug report here.
    • (Editor) Fixed the issue that BackSpace deleted the end character when selection column was behind the end of line in column selection model.
    • (Editor) Fixed the issue that the last line of selection was not properly unindented. See the bug report here.
    • (Grids) Fixed so that the DnD behavior in DualTable/DualList respect the flag isAllowDuplicates(). See the bug report here.
    • (Grids) Fixed a potential NPE issue in FilterableTreeModel if the root of the TreeModel is null.
    • (Grids) Fixed so that MarkerEye#setToolTipText() could take effect. See the bug report here.
    • (Grids) Fixed the resource bundle issue when clicking "More..." for QuickTableFilterField. See the bug report here.
    • (Pivot) Fixed so that the row fields' name in PivotTablePane could be exported to csv.
    • (Pivot) Fixed the incorrect field duplication issue while dragging a data field within data field area when PivotTablePane#isDataFieldsDuplicationEnabled() returns true.
    • (Pivot) Fixed the issue that the grand total values are duplicated when a node is expanded or collapsed when PivotDataModel#isHighPerformanceMode() returns true. See the bug report here.
    • (Pivot) Fixed so that PivotTablePane#autoResizeAllColumns will respect the CellStyleProvider's font style. See the bug report here.

    October 16, 2012 - 3.4.8  (Regular Release, changes from 3.4.7)

    Enhancement Requests

    • (Charts) Added setPosition method to ChartCrossHair. See the enhancement request here.
    • (Charts) Now uses curves to point to pie segments which improves clarity for pie charts with many segments.
    • (Data) Fixed to accept order by clause in parameter "fromStatement" in DatabaseTableModel. See the enhancement request here.
    • (Diff) Made the method BasicDiffPane#differencesUpdated() thread safe. See the enhancement request here.
    • (Diff) Improved the performance of BasicDiffPane#flip(). See the enhancement request here.
    • (Grids) Made CheckBoxTreeExComboBox#createTree() be invoked for easier customization.
    • (Grids) Added JideTable#setAdjustEditorLocationOnModelChanged() to adjust the location of the cell editor when the table model event is fired on editing. See the enhancement request here.
    • (Pivot) Made PivotTablePersistenceUtils be able to persist filter in the PivotField as well. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixed NPE that may occur when computing labels for bar charts.
    • (Charts) Corrected an issue that may affect the color of the first rendered segment in a pie chart.
    • (Charts) Fixed problem with overlapping labels for pie chart with large number of segments.
    • (Charts) Corrected sort order for chart models in Java 7.
    • (Common) Fixed so that AutoCompletionComboBox won't fire action event to stop cell editing when it's used as a cell editor. See the bug report here.
    • (Common) Fixed the issue that the StyledLabel's preferred size might be incorrect when the line breaks are more than the StyledLabel#getRows(). See the bug report here.
    • (Common) Fixed the issue that searching on a plain JComboBox might cause unnecessary flickering. See the bug report here.
    • (Common) Fixed so that JideOptionPane#isDetailsVisible() could be different for different JideOptionPane instances.
    • (Common) Fixed so that the CheckBox's in SearchableBar will have the same background as the bar in all L&F. See the bug report here.
    • (Common) Added a client property "MenuItem.shadowWidth" for JMenu so that setting that client property could adjust the default shadow width of the painted menu item.
    • (Component) Fixed so that the DocumentPanePersistenceUtils#save() could write the OutputStream correctly even if it's not in an EDT thread.
    • (Diff) Fixed the viewport synchronization issue in BasicDiffPane. See the bug report here.
    • (Diff) Made the method BasicDiffPane#diff() final so that the customization won't care about some unnecessary field setting. See the bug report here.
    • (Diff) Fixed the highlight issue for the DELETED rows which only highlight the first deleted row. See the bug report here.
    • (Diff) Adjusted to make the row number better aligned with the rows in the table in TableDiffPane. See the bug report here.
    • (Dock) Adjusted the gripper's bounds to match the vertical alignment of the title in the title pane of a DockableFrame.
    • (Dock) Fixed so that the autohide-showing DockableFrame will be hidden automatically when the main window's state is changing to avoid layout issue. See the bug report here.
    • (Dock) Fixed so that loading layout for DefaultDockingManager won't load the unmaximized bounds if DefaultDockingManager#setUseFrameBounds(false) is invoked.
    • (Dock) Fixed flickering when clicking on a combobox in a dialog that was shown from a Docking Framework. See the bug report here.
    • (Editor) Fixed the issue that typing a new character in current caret position caused the visible CodeEditorIntelliHints popup disappear.
    • (Editor) Made CodeEditorDiffPane more thread safe by changing internal invocation to diff() to runDiff() instead. See the bug report here.
    • (Editor) Improved the behavior of character inserting and deleting in column selection model. See the bug report here.
    • (Editor) Fixed so that pressing arrow key to move caret in a CodeEditor will be able to make the intelli hints popup invisible. See the bug report here.
    • (Editor) Fixed a potential AIOOBE issue while editing a document inside a CodeEditor.
    • (Grids) Made AbstractFilter supports ObjectGrouperSupport by default.
    • (Grids) Fixed the issue that the button panel of CheckBoxListChooserPanel covered the last entry if the item count is less than the visible row count. See the bug report here.
    • (Grids) Fixed the issue that the DateComboBox button could not popup the DateChooserPanel correctly in CustomFilterEditor. See the bug report here.
    • (Grids) Fixed the issue setGroupColumns() did not clear group columns before add the new columns.
    • (Grids) Added filter name to the saved preference string saved by FilterUtils#getFilterPreference() to make TableCustomFilterEditor be able to load the filter correctly. See the bug report here.
    • (Grids) Fixed the issue that HssfTableUtils#export() might throw and issue called "maximum cell style exceeds limit" when CellStyleTable#getCellStyleAt() returns a CellStyle instance with border.
    • (Grids) Fixed the issue that HssfTableUtils#export() might export incorrect cell style if CellStyleTable#getCellStyleAt() returns the same instance of CellStyle for different cell styles.
    • (Grids) Added a JDK5-compatible default TransferHandler for JideTable#createDefaultTransferHandler(). See the bug report here.
    • (Grids) Fixed the issue that the tooltip could not be displayed on a original column in a nested table header when NestedTableHeader#setOriginalTableHeaderVisible(false) is invoked. See the bug report here.
    • (Grids) Fixed the potential AIOOBE issue while MultipleValuesFilter#getPreference() is invoked and getValues() returns an empty array. See the bug report here.
    • (Grids) Fixed the issue that MultipleValuesFilter might load preference string incorrectly. See the bug report here.
    • (Grids) Fixed a potential NPE issue in MultipleValuesFilter on loading failed. See the bug report here.
    • (Grids) Fixed so that the tooltip on TableColumnGroup could support StyledLabel. See the bug report here.
    • (Grids) Fixed issue so that "more" menu item in popup menu will be displayed only a valid table was set into this field.
    • (Grids) Fixed issue so that "more" menu item in popup menu will be displayed only when there is a valid table in this field.
    • (Grids) Fixed the memory leak issue so that the SortableTable could be garbage collected after the model is set to another model even if its first table model is still in the memory. See the bug report here.
    • (Grids) Fixed the issues about the label and hidden columns in the dialog when it is used to choose columns for filter. See the bug report here.
    • (Grids) Added filter valid check when setting preference string to a FilterableTableModel via TableUtils#setFilterableTableModelPreference(). See the bug report here.
    • (Pivot) Fixed so that invoking PivotDataModel#setSummaryCalculatorFactory() could reset the SummaryCalculator created by the old factory.
    • (Pivot) Fixed so that the PivotTablePane could be persisted correctly even if the model indices in the original table model are changed.

    September 25, 2012 - 3.4.7  (Regular Release, changes from 3.4.6)

    Enhancement Requests

    • (Charts) Added BulletIntervalMarkerLegendItem so that interval markers can be added to a legend.
    • (Charts) Added DialIntervalMarkerLegendItem so that interval markers can be added to a Legend for a Dial.
    • (Common) Consider line wrapping when calculating the row count in the AutoResizingTextArea. Thanks Walter for the code contribution. See the enhancement request here.
    • (Common) Added getVisualRowCount so that subclass can implement their own visual row count when resizing. See the enhancement request here.
    • (Dock) Added DefaultDockingManager#shouldSetFloatingContainerVisible() for the customers to adjust the behavior that the floating container is set to invisible if the root pane container is invisible.
    • (Editor) Made CodeEditor able to drop a file and open it. See the enhancement request here.
    • (Editor) Fixed so that CodeEditor could accept the DnD text from other editors like WordPad. See the enhancement request here.
    • (Grids) Added the feature so that CustomerFilterEditor could support ObjectGrouper as well.
    • (Grids) Added more constructors for DefaultMultiTableModel.
    • (Grids) Added TableColumnGroup#setToolTipText() to support tool tip. See the enhancement request here.
    • (Grids) Added NavigationHierarchicalTable for navigation purpose. See the enhancement request here.

    Bug Fixes

    • (Charts) Made shadows not visible by default on Bullet charts.
    • (Component) Fixed the excessive use of Calendar.class to save dynamic memory usage.
    • (Dashboard) Fixed the potential NPE issue while stop dragging a gadget. See the bug report here.
    • (Diff) Fixed the issue that BasicDiffPane#flip() causes the tool bar disappear incorrectly. See the bug report here.
    • (Diff) Fixed so that overriding BasicDiffPane#diff() doesn't have to change the value of the field _diffed. See the bug report here.
    • (Diff) Fixed so that the thread could be interrupted when BasicDiffPane#isHighlightExactChange() returns true. See the bug report here.
    • (Diff) Fixed so that changing the from editor in CodeEditorDiffPane could trigger diff running again. See the bug report here.
    • (Diff) Fixed so that CodeEditorDiffPane#diff() could work correctly. See the bug report here.
    • (Dock) Fixed so that DefaultDockingManager could still persist the correct unmaximized bounds in the layout file even though LayoutPersistence#setUseFrameBounds(false) is invoked.
    • (Dock) Fixed so that the outline contour will be painted correctly while a DockableFrame is dragged next to Workspace.
    • (Editor) Fixed the focus issue on popping up the IntelliHints in CodeEditor.
    • (Editor) Fixed the NPE issue while invoking CodeEditor#dispose().
    • (Grids) Fixed a potential AIOOBE issue in AutoFilterTableHeader.
    • (Grids) Fixed so that the ObjectGrouper could support null value as well in AutoFilterTableHeader.
    • (Grids) Fixed the issue that the last row did not wrap as expected when NestedTableHeader#isOriginalTableHeaderVisible() returns false. See the bug report here.
    • (Grids) Fixed the regression in 3.4.6 that the foreground in a cell style configured in one table might polute another table. See the bug report here.
    • (Grids) Fixed the redundant state change event issue when time is displayed in DateChooserPanel. See the bug report here.
    • (Grids) Fixed so that right clicking on "count" or "separate groups" column won't let the customer group those two columns.
    • (Grids) Fixed the issue that exporting to excel failed when exporting only one single row. See the bug report here.
    • (Grids) Fixed the performance issue when JideTable#isRowAutoResizes() returns true. See the bug report here.
    • (Grids) Fixed the potential NPE issue after CodeEditor#dispose() is invoked but still showing.
    • (Grids) Fixed the potential NPE issue in MultipleValuesFilter#stricterThan(). See the bug report here.
    • (Grids) Fixed so that double clicking on the (Empty) entry could single select that entry as filter and dismiss the popup when AutoFilterTableHeader allows multiple values.
    • (Grids) Fixed so that TableScrollPane will check the entire table model chain before it installs a new SortableTableModel instance into the chain. See the bug report here.
    • (Grids) Made TableUtils#getFilterableTableModelPreference() support ObjectGrouper. See the bug report here.
    • (Pivot) Fixed so that CompoundKey#getCompoundKeyPrefix() will return the key itself when prefixLength > _keys.length.

    September 13, 2012 - 3.4.6  (Regular Release, changes from 3.4.5)

    Enhancement Requests

    • (Charts) Can now specify a shadow renderer or change the properties of the default shadow renderer.
    • (Charts) Added support for shadows on indicators of a Bullet chart.
    • (Charts) Can now override createLabelColor or createLineColor to specify different colors for labels and lines for each segment of pie chart.
    • (Charts) Provided methods that can be overridden to allow customisation of label colors in a pie chart on a per segment basis.
    • (Common) Added NavigationComponentHelper#getSelectionColor() so that the customers could customize the selection color easier. See the enhancement request here.
    • (Common) ShadowFactory now implements a ShadowRenderer interface.
    • (Editor) Added CodeEditor#dispose() to release the memory. See the enhancement request here.
    • (Grids) Added AutoFilterBox#isRequestFocusForTextField() to control the focus behavior of AutoFilterBox. See the enhancement request here.
    • (Grids) Register a default NumberCellEditor for BigDecimal in CellEditorManager.
    • (Grids) Added GroupTable#setSpecialColumnsHidable() to control the column chooser behavior of the special columns like count column and separate group column. See the enhancement request here.
    • (Grids) add bookmark. See the enhancement request here.
    • (Pivot) Added PivotDataModel#addExtraCompoundKeys() to manage the extra compound keys without adding dummy rows in the original table model. See the enhancement request here.

    Bug Fixes

    • (Action) Fixed so that F10 will activate the first menu. See the bug report here.
    • (Action) Fixed so that the hidden event will be fired when loading a DockableBar layout.
    • (Charts) Fixes issue where the name of a model could change unexpectedly.
    • (Charts) Fixed exception with bullet charts of very small initial size.
    • (Charts) Prevented NPE when painting ticks and location of tick cannot be computed.
    • (Charts) Fixes possible display artifact when pie segment is exploded.
    • (Common) Fixed the issue that JideTabbedPane didn't use the selected tab font to calculate the correct tab width.
    • (Common) Fixed the issue that pressing ENTER after typing several keys could not select the matching item correctly while ShrinkSearchableSupport is installed over ComboBoxSearchable.
    • (Common) Fixed the issue of menu item alignment issue when there are JCheckBoxMenuItem and JMenuItem with icon in the same popup menu.
    • (Common) Fixed so that invoking PortingUtils#initializeScreenArea() will be able to refresh the screen bounds. See the bug report here.
    • (Dashboard) Fixed a potentail NPE while mouse pressing a Dashboard. See the bug report here.
    • (Dashboard) Fixed so that the maximized gadget could always be restored correctly.
    • (Dock) Fixed the getDockedWidth/getDockedHeight return different values when being called twice in a row. See the bug report here.
    • (Editor) Fixed the issue that the popup triggered by AbstractCodeEditorIntelliHints might cover the caret. See the bug report here.
    • (Editor) Fixed so that right mouse dragging won't select text in CodeEditor. See the bug report here.
    • (Editor) Fixed so that right click in a CodeEditor will not allow dragging to select. See the bug report here.
    • (Gantt) Fixed the AIOOBE issue while pressing SPACE on a GanttChart while no gantt entry is ever selected. See the bug report here.
    • (Grids) Fixed the issue that the filter name displays incorrectly and the (Custom...) entry might be selected incorrectly when AutoFilterTableHeader#isPrefSelectedValues() returns false. See the bug report here.
    • (Grids) Fixed the issue that resizing the last column of a TableColumnGroup may resize the column incorrectly when the auto resize mode is not AUTO_RESIZE_OFF. See the bug report here.
    • (Grids) Fixed the issue that NestedTableHeader#setOriginalTableHeaderVisible(false) will make the columns that is not in the last level invisible incorrectly. See the bug report here.
    • (Grids) Fixed the StackOverflowError while there are nested grouping in NestedTableHeader.
    • (Grids) Fixed the foreground bleeding issue if JTable#setForeground() is invoked. See the bug report here.
    • (Grids) Fixed the issue of performance and improper behavior in toggle mode on CalendarViewer. See the bug report here.
    • (Grids) Fixed the NPE issue while DateExComboBox working in Nimbus L&F. See the bug report here.
    • (Grids) Fixed the issue that the count column is not displayed when a GroupTable goups the first column if DefaultGroupTableModel#isDisplayCountColumn() and DefaultGroupTableModel#isDisplaySeparateGroupColumn() both return true. See the bug report here.
    • (Grids) Fixed the issue that the null value is displayed incorrectly in the drop down list of AutoFilterTableHeader when isUseNativeHeaderRenderer() returns false. See the bug report here.
    • (Grids) Fixed the issue that it was unable to exporting the last collapsed Node to excel while setExportCollapseToExcel(true). See the bug report here.
    • (Grids) Fixed so that the user can set tool tips to sub fields in IPTextField. See the bug report here.
    • (Grids) Fixed the issue that the registered cell renderer will not be applied to select table in DualTable. See the bug report here.
    • (Grids) Fixed so that PropertyTable will respect getDefaultCellRenderer() first as other ContextSensitiveTables do.
    • (Grids) Fixed the NPE issue when table model is changed before any selection was made.
    • (Grids) Fixed the issue that RegexFilter#getPreference() returns an incorrect string which makes setPreference() could not load the filter back correctly. See the bug report here.
    • (Grids) Fixed so that SingleValueFilter and MultipleValuesFilter could persist null value correctly.
    • (Grids) Fixed the issue that editing a node in a sorted tree caused the UI repaint the tree incorrectly. See the bug report here.
    • (Grids) Improved the performance for TableUtils#setTablePreferenceByName(). See the bug report here.
    • (Grids) Fixed the header style is not applied correctly when the last column is hidden.
    • (Grids) Fixed so that the column name will be persisted instead of column index while getting the filter preference string.
    • (Pivot) Fixed the AIOOBE issue while AggregateTableModel#getActualRowAt() is invoked for a grand total row and the original table model has only one row. See the bug report here.
    • (Pivot) Made DefaultSummaryCalculator thread safe.
    • (Pivot) Fixed the issue that the grouping is not correct when exporting PivotTablePane to excel.

    August 20, 2012 - 3.4.5  (Regular Release, changes from 3.4.4)

    Enhancement Requests

    • (Charts) Can now specify absolute minima and maxima as constraints to apply to the auto-ranger. See the enhancement request here.
    • (Charts) Can now specify the location/placement of a bar label on a bullet chart.
    • (Charts) Added new constructor.
    • (Charts) Can now specify the width of the outline for an indicator on a bullet chart.
    • (Charts) More placement options for a pointer indicator on a bullet chart.
    • (Common) Made PartialEtchedBorder support round corner when it paints all side. See the enhancement request here.
    • (Component) Added getPercentage()/getPrevIndex()/getNextIndex() for easier customization of FloorTabbedPane.
    • (Gantt) Added GanttChart#isAllowResizeEntry() to enable the customer to restrict the drag to resize behavior. See the enhancement request here.
    • (Grids) Add feature of choosing columns to be filtered in a popup dialog. See the enhancement request here.
    • (Grids) Add feature of displaying menu cascade and using CheckBoxTree in column chose dialog. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes possible NPE on AutoRanger. See the bug report here.
    • (Charts) Avoids a NPE when a PointLabeler used on a bar chart returns null as the label string.
    • (Charts) Adjusted position of label for 3D bars so that it sits above the bar.
    • (Charts) Adds LineIndicator for a bullet chart and can display a label for all bullet indicators.
    • (Charts) Fixes a possible NPE when calculating tick label positions.
    • (Charts) Changing tick length no longer affects subsequent painting.
    • (Charts) Fixes a possible NPE on a bar chart when a ChartModel does not have an associated ChartStyle.
    • (Charts) Now respects pointerLength property.
    • (Charts) Fixed a bug in the positioning of the pointer indicator in bullet charts.
    • (Charts) Fixes a bug in tick generation.
    • (Common) Fixed the right-to-left orientation issue on JideSplitButton. See the bug report here.
    • (Common) Fixed a divider by zero exception in StyledLabel when isLineWrap() is true.
    • (Common) Fixed so that SearchableBar#setSearchHistory could update the combo box immediately. See the bug report here.
    • (Diff) Fixed so that CodeEditorDiffPane#flip() will flip the document in the from editor and the to editor. See the bug report here.
    • (Diff) Added thread interrupting check in Diff#diff() to allow thread interrupting. See the bug report here.
    • (Dock) Fixed the NPE issue while disposing a DockingManager. See the bug report here.
    • (Editor) Fixed so that the pasted text could be indented correctly even if it contains TAB. See the bug report here.
    • (Editor) Fixed the IOOBE issue while replacing the last lines in CodeEditorDiffPane. See the bug report here.
    • (Editor) Fixed the IOOBE issue while the mouse is hovering over the top right corner of a MarkerStripe. See the bug report here.
    • (Gantt) Fixed the issue that the relation painter might paint the start and end entry rect incorrectly.
    • (Grids) Fixed the issue that column grouping will not work on a column which was previously hide and then showed. See the bug report here.
    • (Grids) Fixed the issue that no action was triggered when the height of table header is more than 20 pixes ( for example setAcceptTextInput(true) ) and clicking the lower part of the header.
    • (Grids) Fixed the issue that the disabled rows were not repainted as enabled after moving the selected rows to left in DualTable. See the bug report here.
    • (Grids) Fixed so that DateExComboBox could be persisted as null when no selection is made in DateChooserPanel.
    • (Grids) Added a protection so that the FilterableTableModel could clear the internal fields when an exception is occurred due to thread racing. See the bug report here.
    • (Grids) Fix the issue so that user will not have to implementing the TreeNode interface when using filtering function. See the bug report here.
    • (Grids) Fixed the exception issue if GroupTableHeader is instantiated without a GroupModelProvider in the table model chain. See the bug report here.
    • (Grids) Fixed the NPE issue while loading filter preference for InFilter or MultipleValuesFilter.
    • (Grids) Made SortItem and QuickFilterField#getFilter() serializable.
    • (Grids) Fixed the issue that the selected color of JideColorSplitButton is not updated immediately when a new color is selected.
    • (Grids) Fixed so that QuickFilterPane#setEnabled() works as expected. See the bug report here.
    • (Grids) Fixed the NoSuchMethodError issue in ShrinkSearchableSupport#convertElementToString(). See the bug report here.
    • (Grids) Fixed issue when user did not select any column he/she still can submit by hitting the ENTER key.
    • (Grids) Fix the issue of loading performance when table has a large number of columns especially many of them were nested and with long column names. See the bug report here.
    • (Grids) Fixed so that TableUtils.setSortableTablePreference(table, ") will unsort the table and same as TableUtils.setFilterableTableModelPreference(model, :)".
    • (Grids) Fix issue of selection saving and restoring in tree table.
    • (Pivot) Fixed the issue that AggregateTable's cell selection didn't adjust correctly when a new row is added. See the bug report here.
    • (Pivot) Fixed so that the expansion state of AggregateTable could be persisted when changing the data in the original table model. See the bug report here.
    • (Pivot) Fixed the issue that AggregateTable didn't get updated immediately when the original table model changes however AggregateTableModel#getAggregateColumnCount() returns 0. See the bug report here.
    • (Pivot) Fixed the issue that the FieldBox's field button is still visible after dragged to unassigned field area which is a regression since 3.4.0.
    • (Pivot) Fixed so that the text could be aligned to the left if AggregateTable#setExpandIconVisible(false).

    July 24, 2012 - 3.4.4  (Regular Release, changes from 3.4.3)

    Enhancement Requests

    • (Charts) Added new model to support waterfall charts. See the enhancement request here.
    • (Component) Added BreadcrumbBar#setCascadeMenuAllowed() to allow cascade menu in the BreadcrumBar.
    • (Grids) Added BeanIntrospector#createBeanProperty() for easier customization. See the enhancement request here.
    • (Grids) refactor the behavior of display options.
    • (Grids) Add a new class JideList to support selection persistence while sorting/filtering/list data updating.
    • (Grids) Added JideTable#createCellAutoCompletion() to enable the customer to customize the behavior of the AutoCompletion behavior for the cell editor.
    • (Grids) Added TableUtils#getFilterableTableModelPreference()/setFilterableTableModelPreference() to persist the filters inside the FilterableTableModel.
    • (Pivot) Added PivotConstants#STATISTICS_CALCULATION_RUNNING_LEAF for a new type of running summary calculation.
    • (Pivot) Added PivotDataModel#getRowAt()/getColumnAt() to get the closest cell in DataTable from the actual row index in the original table model. See the enhancement request here.

    Bug Fixes

    • (Action) Made CommandBarFactory#createLookAndFeelMenu() support locale.
    • (Charts) Improved handling of ticks to remove a possible NPE.
    • (Charts) Removed static designation for read-write lock.
    • (Common) Fixed the issue that the scroll backward button might be enabled incorrectly after closing a tab when JideTabbedPane working in RTL mode.
    • (Common) Fixed the issue that the scroll back button is enabled incorrectly when there is only one tab when the JideTabbedPane works on RTL mode and always show tab buttons.
    • (Common) Fixed the issue that the first tab in JideTabbedPane is cut in RTL mode.
    • (Common) Fixed the issue that the tab focus indicator was painted incorrectly in RTL orientation.
    • (Common) Fixed the tab scroll button issues in RTL orientation.
    • (Common) Changed the field _checkBox in the class CheckBoxListCellRenderer to AbstractButton for easier customization. See the bug report here.
    • (Common) Fixed the incorrect layout issue in JideBoxLayout & RTL orientation if all its child components are fixed and the preferred size is larger than the actual size.
    • (Common) Fixed the issue that JideSplitPane might be set to visible incorrectly which makes it is painted incorrectly when added to a JideTabbedPane directly.
    • (Common) Fixed so that JideSplitPane#resetToPreferredSizes() will always reset the layout to respect the preferred size of the child components.
    • (Common) Fixed the Swing bug that the up/down/enter/escape key does not work in JMenu in RTL orientation.
    • (Common) Fixed the issue that the selection is not painted correctly in NavigationTree under Metal L&F.
    • (Component) Fixed the StackOverflowError while CollapsiblePane working with PCanvas or the LegacyGlueFocusTraversalPolicy.
    • (Component) Fixed the issue that the context menu of DocumentPane did not follow the RTL orientation when the DocumentPane is in RTL mode.
    • (Dashboard) Fixed so that the maximized gadget component won't able to accept new gadget component dropping. See the bug report here.
    • (Data) Fixed so that AdvancePageTableModel#isColumnSortable() will be respected.
    • (Data) Fixed the issue that removing a row could not update the total row count information in the PageNavigationField immediately. See the bug report here.
    • (Data) fix the issue so that throw IllegalArgumentException when constructing PageNavigationBar with a parameter which is null or its model is null. See the bug report here.
    • (Data) Fixed the issue that PageNavigationBar didn't update its buttons accordingly when switching between the page mode and the record mode. See the bug report here.
    • (Decision) Fixed so that the DecisionFieldArea has correct size when the area is empty.
    • (Diff) Fixed so that runDiff() is invoked instead of diff() in the method flip() to be thread safe. See the bug report here.
    • (Diff) Fixed so that the selection highlight could be painted correctly when two similar Differences starting from the same line are returned in TableDiffPane#diff(). See the bug report here.
    • (Diff) Fixed the unnecessary invocation to diff() when the table model fires table data changed event in TableDiffPane. See the bug report here.
    • (Dock) Fix the issue so that frames will be kept in their previous group while toggling between available/unavailable in auto-hide state. See the bug report here.
    • (Dock) Fixed so that the DockingManager could support 2 or more frames being flashed with different colors.
    • (Editor) Fixed a potential NPE if CaretOverwriteStatusBarItem#getCodeEditor() returns null.
    • (Editor) Fixed the regression since 3.3.2 that CodeEditor could not scroll down on column selection model. See the bug report here.
    • (Editor) Fixed the serializable issue in CodeEditorPainter. See the bug report here.
    • (Editor) Fixed so that CodeEditor supports using regular expression in replace text. See the bug report here.
    • (Gantt) Improved the painting performance of GanttChart by skipping the invisible entries. See the bug report here.
    • (Grids) Fixed the AIOOBE issue while setting list model to a FilterableCheckBoxList.
    • (Grids) Fixed the AIOOBE issue when multi items were selected in the selected list of a DualList then clicking the "move left" button. See the bug report here.
    • (Grids) Fixed the issue so that data field filterable option will only take effect on data filed.
    • (Grids) Fixed the issue that FilterFactoryManager#unregisterFilterFactory() could not unregister the existing FilterFactories. See the bug report here.
    • (Grids) Fixed the issue that the horizontal grid lines may be messed up after receiving table cell updated event when JideTable#isRowAutoResizes() returns true. See the bug report here.
    • (Grids) Fixed so that JideTable#isAlwaysRequestFocusForEditor() is honored for MultilineTableCellEditor scenario. See the bug report here.
    • (Grids) Fixed the issue that MultilineTableCellEditor didn't work well with JideTable#isRowAutoResizes(). See the bug report here.
    • (Grids) Fixed the issue so that invoking setTableModel() will not cause NPE when setUseCheckBoxList(true) invoked and setColumnIndices() not. See the bug report here.
    • (Grids) Fixed the issue so that setColumnIndices()/setVisibleButtons() could take effect in UI immediately.
    • (Grids) Fixed the regression that TableCustomFilterEditor's "clear filter" and "apply filter" buttons were disappeared in 3.4.3. See the bug report here.
    • (Grids) Fixed the issue that TableUtils#synchronizeTableRowSelection() might add duplicated property change listeners to the table which makes it hard to be desync.
    • (Grids) Fixed the issue that double clicking could not expand/collapse a row even if TreeTable#isDoubleClickEnabled() returns true if TreeTable#isExpandableIconVisible() returns false. See the bug report here.
    • (Pivot) Fixed the issue that AggregateTableModel()#getRowAt()/getActualRowAt() returns incorrect row index when there is no aggregate column. See the bug report here.
    • (Rss) Fixed so that the table header of the FeedReader table is easier to be customized.
    • (Rss) Fixed the issue that CHANNEL_UPDATED event was fired each time the FeedTreeCellRenderer gets painted which should be STATUS_UPDATED instead.

    Backward Compatibility

    • (Common) The field _checkBox in the class CheckBoxListCellRenderer is changed to AbstractButton which might cause compilation error if you ever overrode this class and call some JCheckBox only method for the field _checkBox. See the bug report here.
    • (Grids) The interface Filter added two new methods which might break the customers' code if you implement the Filter interface directly instead of extending AbstractFilter.

    June 28, 2012 - 3.4.3  (Regular Release, changes from 3.4.2)

    Enhancement Requests

    • (Editor) Added CodeEditor#setSkipsEmptyLinesOnLineComments() to customize the line comments behavior. See the enhancement request here.
    • (Grids) Change the column index type from int to int[].
    • (Grids) Add TableCustomFilterEditor as an alternative custom filter editor.
    • (Grids) Added a new filter class YearFilter. See the enhancement request here.

    Bug Fixes

    • (Charts) Added missing removeIndicator method.
    • (Common) Fixed so that the iconR will not be moved to the left when the StyledLabel is left aligned. See the bug report here.
    • (Common) Fixed the NPE issue while selected tab font of a JideTabbedPane is null which is a regression in 3.4.2.. See the bug report here.
    • (Common) Fixed the NPE issue if the class type is null when ObjectConverterManager#fromString() is invoked. See the bug report here.
    • (Common) Fixed a potential StackOverflowError while the default focus component is not visible and VisibilityFocusTraversalPolicy#getDefaultPolicy() is an instance of SortingFocusTraversalPolicy.
    • (Data) Fixed the issue that DatabaseTableModel#adjustStatement() returns incorrect Statement when the ResultSet is not CONCUR_UPDATABLE.
    • (Diff) Fixed the issue that invoking BasicDiffPane#flip() obsoleted the flag BasicDiffPane#isReadOnly(). See the bug report here.
    • (Dock) Fixed the AIOOBE issue while clicking on the area right to a tab in a FrameContainer. See the bug report here.
    • (Editor) Fixed so that pressing TAB on column selection mode won't clear the selected text. See the bug report here.
    • (Grids) Fixed so that AutoFilterBox could support line wrap feature as well. See the bug report here.
    • (Grids) Fixed the duplicated sorting arrows issue while AutoFilterTableHeader#createDefaultEditor() is overrode and AutoFilterTableHeader#setUseNativeHeaderRenderer(true) is invoked. See the bug report here.
    • (Grids) Fixed the issue that installing an AutoFilterTableHeader might trigger duplicated FilterableTableModel creation if AutoFilterTableHeader#createFilterableTableModel() is overrode to return an instance instead of null. See the bug report here.
    • (Grids) Fixed the issue that the column count is incorrect if DefaultGroupTableModel#isKeepColumnOrder(), isDisplayCountColumn() and isDisplayGroupColumns() all return true. See the bug report here.
    • (Grids) Fixed so that GroupTableHeader will honor the flag JTableHeader#getReorderingAllowed(). See the bug report here.
    • (Grids) Fixed so that the new value returned by JideCellEditor#validate() could be respected and ValidationResult#NULL_VALUE is added for setting the new value to null.
    • (Grids) Fixed an NPE issue while dragging a JideTable cell to another application or another JTextField.
    • (Grids) Improved the performance of TreeTableUtils#getDescendants() when there is no filtering/sorting. See the bug report here.
    • (Pivot) Fixed the issue that the running calculation based on rows might be calculated incorrectly. See the bug report here.
    • (Pivot) Fixed the issue that the comparing feature in CompoundKey regarding null value was incorrect.
    • (Pivot) Fixed a potential NPE issue while there is no row fields or column fields.

    June 19, 2012 - 3.4.2  (Regular Release, changes from 3.4.1)

    Enhancement Requests

    • (Charts) Factored core panning logic of MouseDragPanner into separate class so that other GUI elements may also use it.
    • (Common) Added BannerPanel#createSubtitleLabel() for easy customization for the subtitle label. See the enhancement request here.
    • (Common) Added LabeledTextField#calculateContextMenuLocation() for the customer to customize the location of the popup menu. See the enhancement request here.
    • (Common) Made Searchable#setSearchingDelay(-1) work in SearchableBar so that the search will only be triggered when ENTER is pressed. See the enhancement request here.
    • (Data) Added PageNavigationBar#setTableModel()/setListModel() to change the models dynamically.
    • (Diff) Added AbstractDiffPane#flip() to flip the from/to components. See the enhancement request here.
    • (Diff) Made BasicDiffPane#diff() customizable. See the enhancement request here.
    • (Editor) Added install()/uninstall() for AbstractCodeEditorIntelliHints to release memory when necessary. See the enhancement request here.
    • (Grids) Added CheckBoxListSelectionModelWithWrapper#getOriginalSelectionModel() so that the customer could gets the actual selected indices from the original selection model.
    • (Grids) Remember previous filter status while using CheckBoxList mode. See the enhancement request here.
    • (Grids) Made "Reset to Default" be able to reset the column width as well. See the enhancement request here.
    • (Grids) Added TreeTableCellRenderer#getPaddingBackground() for customization. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes issue with scrollPane. See the bug report here.
    • (Charts) can no longer return negative values for chartWidth and chartHeight properties.
    • (Charts) Corrected sizing issue for 3D pie charts when using exploded segments. See the bug report here.
    • (Common) Fixed so that the leading tab will be visible when the JideTabbedPane is first displayed under RTL orientation.
    • (Common) Fixed so that the JideTabbedPane would show the first leading tab when being painted the first time under RTL orientation.
    • (Common) Fixed so that JideTabbedPane could show the close button under RTL and RESIZE_MODE_FIT mode.
    • (Common) Fixed so that the JideTabbedPane is painted correctly in RESIZE_MODE_FIT when a leading or trailing component is in place under RTL orientation.
    • (Common) Fixed so that the selected tab's font will be consistent with the other tabs' font when JideTabbedPane#setFont() is configured with a non-UIResource Font. See the bug report here.
    • (Common) Fixed so that the tab aligned to the right in RTL model when there are only a few tabs in the JideTabbedPane.
    • (Common) Fixed so that the JideTabbedPane paint tabs correctly when the tab resize mode is TAB_RESIZE_FIT and the component orientation is RTL.
    • (Common) Fixed so that the tab navigation buttons will not be shown when JideTabbedPane#getTabResizeMode() is JideTabbedPane.RESIZE_MODE_FIT.
    • (Common) Fixed the NPE while dynamically changing the component orientation of JideTabbedPane before actually painting it.
    • (Common) Fixed the issue that the style of the second line after a line break was not painted correctly.
    • (Common) Fixed the issue that AutoFilterBox painted the sort arrow and the sort icon incorrectly. See the bug report here.
    • (Common) Fixed the issue that Calculator could not work correctly in Locale.Germany with a configured DisplayedFormat. See the bug report here.
    • (Common) Fixed the issue that unnecessary list selection changed event might be fired when selecting all.
    • (Common) Fixed so that CheckBoxTree is serializable. See the bug report here.
    • (Common) Fixed the issue that DelegateAction#restoreAction() could not restore the action if there is no action registered originally.
    • (Common) Fixed the incorrect popup location issue while JidePopup is popped up upwards. See the bug report here.
    • (Common) Fixed so that invoking JideSplitPane#setPaneAt() and setDividerLocation() will validate() anyway.
    • (Common) Fixed the issue that sometimes the tab navigation buttons are painted to wrong direction under RTL orientation.
    • (Common) Fixed so that ObjectConverterManager#fromString() will return the correct number type for Number classes like Double, Long, etc..
    • (Common) Fixed so that PercentConverter will not divide the value with 100 if "%" is typed.
    • (Diff) Made BasicDiffPane#createDivider() could be customized easier. See the bug report here.
    • (Diff) Fixed the displaying issue while there are line offsets between the from table and the to table in TableDiffPane. See the bug report here.
    • (Dock) Fixed the issue that changing the initial bounds of DefaultDockingManager could not change the bounds correctly in VisualDesigner.
    • (Dock) Fixed so that the context menu will also be disabled if a dockable frame is disabled. See the bug report here.
    • (Editor) Fixed so that changing caret position would be able to dismiss the AbstractCodeEditorIntelliHints popup. See the bug report here.
    • (Editor) Fixed the issue that Overwrite and Insert strings in CaretOverwriteStatusBarItem were not i18ned.
    • (Editor) Fixed so that moving the caret with keyboard will reset the column selection mode to false. See the bug report here.
    • (Editor) Fixed the issue that the text copied to clipboard is not correct on column selection model.
    • (Editor) Fixed the issue that pressing enter while the history popup is visible in FindAndReplaceDialog under MAC OS caused an incorrect entry being searched.
    • (Gantt) Fixed so that the gantt model event could be fired with the GanttEntry's adjusting flag as false after mouse released. See the bug report here.
    • (Gantt) Fixed the issue that remove entry does not work. See the bug report here.
    • (Gantt) Fixed so that there is a way to avoid GanttChartBackgroundPainter overriding the PeriodBackgroundPainter. See the bug report here.
    • (Grids) Fixed so that an editable ListComboBox could work well with the IntelliHints.
    • (Grids) Fixed the memory leak issue while AutoFilterTableHeader#isAcceptTextInput() returns true.
    • (Grids) Fixed so that the drop down list of AutoFilterTableHeader could be dismissed immediately when mouse dragging to resize or rearrange.
    • (Grids) Fixed so that the GroupTable could work a little bit easier with TableScrollPane. See the bug report here.
    • (Grids) Fixed so that the CheckBoxListChooserPanel and MultiSelectListChooserPanel will automatically scroll to the first selected item.
    • (Grids) Fixed the issue that CheckBoxTreeChooserPanel does not have the OK/Cancel buttons if the constructor without ok/cancel action is used.
    • (Grids) Fixed so that the DefaultGroupTableModel could add the newly inserted rows to the correct position of the parent DefaultGroupRow.
    • (Grids) Fixed the NegativeArraySizeException while invoking ExComboBoxPopup#getPreferredSize(). See the bug report here.
    • (Grids) Fixed the incorrect GroupTableHeader DnD behavior when there is a horizontal scroll bar.
    • (Grids) Fixed the infinite loop issue while implementing HierarchicalTableModel in a DatabaseTableModel.
    • (Grids) Fixed an ArrayIndexOutOfBoundsException while exporting to excel. See the bug report here.
    • (Grids) Fixed so that the width of a ListChooserPanel cannot exceed half of the monitor width by default. See the bug report here.
    • (Grids) Fixed the regression in 3.3.6 that ListExComboBoxSearchable could not work well in a JTable's cell editor.
    • (Grids) Fixed the incorrect tool tip text while a PageNavigationBar's navigation type is record. See the bug report here.
    • (Grids) Fixed the issue that RegexFilter#stricterThan() might return true incorrectly.
    • (Pivot) Fixed issue of aggregate table displaying unsorted filter items after adjusting column sequence. See the bug report here.
    • (Pivot) Fixed so that the PivotDataModel could update the converter context/editor context on receiving table data changed event. See the bug report here.
    • (Pivot) Fixed so that the "hide field list" option could be persisted by PivotTablePersistenceUtils.

    Backward Compatibilities

    • (Grids) MultiSelectListChooserPanel/CheckBoxListChooserPanel now extends ListChooserPanel instead of ButtonPopupPanel. Although we have tried to implement all APIs that ButtonPopupPanel has to keep the maximum backward compatibility, it will still break the customer's code if he or she checks if it is an instance of ButtonPopupPanel.. See the enhancement request here.

    May 29, 2012 - 3.4.1  (Regular Release, changes from 3.4.0)

    Enhancement Requests

    • (Charts) Added BulletPointMarker for marking a point of interest.
    • (Charts) Added a getDifferenceShape method so other code can discover the dimensions of the rendered difference. See the enhancement request here.
    • (Charts) Can now customise the cursor shown while dragging. See the enhancement request here.
    • (Common) Added SearchableBar#setMaxHistoryLength() so that SearchableBar could have a combo box to show the history search. See the enhancement request here.
    • (Data) Added PageNavigationBar#selectRecord() to select a record in the index of the original component before wrapped in a PageNavigationBar. See the enhancement request here.
    • (Diff) Added differentiated background color for selected difference in BasicDiffPane and CodeEditorMergePane. See the enhancement request here.
    • (Diff) Added BasicDiffPane#createDiff(T[], T[]) for easier customization of the diff algorithm. See the enhancement request here.
    • (Diff) Made CodeEditorDiffPane work well with LazyLoadDocument to save memory usage for huge files. See the enhancement request here.
    • (Diff) Added CodeEditorDiffPane#setIgnoreLeadingTrailingSpaces() to ignore leading and trailing spaces on comparing. See the enhancement request here.
    • (Diff) Added selection indicator in DiffDivider. See the enhancement request here.
    • (Dock) Removed related UndoableEdits while removing a dockable frame in a DockingManager.
    • (Editor) Added CodeEditor#setCopyVisibleTextOnly() to control the clipboard copy and drag behavior to exclude the folded text or not. See the enhancement request here.
    • (Editor) Added the message showing how many occurrences have been replaced when "replace all" action is executed. See the enhancement request here.
    • (Grid) Add CheckBoxTreeExComboBox component.
    • (Grids) Added AutoFilterTableHeader#getFilterIcon() for easier customization for the filter icons painted in AutoFilterTableHeader. See the enhancement request here.
    • (Grids) Added FilterableTableHeaderCellDecorator#setShowVerticalLine() for easier customization of the painting. See the enhancement request here.
    • (Grids) Added new interface FilterEditor so that the customer could customize the CustomFilterEditorDialog easier.
    • (Pivot) Fixed so that AggregateTableModel could get exact table model change events instead of tableDataChangedEvent when the data is changed in the original table model. See the enhancement request here.
    • (Pivot) Added PivotTablePane#validateFieldBoxDragging() so that the customer could add a prompt dialog before the field box is really dropped and the heavy calculation is triggered. See the enhancement request here.
    • (Pivot) Added PivotTablePane#setDataFieldsDuplicationEnabled() to control the data fields duplication behavior. See the enhancement request here.
    • (TreeMap) Improved documentation on tooltip customization possibilities.
    • (TreeMap) Added support for lightweight and heavyweight tooltips and improved customization possibilities.

    Bug Fixes

    • (Charts) Fixed bug in BulletIntervalMarker for vertical orientation.
    • (Common) Added an NPE check in BasicJideTabbedPaneUI. See the bug report here.
    • (Common) Fixed the issue that BigDecimalConverter might converts double value to an unpredictable BigDecimal. See the bug report here.
    • (Common) Fixed so that BreadcrumbBar could work correctly with default constructor. See the bug report here.
    • (Common) Fixed so that the default all entry is not a String any more to avoid any potential conflict with custom data. See the bug report here.
    • (Common) fixed fail to identify two value equaled instances.
    • (Common) Fixed so that the default 32767 maximum size won't restrain the preferred size.
    • (Common) Fixed the background inconsistent on JideOptionPane under Synthetica theme. See the bug report here.
    • (Common) Fixed so that JidePopup could stay in one monitor instead of crossing multiple monitors. See the bug report here.
    • (Common) Fixed the issue that the JidePopupMenu displayed inside a JidePopup might not be dismissed properly when mouse clicking outside the JidePopupMenu. See the bug report here.
    • (Common) Fixed so that JidePopup could stay in one monitor instead of crossing multiple monitors. See the bug report here.
    • (Common) Fixed so that the popup triggered by the tab list button could follow the RTL if the JideTabbedPane is RTL.
    • (Common) Added LabeledTextField#customizePopupMenu() for easier customization.
    • (Common) Added an NPE protection in NavigationComponentHelper.
    • (Common) Fixed so that the DefaultArrayConverterwill be returned if it's newly registered for an array object.
    • (Data) Fixed the issue that "Record 1 of 0" might be displayed which is incorrect. See the bug report here.
    • (Data) Removed the unused "goto" menu item of PageNavigationField.
    • (Decision) Fixed the table column desynchronization issue.
    • (Diff) Fixed the issue that DiffMargin of the third code editor inside CodeEditorMergePane was not painted correctly.
    • (Diff) Fixed the ClassCastException when comparing two tables with the isHighlightExactChange() flag on. See the bug report here.
    • (Diff) Fixed the NPE issue when the compared elements contain an empty element. See the bug report here.
    • (Diff) Made DiffDivider be able to show the current select difference. See the bug report here.
    • (Diff) Improved the painting performance of DiffDivider by painting the visible area only.
    • (Diff) Added default insert/delete implementation for TreeTableModel. See the bug report here.
    • (Dock) Fixed so that the frame won't be selected when clicking middle or right mouse buttons. See the bug report here.
    • (Dock) Fixed so that the disabled DockableFrame won't be able to be activated by clicking or dragging its tab. See the bug report here.
    • (Dock) Added middle mouse button check on mouse handler of DockableFrame's. See the bug report here.
    • (Dock) Fixed so that the frame won't be selected when clicking middle or right mouse buttons. See the bug report here.
    • (Dock) Fixed so that the floated frames could be toggled back to its original position after floating a frame, add a new frame to the floated frame, activate the new frame then toggle the new frame to docked state.
    • (Editor) Fixed the issue that a CodeEditor may not be able to accept importing from Transferable in some scenarios. See the bug report here.
    • (Editor) Fixed so that CodeEditorRowMarginSupport#scrollTo(int, int, boolean) respect the third parameter which indicates if the text should be selected or not. See the bug report here.
    • (Editor) Fixed the issue when constructing a CodeFoldingMargin by default constructor and do not call CodeFoldingMargin#setEditor() immediately will lead to NPE. See the bug report here.
    • (Gantt) Removed unnecessary table model event while resizing a gantt entry. See the bug report here.
    • (Grids) Fixed the issue that the spinner might still be able to be changed on mouse wheel even if NumberSpinnerComboBox is disabled.
    • (Grids) Fixed so that the drop down of an ExComboBox will stay within the screen boundary.
    • (Grids) Fixed so that AutoFilterTableHeader could correctly use the IFilterableTableModel wrapped by another FilterableTableModel created by QuickTableFilterField. See the bug report here.
    • (Grids) Fixed the issue that AutoFilterTableHeader might be using a different FilterableTableModel other than the header itself creates. See the bug report here.
    • (Grids) Made the selected difference always being synchronized with the current selections.
    • (Grids) Fixed the performance regression on column resizing when there is a nested table header with more than a thousand columns.
    • (Grids) Fixed an NPE issue in BeanProperty.
    • (Grids) Changed prepareSelectObject method to protected in ButtonPopupPanel. See the bug report here.
    • (Grids) Fixed the painting issue when CellSpanTable has cell spans and isRowAutoResizes() returns true. See the bug report here.
    • (Grids) Fixed the issue that switching mode between STYLE_FILTER_LIST and STYLE_INLINE_EDITOR in TableCustomFilterEditor could not select the filter condition correctly. See the bug report here.
    • (Grids) Fixed so that the changing the value of the year spinner won't fire action event immediately. See the bug report here.
    • (Grids) Fixed so that the font of the day label is consistent with the font of the week label. See the bug report here.
    • (Grids) Fixed the issue that changing the time in DateChooserPanel could not update the DateComboBox's selected date immediately as DateExComboBox does. See the bug report here.
    • (Grids) Fixed the issue that the JPopupMenu triggered by clicking the month label in DateComboBox could not be dismissed after clicking the other buttons in the DateChooserPanel. See the bug report here.
    • (Grids) Made DefaultGroupTableModel implement EditorStyleTableModel by default. See the bug report here.
    • (Grids) Fixed the DateExComboBox's popup is hidden immediately after showing on Mac if the time is displayed.
    • (Grids) Fixed the AIOOBE issue while removing entries in the original combo box model and a filter is applied on FilterableComboBoxModel. See the bug report here.
    • (Grids) Fixed so that the tree table model wrapped after CalculatedTableModel could be filtered correctly even after collapsed.
    • (Grids) Fixed so that firing table data changed from the original table model could update the information of the expanded child components in HierarchicalTable.
    • (Grids) Fixed so that DefaultGroupTableModel#getCellClassAt() could return correct class type even if the underlying table model did not implement ContextSensitiveTableModel. See the bug report here.
    • (Grids) Fixed the issue that the removed selection which is removed by invoking JTable#removeRowSelectionInterval() came back unexpectedly after sorting.
    • (Grids) Fixed unexpected filter clearing in QuickFilterPane after editing a cell then committing.
    • (Grids) Added TableCustomFilterEditor#createFilterItemPanel() for customization. See the bug report here.
    • (Grids) Fixed the issue that table model changes causes the TableChooserPanel have an incorrect height.
    • (Grids) Fixed so that TreeExComboBox will remove the selected tree path if that tree path is removed from the tree model.
    • (Pivot) Fixed the issue that the context menu to hide values in HeaderTable displays incorrect values while there are more than one DataField.
    • (Pivot) Fixed so that the duplicated data fields could work while saving/loading PivotTablePane to/from a XML file.

    Backward Compatibilities

    • (Data) Added a return value for PageNavigationBar#gotoRecord() which will impact the customer's code compilation of he/she override that method. See the enhancement request here.
    • (Diff) CodeEditorDiffPane changes to CharSequence instead of String and CodeEditorDiffPane#splitString() will no longer get invoked.
    • (Grids) Fixed so that the it doesn't use deprecated UI classes from apple.laf package which means the new release will not work with Mac JDK5 anymore.

    May 1, 2012 - 3.4.0  (Regular Release, changes from 3.3.8)

    Enhancement Requests

    • (Charts) Can now make a pie chart have segments always exploded. See the enhancement request here.
    • (Common) Improved the performance of CachedArrayList.
    • (Diff) Added BasicDiffPane#setSelectOnNavigation() to control the selection behavior on clicking those navigation buttons. See the enhancement request here.
    • (Diff) Added BasicDiffPane#customizeLinesDiff() to make the lines diff customizable.
    • (Diff) Added BasicDiffPane#createLinesDiff() to support line difference for multiple line differences.
    • (Diff) Added CodeEditorDiffPane#createCodeEditor(int) for easier customization. See the enhancement request here.
    • (Diff) Made CodeEditorDiffPane and TableDiffPane support line differences by default. See the enhancement request here.
    • (Grids) Upgraded HssfTableUtils and others to support POI 3.8.
    • (Pivot) Made FieldBox support displaying filter button only when mouse roll over it. See the enhancement request here.
    • (Pivot) Added PivotDataModel#isHighPerformanceMode() to improve performance in bulk data scenario.

    Bug Fixes

    • (Charts) now respects axis coordinate reversal.
    • (Charts) now respects axis reversal property. See the bug report here.
    • (Common) Fixed so that the buttons in OutlookTabbedPane and FloorTabbedPane look better on Mac.
    • (Common) Fixed the issue that StyledLabel#getPreferredSize() might be much wider than necessary when getRows() is a positive value and line breaks exist in its text.
    • (Common) Fixed an NPE issue in Ubuntu.
    • (Common) Added a new constructor in EnumConverter to convert Enum type class easier.
    • (Common) Fixed the StackOverflowError which is a regression since 3.3.7. See the bug report here.
    • (Common) Fixed the AIOOBE issue while TextComponentSearchable find previous however there is no matching any more.
    • (Common) Fixed the issue that JSpinner looks shorter after installing JIDE look and feel extension.
    • (Component) Fixed the issue that the focus might be switched to an invisible component inside a CollapsiblePane if there are multiple CollapsiblePane's inside the same JFrame. See the bug report here.
    • (Diff) Fixed so that the diff marker area will mark correctly when BasicDiffPane#setHighlightExactChange(true). See the bug report here.
    • (Diff) Fixed so that the _fromComponent could be different with _fromEditor as long as _fromComponent contains a CodeEditor. Same as _toComponent and _toEditor. See the bug report here.
    • (Diff) Fixed so that CodeEditorDiffPane could support line difference. See the bug report here.
    • (Diff) Fixed so that the color in DiffDivider matches the right pane in BasicDiffPane.
    • (Dock) Fixed the focus switching issue while closing DockableFrame's inside the Workspace.
    • (Editor) Fixed exception when entering Chinese characters into a CodeEditor on Mac OS X. See the bug report here.
    • (Feed) Fixed the SQL exception while reloading feeds.
    • (Gantt) Fixed the issue that the period background painter could not be printed correctly. See the bug report here.
    • (Grids) Fixed the issue that invoking TableUtils#setTablePreferenceByName() caused the header style model disrespect the setting of header wrap APIs. See the bug report here.
    • (Grids) Fixed the previous selected date was not cleared when selecting a new date in the CalendarViewer. See the bug report here.
    • (Grids) Added protection so that CellSpanTable#getCellSpanAt() won't throw AIOOBE if the column is larger than getColumnCount(). See the bug report here.
    • (Grids) Fixed an NPE issue while dragging cells to excel without TableUndoableSupport in the table's model chain. See the bug report here.
    • (Grids) Fixed the sorting issue when CalculatedTableModel wraps FilterableTreeTableModel.
    • (Grids) Fixed so that TableUtils#autoResizeAllColumns() will respect StyledLabel#getRows() when StyledLabel#isLineWrap() returns true. See the bug report here.
    • (Pivot) Fixed so that changing a row in the original table model would be able to update the AggregateTable automatically when PivotDataModel#isAutoUpdate() returns true. See the bug report here.
    • (Pivot) Improved performance and reduced the memory usage when PivotDataModel#isHighPerformanceMode() returns true by combining two hierarchical data lists and eliminating the unnecessary tree navigation if there is no subtotal configured in the row/column fields.
    • (Pivot) Fixed the issue that inserting a new row in the original table model may refresh the PivotTablePane in incorrect position if one row field is unsorted however the other one is sorted ascending or descending.
    • (Pivot) Make PivotTablePersistenceUtils persist PivotDataModel#isLayoutDataFieldsFirst() and PivotDataModel#isAlwaysRowDataFields().
    • (Pivot) Improved the painting performance for PivotTablePane if it has a big number of row count or column count in its DataTable. See the bug report here.
    • (Pivot) Fixed the issue that the column width of the row header table was incorrect when invoking PivotDataModel#setLayoutDataFieldsFirst() dynamically and PivotDataModel#isAlwaysRowDataFields() returns true.

    May 15, 2012 - 3.3.9  (Maintenance Release, changes from 3.3.8)

    Bug Fixes

    • (Common) Added an NPE protection in NavigationComponentHelper.
    • (Common) Fixed the StackOverflowError which is a regression since 3.3.7. See the bug report here.
    • (Common) Fixed the AIOOBE issue while TextComponentSearchable find previous however there is no matching any more.
    • (Common) Fixed the issue that JSpinner looks shorter after installing JIDE look and feel extension.
    • (Component) Fixed the issue that the focus might be switched to an invisible component inside a CollapsiblePane if there are multiple CollapsiblePane's inside the same JFrame. See the bug report here.
    • (Dock) Fixed the focus switching issue while closing DockableFrame's inside the Workspace.
    • (Editor) Fixed exception when entering Chinese characters into a CodeEditor on Mac OS X. See the bug report here.
    • (Grids) Fixed the issue that AutoFilterTableHeader might be using a different FilterableTableModel other than the header itself creates. See the bug report here.
    • (Grids) Fixed the issue that invoking TableUtils#setTablePreferenceByName() caused the header style model disrespect the setting of header wrap APIs. See the bug report here.
    • (Grids) Fixed the performance regression on column resizing when there is a nested table header with more than a thousand columns.
    • (Grids) Fixed an NPE issue in BeanProperty.
    • (Pivot) Fixed the issue that the context menu to hide values in HeaderTable displays incorrect values while there are more than one DataField.
    • (Pivot) Added PivotTablePane#setDataFieldsDuplicationEnabled() to control the data fields duplication behavior and turned off the feature by default. See the bug report here.

    April 18, 2012 - 3.3.8  (Regular Release, changes from 3.3.7)

    Enhancement Requests

    • (Charts) Improved repaint performance during animation.
    • (Component) Added system property DocumentPane.autoActivateFocusOwner so that the Document will not be activated automatically when the focus component is changed.
    • (Dashboard) Added GadgetPalette#paintBackground() so that the background could be customized easier.
    • (Editor) Added AbstractCodeEditorIntelliHints#setDelimiters() so that new delimiters other than SPACE and TAB could be set easier. See the enhancement request here.
    • (Grids) Added CsvTableExportConfig to reduce the number of export methods in CsvTableUtils. See the enhancement request here.
    • (Grids) Supports setting a charset in the export method of CsvTableUtils by introducing CsvTableExportConfig. See the enhancement request here.
    • (Grids) Made GroupTableHeader support auto filter feature if a FilterableTableModel is installed under the DefaultGroupTableModel. See the enhancement request here.
    • (Pivot) Added PivotTableModel#setLayoutDataFieldsFirst() to toggle the layout of data fields in the first level or last.
    • (Pivot) Added duplicated data fields feature.

    Bug Fixes

    • (Charts) Fixes a painting problem seen when using a translucent background colour.
    • (Charts) Now correctly resets the renderer when switching to texture fill.
    • (Common) Added JideSplitPaneDivider#getCurrentState().
    • (Common) Fixed the ambigious instance check issue at MetalPainter#drawGradient(). See the bug report here.
    • (Common) Fixed so that the change event fired on pressing arrow key on RangeSlider has RangeSlider#getValueIsAdjust() set to true.
    • (Common) Remove a console output in StyledLabelBuilder.
    • (Component) Fixed so that the painting of the navigation components could be customized easier. See the bug report here.
    • (Dashboard) Added name for those two buttons in DashboardTabbedPane#getToolBarComponent(). See the bug report here.
    • (Diff) Changed the signature of createLineDiff method in BasicDiffPane. See the bug report here.
    • (Gantt) Fixed the issue that ScaleArea could not be printed correctly. See the bug report here.
    • (Grids) Fixed the NPE issue while invoking FilterableTreeModel#nodeChanged() after filtering. See the bug report here.
    • (Grids) Fixed so that the foreground configured in HeaderStyleModel will be respected even if AutoFilterTableHeader#isUseNativeHeaderRenderer() returns false.
    • (Grids) Fixed so that AutoFilterTableHeader#clearFilters() clears only the filters that were created by AutoFilterTableHeader.
    • (Grids) Fixed so that HierarchicalTable could paint grids color correctly respecting GridColorProvider#getVerticalGridColor(). See the bug report here.
    • (Grids) Fixed so that ButtonPopupPanel will get the ok/cancel text from UIDefaults respecting the component's locale. See the bug report here.
    • (Grids) Fixed the issue that DefaultGroupTableModel#getActualColumnAt() returns incorrect value when there is no group column and DefaultGroupTableModel#isDisplayCountColumn() returns true.
    • (Grids) Fixed so that ComboBoxShrinkSearchableSupport could work well with ExComboBox#setKeepPopupSize(true). See the bug report here.
    • (Grids) Fixed a regression since 3.3.3 that the selected row is scrolled to visible incorrectly when the selected row is updated.
    • (Grids) Fixed so that the new columns added by CalculatedTableModel could be sorted and filtered correctly if the inner most table model is an instance of TreeTableModel.
    • (Grids) Fixed the issue that installing a SortableTable in a TableExComboBox will make TableComboBoxShrinkSearchableSupport work incorrectly. See the bug report here.
    • (Grids) Fixed so that TableExComboBox#getPreferredSize() will be changed once the underlying table model is updated. See the bug report here.
    • (Grids) Fixed the issue that the memory usage keeps growing on updating a TreeTable. See the bug report here.
    • (Pivot) Fixed the issue that AggregateTableModel#getActualRowAt() returns incorrect row index if AggregaetTableModel#setShowSummary(true) and the key has only one child row in the original table model.
    • (Pivot) Fixed the issue that invoking PivotDataModel#calculate() without changing the row/column fields causes the hidden values being cleared. See the bug report here.

    March 27, 2012 - 3.3.7  (Regular Release, changes from 3.3.6)

    Enhancement Requests

    • (Charts) Made it possible to switch off horizontal or vertical line of cross hair. See the enhancement request here.
    • (Common) Moved CacheMap, RegistrationEvent and RegistrationListener to com.jidesoft.utils package.
    • (Common) Can now specify for the categories to be sorted.
    • (Component) Added TableRowExpandedTip#setShowHeaderTip() to control if the table header's expanded tip should be displayed as well when a ExpandedTip is displayed for a table row. See the enhancement request here.
    • (Document) Added new dialog floating container type to DocumentPane which can be changed using DocumentPane setFloatingContainerType.
    • (Example) Added a CheckBoxTableDemo utilizing HeaderStyleModel and CheckBoxIcon.
    • (Grids) Added flag to not paint the cell span as selected in CellSpanTable.
    • (Grids) Fixed so that the cell spans that cross rows will not be painted as selected even if it's indeed selected.
    • (Grids) Made DefaultColumnTableModelWrapper implement ITreeTableModel so that CalculatedTableModel could wrap TreeTableModel well.
    • (Grids) Added TableScrollPaneSearchable#setSearchColumnIndices() to allow the searchable working on multiple but not all columns. See the enhancement request here.
    • (Grids) Added TreeTableModel#cacheAll()/invalidateCache() for performance improving customization.
    • (Pivot) Added PivotDataModel#getCompoundKeyAt(int. See the enhancement request here.
    • (Shortcut) Added the shortcut keys in the list for quick reading of the shortcuts.

    Bug Fixes

    • (Charts) Fixed paint problem for translucent colours on chart background.
    • (Charts) Fixed NPE that occurs when calling chart.containingShapes on a bar chart and there are bars with height of zero. See the bug report here.
    • (Charts) Selection line now respects pie thickness ratio.
    • (Common) Fixed the ClassCastException when JideButton working with SwingBuilder. See the bug report here.
    • (Common) Fixed the ClassCastException while adding BasicJideComboBoxButton to WindowBuilder Pro. See the bug report here.
    • (Common) Fixed so that trailing components of JideTabbedPane could work well in RTL model.
    • (Common) Fixed a potential Divide by Zero issue in StyledLabel. See the bug report here.
    • (Common) Fixed so that the basic styled label has a best fit preferred size. See the bug report here.
    • (Common) Fixed the StyledLabel painting issue while only line breaks present in the StyledLabel however StyledLabel#isLineWrap() returns false. See the bug report here.
    • (Common) Fixed so that StyledLabel#getRows() could be respected when the text contains line breaks. See the bug report here.
    • (Common) Fixed the StyledLabel painting issue when setMaxRows() is invoked and the physical lines are more that. See the bug report here.
    • (Common) Fixed the painting issue in CheckBoxTree if the CheckBox.icon has a large icon.
    • (Common) Override hashcode() of IntegerRange/NumericRange/TimeRange to match the equals() method. See the bug report here.
    • (Common) Fixed selected JideSplitButton display issue on Synthetica. See the bug report here.
    • (Common) Fixed so that closing a document could makes the active document scroll to visible in DocumentPane. See the bug report here.
    • (Common) Fixed the issue that StyledLabelBuilder may fall into an infinite loop while parsing text like "{xx}:xx". See the bug report here.
    • (Common) Fixed so that the default action for ESCAPE will be executed if there is no highlights created by TextComponentSearchable.
    • (Component) Fixed the focus managing issue in DocumentPane. See the bug report here.
    • (Component) Fixed the issue that ExpandedTip didn't work well with the table header inside GanttChartPane. See the bug report here.
    • (Component) Fixed the issue that moving mouse from a table to its table header will not be able to show the TableHeaderExpandedTip even if the ExpandedTip is installed for the table header.
    • (Diff) Fixed the issue that the clicking the marker area of CodeEditorDiffPane or CodeEditorMergePane could not move the mouse to the correct caret position. See the bug report here.
    • (Diff) Fixed so that the navigation buttons in CodeEditorDiffPane could work as expected. See the bug report here.
    • (Dock) Fixed so that DockingManager#removeFrame() could remove a frame that has already been moved to another DockingManager. See the bug report here.
    • (Dock) Fixed so that the maximize button will be disabled when DockableFrame#setMaximizable(false) is called. See the bug report here.
    • (Editor) Fixed the regression in 3.3.6 that caret stops blinking after moving caret very fast.
    • (Editor) Fixed the issue that any searching text contains ":" could not be displayed correctly in the search result panel. See the bug report here.
    • (Editor) Fixed so that pressing TAB will inserting spaces to the left of the selected text if CodeEditor#isColumnSelection() returns true. See the bug report here.
    • (Editor) Fixed the regression that CodeEditor#getResourceString() didn't get invoked for keys start with "FindAndReplace" since 3.3.4. See the bug report here.
    • (Editor) Fixed the issue that searching "a|b" in CodeEditor could not get correct match. See the bug report here.
    • (Gantt) Fixed a potential NPE issue on dragging a gantt entry. See the bug report here.
    • (Gantt) Fixed so that the relation in GanttChart could be painted different colors for different relations. See the bug report here.
    • (Grids) Fixed the AIOOBE issue when an AutoFilterTableHeader is installed over an AggregateTable and AutoFilterTableHeader#isUseNativeHeaderRenderer() returns false.
    • (Grids) Fixed so that the filter button won't be visible if the column is too narrow to show it in AutoFilterTableHeader.
    • (Grids) Fixed so that NestedTableHeader won't paint the TableColumnGroup with extra height when AutoFilterTableHeader#isAcceptTextInput() returns true. See the bug report here.
    • (Grids) Fixed so that AutoFilterTableHeader could respect the ToolTipSupport even if AutoFilterTableHeader#isShowFilterNameAsToolTip() returns true. See the bug report here.
    • (Grids) Fixed so that FilterableTableModel#getTitleConverter() could be respected when AutoFilterTableHeader#isUseNativeHeaderRenderer() returns true.
    • (Grids) Fixed so that the header renderer set to TableColumn will be respected even if AutoFilterTableHeader#isAutoFilterEnabled() returns true. See the bug report here.
    • (Grids) Fixed so that GridColorProvider#getVerticalGridColor() will be respected for a CellSpanTable.
    • (Grids) Fixed so that GroupTableHeader#setVerticalIndention() could be respected correctly.
    • (Grids) Fixed so that BeanProperty try its best not throw IllegalAccessException while accessing a field. See the bug report here.
    • (Grids) Improved the performance of key navigation over CellSpanTable. See the bug report here.
    • (Grids) Fixed NPE in TableExComboBox on Mac when updateUI is called more than once. See the bug report here.
    • (Grids) Fixed the customize popup using UIDefault ExComboBox.comboBoxPopup is not used. See the bug report here.
    • (Grids) Fixed the issue that filters might be cleared incorrectly on receiving table structure changed event if FilterableTableModel#isFilterApplied() returns false however isClearFiltersOnStructureChanged() returns false.
    • (Grids) Fixed the issue that HierarchicalTable is possible to mess up its child components on inserting new rows. See the bug report here.
    • (Grids) Fixed the NPE issue while exporting a table to excel if table.getColumnName() returns null.
    • (Grids) Fixed so that AUTO_RESIZE_FILL could paint the table area correctly when the table is inside a TableScrollPane and is empty. See the bug report here.
    • (Grids) Fixed the regression since 3.3.3 that the TableScrollPane could have duplicated cells in editing status. See the bug report here.
    • (Grids) Fixed the NPE while adding PropertyTable to WindowBuilder Pro. See the bug report here.
    • (Grids) Fixed so that TableChooserPanel#setmaximumRowCount() will calculate the preferred scrollable viewport height correctly.
    • (Grids) Fixed the issue that TableColumnChooser#CLIENT_PROPERTY_COLUMN_SORT_ORDER was not respected in TableColumnChooserDialog. See the bug report here.
    • (Grids) Fixed a StackOverflowError while TableScrollPane creates tables with AUTO_RESIZE_FILL. See the bug report here.
    • (Grids) Fixed so that TableUtils#autoResizeAllColumns() is thread safe. See the bug report here.
    • (Pivot) Added a protection for NPE if the customer happens to invoke PivotField#setFilteredPossibleValues() inside PivotDataSource#getPossibleValues().
    • (Pivot) Fixed the potential NPE if PivotDataModel#getFields() has inconsistent order with PivotField#getModelIndex().
    • (Pivot) Fixed the issue that CTRL+mouse click on column header table didn't paint the selections in DataTable correctly. See the bug report here.

    March 1, 2012 - 3.3.6  (Regular Release, changes from 3.3.5)

    Enhancement Requests

    • (Common) Added setShowHintTextWhenFocused flag to LabeledTextField so that the hint text can still be shown when the text field has focus.
    • (Common) Register a secondary collator to ObjectComparatorManager.
    • (Gantt) Added UIDefaults entries to customize the color of the relationship lines in GanttChart. See the enhancement request here.
    • (Grids) Added ExComboBox#customizeDialog()/customizeDialogLocation() for customizing dialog easier. See the enhancement request here.
    • (Grids) Added a new client property CLIENT_PROPERTY_COLUMN_SORT_ORDER to TableColumnChooser to allow user specifying the sort order of the columns in the chooser dialog. See the enhancement request here.
    • (Grids) Added FilterFactoryWithEditorProperty to manage the editable property of the combo box in ValueEditor. See the enhancement request here.
    • (TreeMap) Made circular layout centered by default.

    Bug Fixes

    • (Charts) Now snaps to point when there is only one point in the model. See the bug report here.
    • (Common) Fixed so that CheckBoxList will respect the preferred size of CheckBoxIcon.
    • (Common) Fixed the combobox popup is showing in AutoCompletion when typing. See the bug report here.
    • (Common) Fixed a potential Flashable repaint issue. See the bug report here.
    • (Common) Fixed the selected menu item doesn't have a background color on Mac OS X.
    • (Common) Fixed the issue that unnecessary popup menu events may be fired when ShrinkSearchableSupport is installed over the combo box.
    • (Common) Fixed the issue that JidePopup#getPopupLocation() may return incorrect location which makes the popup displays only a part in the screen. See the bug report here.
    • (Common) Improved the performance of license validation.
    • (Common) Added default registration for array type. See the bug report here.
    • (Component) Fixed the regression in 3.3.5 that CollapsiblePane's child component were set invisible on collapsing. See the bug report here.
    • (Component) Fixed the infinite focus switching issue while dragging to create a new IDocumentGroup. See the bug report here.
    • (Dashboard) Fixed the issue that adding a dashboard then removing it didn't update the active dashboard correctly in GadgetManager. See the bug report here.
    • (Dock) Fixed the issue that DockingManager#isWithinFrameBoundsOnDragging() does not get honored in some dragging behaviors. See the bug report here.
    • (Editor) Removed the static field to manage caret blinking in each CodeEditor itself. See the bug report here.
    • (Gantt) Fixed the issue that invoking GanttChart#setScaleArea() caused the table header desync with the scale area. See the bug report here.
    • (Grids) Fixed the auto resizing issue if AutoFilterTableHeader#isAcceptTextInput() returns true. See the bug report here.
    • (Grids) Fixed the StackOverflowError when removing a node from CheckBoxListSelectionModelWithWrapper.
    • (Grids) Fixed so that the CustomFilterEditor will use registered ConverterContext to convert when Object.class or Comparable.class is used for FilterFactoryManager. See the bug report here.
    • (Grids) Fixed so that invoking ExComboBox#getDialogOKAction()#setEnabled(false) could disable the OK button immediately without the need of hiding and showing the ExComboBoxPopup.
    • (Grids) Added default filter factory registration for Object.class and Comparator.class. See the bug report here.
    • (Grids) Fixed the regression in GroupTable that collapsing a row caused the selection changed unexpectedly.
    • (Grids) Fixed the group row issue while exporting TreeTable to excel. See the bug report here.
    • (Grids) Fixed the issue that ListExComboBox does not update the size of its popup panel when ShrinkSearchSupport is installed.
    • (Grids) Fixed so that MetalExComboBoxUI could read the entry at UIDefaults to customize its ExComboBoxPopup.
    • (Grids) Fixed the cell rollover effect is not removed when rearranging the column in HyperlinkCellDemo. See the bug report here.
    • (Grids) Fixed the issue that popup panel of TableExComboBox is too high. See the bug report here.
    • (Grids) Fixed the issue that the ShrinkSearchableSupport does not work if TableExComboBoxSearchable#setMainIndex(-1) is invoked. See the bug report here.
    • (Grids) Fixed the JDK5 compatibility issue in CellStyleTableHeader.
    • (Pivot) Fixed the setColumnVisible uses the visible flag in an opposite way. See the bug report here.

    Backward Compatibilies

    • (Common) The performance of license validation is improved which requires you update all JIDE jars to avoid any license validation exception.

    February 15, 2012 - 3.3.5  (Regular Release, changes from 3.3.4)

    Enhancement Requests

    • (Charts) Added a class with a method to compute the area under a curve.
    • (Charts) Added support for the cyclic property on TableToChartAdapter. See the enhancement request here.
    • (Grids) Added CellStyle#mergeCellStyle() for easier customization. See the enhancement request here.
    • (Grids) Added DnD support for DualList.
    • (Grids) Made DualTable support DnD between the original table and the selected table.
    • (Grids) Fixed so that controlling ExComboBox#getDialogOKAction()/getDialogCancelAction() could refresh the buttons in the dialog.
    • (Grids) Use variable arguments for the constructor of AndFilter and OrFilter.
    • (Grids) Added ListUndoableSupport to support DnD and Und/Redo action.

    Bug Fixes

    • (Charts) Fixed bar highlight problem for stacked bar charts. See the bug report here.
    • (Charts) Fixed bar chart painting problem. See the bug report here.
    • (Charts) Fixes a problem that may prevent tick labels from being displayed in a categorical axis.
    • (Charts) Fixed bug that affected performance of lazy rendering.
    • (Charts) Fixed demo so that trend line is a single color rather than multicolored.
    • (Common) Fixed so that AutoCompletion could work well with ShrinkSearchableSupport while isStrict() is true. See the bug report here.
    • (Common) Fixed the preferred size calculation issue if StyledLabel has an explicit line break in its text. See the bug report here.
    • (Common) Fixed so that CheckBoxList#updateUI() would keep the customized cell renderer no change.
    • (Common) Fixed the popup flickering issue when doing the quick search. See the bug report here.
    • (Common) Fixed the NPE issue if StyledToolTip.setText(null) is invoked.
    • (Component) Fixed so that the components inside CollapsiblePane won't grab focus when the CollapsiblePane is collapsed. See the bug report here.
    • (Component) Fixed so that the preferred size is not calculated all the time in StatusBar.
    • (Components) Fixed Overwrite and Insert strings are not i18ned.
    • (Dashboard) Fixed so that the Dashboard#setShowGripper() could always work if it gets invoked before GadgetManager#addDashboard().
    • (Dock) Fixed so that the DockableFrame could be dropped as the outline contour indicates.
    • (Dock) Fixed the issue that DefaultDockingManager could not restore the maximized tabs correctly after maximizing one entire FrameContainer with multiple DockableFrame's.
    • (Dock) Fixed so that showFrame will show the autohidden frame without the side button. See the bug report here.
    • (Dock) Fixed the NPE issue on DockingPersistenceUtils#compare(). See the bug report here.
    • (Gantt) Fixed the issue that dragging a gantt entry to extend the ScaleArea didn't update the horizontal scroll bar immediately.
    • (Gantt) Fixed so that adding a subentry could update UI immediately. See the bug report here.
    • (Grids) Fixed the row margin painting issue when the row is scrolled down a little bit.
    • (Grids) Fixed some painting artifacts for row margin.
    • (Grids) Fixed the issue that TableScrollPane's default preferred size when empty is too small. See the bug report here.
    • (Grids) Fixed so that AutoFilterTableHeader could show "Custom..." even if isAllowMultipleValues() returns true. See the bug report here.
    • (Grids) Fixed so that AutoFilterTableHeader#setShowSortArrow() could be respected.
    • (Grids) Fixed the issue that SortableTableHeader#setCursor() to a non-default cursor will cause the SortableTableHeader not able to be sorted by clicking the header. See the bug report here.
    • (Grids) Added CheckBoxListSelectionModelWithWrapper to replace FilterableCheckBoxListSelectionModel to manage the selections well when there is a SortableListModel installed. See the bug report here.
    • (Grids) Fixed so that ColorComboBox does not accept null color input if both isInvalidValueAllowed() and isAllowDefaultColor() returns false.
    • (Grids) Fixed so that ComboBoxShrinkSearchableSupport could work well with CellEditor. See the bug report here.
    • (Grids) Fixed the NPE at CustomFilterEditor. See the bug report here.
    • (Grids) Fixed the issue that clearing filter may not re-filter correctly. See the bug report here.
    • (Grids) Fixed the issue that clearing the text of a FormattedTextFieldCellEditor may cause it not able to edit any more.
    • (Grids) Fixed the NPE issue for HierarchicalTable#getChildComponentAt() if no row inside the HierarchicalTable is ever expanded.
    • (Grids) Fixed so that invoking TableColumn#setHeaderValue() could refresh the header immediately.
    • (Grids) Fixed the issue that sometimes the auto fill part is not painted correctly following the drag distance if the auto resize mode is AUTO_RESIZE_FILL. See the bug report here.
    • (Grids) Fixed the AIOOBE issue when dropping the row to the end of a table.
    • (Grids) Fixed the AIOOBE issue while dragging in a non contiguous selection table.
    • (Grids) Fixed the NPE issue on LazyList#remove().
    • (Grids) Fixed so that input a search string with SPACE in LuceneQuickTableFilterField could filter correctly.
    • (Grids) Fixed the regression in 3.3.4 that QuickFilterPane's CheckBoxList does not work correctly.
    • (Grids) Improved the performance of TableColumnChooser#showColumns() and TableUtils#saveColumnOrders(). See the bug report here.
    • (Grids) Fixed so that TableColumnChooserPopupMenuCustomizer#setHiddenColumns()/setFixedColumns() could work even if the contents are not in order. See the bug report here.
    • (Grids) Fixed so that TableColumnChooserPopupMenuCustomizer#setHiddenColumns()/setFixedColumns() would respect the actual column index in GroupTable. See the bug report here.
    • (Grids) Fixed the inconsistent matching behavior between TableComboBoxShrinkSearchableSupport and TableComboBoxSearchable. See the bug report here.
    • (Grids) Fixed so that TableCustomFilterEditor#setAndMode() could always be respected. See the bug report here.
    • (Grids) Fixed the issue that the painted row number in margin is incorrect when there is a CellSpan in the first column spanning rows.
    • (Grids) Added NPE check in WildcardFilter. See the bug report here.
    • (Pivot) Fixed the issue that CTRL+mouse click on row header table didn't paint the selections in DataTable correctly. See the bug report here.
    • (TreeMap) Potential infinite loop with background rendering.
    • (TreeMap) Aggregation combo box does not update the view.
    • (TreeMap) Global 2000 dataset contains leading spaces.

    January 25, 2012 - 3.3.4  (Regular Release, changes from 3.3.3)

    Enhancement Requests

    • (Common) Added CheckBoxListSelectionModel#setCheckAllEntry() to control the default behavior of CheckBoxList for "all" entry.
    • (Common) Added isEnsureFontExistence to FontNameConverter.
    • (Common) Added IconBorder class which can paint an icon as part of the border which is perfect to be used in the table cell through the CellStyle feature.
    • (Common) Added a new component StyledToolTip.
    • (Component) Set tooltip to the PregressStatusBarItem so that the message can still be shown even when the message is too long.
    • (Grids) Fixed so that CellStyleTableHeader could support the new StyledToolTip.
    • (Grids) Added overlayCellPainter and underlayCellPainter to CellStyle.
    • (Grids) Added HeaderLineWrapModel interface to configure the line wrap properties for column header easier.
    • (Grids) Added paintCellUnderlay method to paint the cell background below the cell content.
    • (Grids) Added JideTableTransferHandler to accept importing data by default.
    • (Grids) Added MarginExpandablePanel#getIcon(Node) to customize the icon easier.
    • (Pivot) Added two APIs in PivotTablePane to customize the data table selection behavior. See the enhancement request here.
    • (TreeMap) Improved robustness of colormap creation.
    • (TreeMap) Added support for opening File instances through context menu.
    • (TreeMap) Added support for ordering by ascending sizes.

    Bug Fixes

    • (Charts) Eliminated possible NPE when setting axis.
    • (Common) Fixed so that the last several rows larger than StyledLabel#getMaxRows() will not count into the preferred size. See the bug report here.
    • (Common) Fixed so that the "..." could be painted if line breaks exist in the StyledLabel and maxRows are configured. See the bug report here.
    • (Common) Fixed the issue that CheckBoxTreeSelectionModel keeps the selections in the old model incorrectly when CheckBoxTreeSelectionModel#setMode() is invoked. See the bug report here.
    • (Common) Added more default options to convert a string back to a Calendar instance. See the bug report here.
    • (Common) Fixed JideTabbedPane's close button is not readable on some L&Fs. See the bug report here.
    • (Common) Fixed a regression in 3.2.0 that Alloy has a wrong painter registered in UIDefaults. See the bug report here.
    • (Dock) Fixed the unnecessary DockableFrameEvent while invoking DefaultDockingManager#dispose(). See the bug report here.
    • (Grids) Fixed the issue that NestedTableHeader could not paint the TableColumnGroup with correct title if NestedTableHeader#isUseNativeHeaderRenderer() returns false. See the bug report here.
    • (Grids) Fixed the regression in 3.3.3 that AutoFilterTableHeader could not clear filter if isAllowMultipleValues() returns true.
    • (Grids) Fixed so that AutoFilterTableHeader#isAllowMultipleValues(int) could be respected correctly when AutoFilterTableHeader#isUseNativeHeaderRenderer() returns true.
    • (Grids) Fixed the issue that the roll over column is not painted correctly while a column is dragged. See the bug report here.
    • (Grids) Fixed the issue that the row height of the NestedTableHeader is not updated immediately when resizing the columns. See the bug report here.
    • (Grids) Fixed the issue that CellSpanTable paints the CellSpan incorrectly due to invalid cache while the model is changed.
    • (Grids) Adjusted the painting behavior for GroupTable when DefaultGroupTableModel#setKeepColumnOrder(true)/setDisplayGroupColumns(true) is invoked. See the bug report here.
    • (Grids) Fixed so that the filtering icon could be painted to indicate that the column has filter even if the column is grouped in GroupTableHeader.
    • (Grids) Fixed the issue that the menu item is in correct when right click the first several column of row header table or the first several row of column header table.
    • (Grids) Fixed so that the JideTable#editCellAt() has similar logic with JTable#editCellAt().
    • (Grids) Fixed potential StackOverflowError in ShrinkSearchableSupport.
    • (Grids) Removed hidden values and columns while rearranging the PivotTablePane.
    • (Grids) Fixed the potential StackOverflowError while installing more than one ShrinkSearchableSupport over a component.
    • (Grids) Fixed the issue that TableColumnGroup can't get its preferred width calculated correctly in TableUtils#autoResizeColumn().
    • (Grids) Fixed so that invoking JideTable#setColumnAutoResizable(true) before JTable#setTableHeader() could still work.
    • (Grids) Fixed so that TreeTable will respect the tree indent while calculating the preferred width at TableUtils#autoResizeAllColumns().
    • (Grids) Fixed the issue that invoking TreeExComboBox#setTreeModel() after showing the popup could not update the tree model correctly. See the bug report here.
    • (Grids) Added "All" entry for CheckBoxListExComboBox in ValueEditor.
    • (Pivot) Fixed the layout issue of FieldSettingsPanel if the target field is DataField only.
    • (Pivot) Fixed the issue that clicking on the row/column edge of the HeaderTable could not select the cell in the HeaderTable or entire row/column in the DataTable.
    • (TreeMap) Corrected squarified algorithm to support null values in conjunction with custom ordering.

    January 10, 2012 - 3.3.3  (Regular Release, changes from 3.3.2)

    Enhancement Requests

    • (Charts) Records positions of rendered lines to provide better support for hit testing on lines.
    • (Charts) Can configure to disable selection during drag events.
    • (Common) Added an option to allow an (All) item in the CheckBoxList.
    • (Common) Added CheckBoxListSelectionModel#setCheckAllEntry() to control the default behavior of CheckBoxList for "all" entry.
    • (Common) Added IconBorder class which can paint an icon as part of the border which is perfect to be used in the table cell through the CellStyle feature.
    • (Common) Added flat layout option for JideScrollPane.
    • (Common) Added JideTabbedPane#setShowCloseButtonOnMouseOver() so that the close button on tab would only be visible when the mouse is over the tab. See the enhancement request here.
    • (Gantt) Added adjusting flag to GanttEntry and it can be used to filter unnecessary events when resizing or moving the gantt entry.
    • (Grids) Added DateExComboBox#createDateChooserPanel() for easier customization.
    • (Grids) Fixed to use heavy-weight Searchable popup on CheckBoxListChooserPanel and MultiSelectListChooserPanel.
    • (Pivot) Added "show" menu item in HeaderTable to show individual hidden values.
    • (Pivot) Improved the performance of the pivot table by using Comparable to compare.
    • (Pivot) Added setHideRedundantSubtotal method to PivotDataModel.
    • (Pivot) Added PivotTablePane#setFlatLayout(true) to enable the scrolling of row header table. See the enhancement request here.
    • (Searchable) Added ShrinkSearchable support to editable JComboBox and ExComboBox.

    Bug Fixes

    • (Action) Fixed the dockable bar layout issue while isStretch() is on and two dockable bars are enforced on the same row. See the bug report here.
    • (Charts) Can now detect selection on top and side area of 3d bars as well as front.
    • (Charts) Fixes bug in rollover highlight effect on CategoricalChartDemo.
    • (Charts) Fixes problem where pie labels were not cleared from component when switching from pie to XY chart. See the bug report here.
    • (Charts) Copy constructor now copies BarWidthProportion property.
    • (Common) Fixed the styled label painting issue in cell renderer. See the bug report here.
    • (Common) Fixed so that the StyledLabel could layout correctly when right alignment and the horizontal text position is left. See the bug report here.
    • (Common) Fixed JideTabbedPane's close button is not readable on some L&Fs. See the bug report here.
    • (Common) Fixed so that exporting PivotTablePane to XML would respect the default encoding. See the bug report here.
    • (Common) Replace the usage of Path2D with GeneralPath so that it is compatible with JDK5. See the bug report here.
    • (Common) Fixed so that "\" preceding ""{"" will always be considered a escape character". See the bug report here.
    • (Common) Fixed a typo in StyledLabelBuilder. See the bug report here.
    • (Common) Fixed the selected tab color is not readable on SyntheticaBlackEye theme. See the bug report here.
    • (Component) Fixed so that the proportional layout could be persisted when xml format is not in use.
    • (Component) Fixed the mouse repaint artifact in a non-opaque NavigationList that is not in a JScrollPane. See the bug report here.
    • (Dock) Removed the error print while DefaultDockingManager loading an incorrect XML file. See the bug report here.
    • (Dock) Fixed so that DefaultDockingManager#loadLayoutData could return false when the layout file is in XML format. See the bug report here.
    • (Editor) Fixed the horizontal scroll bar updating issue in CodeEditor which is a regression in 3.3.1. See the bug report here.
    • (Editor) Fixed the infinite loop issue while pressing CTRL+B in CodeEditor.
    • (Editor) Fixed the wrong properties was referred in the CodeEditorFindAndReplaceTarget.
    • (Editor) Fixed the issue that dragging to a non-editable CodeEditor might throw exception. See the bug report here.
    • (Editor) Fixed so that dragging text in CodeEditor with CTRL down could copy the selected text at new position while keeping the original copy unchanged. See the bug report here.
    • (Editor) Fixed the issue that searching in the scope of column selection cannot highlight the matching correctly.
    • (Editor) Fixed the issue that pressing a char when column selection is enabled could not input char correctly.
    • (Editor) Fixed the issue that moving to next/last line may move the caret to an incorrect column if CodeEditor#isVirtualSpaceAllowed() returns false. See the bug report here.
    • (Editor) Fixed the issue that the mouse cursor is changed to HAND cursor at incorrect position in CodeEditor. See the bug report here.
    • (Example) Fixed the issue that source code of MarginSupportDemo is not able to be browsed correctly. See the bug report here.
    • (Example) Removed the red line that shows the alignment between the margin and the table/tree/list. See the bug report here.
    • (Grids) Fixed the issue that NestedTableHeader could not paint the TableColumnGroup with correct title if NestedTableHeader#isUseNativeHeaderRenderer() returns false. See the bug report here.
    • (Grids) Fixed so that isAllowMultipleValues() could work well with isAcceptTextInput() in AutoFilterTableHeader. See the bug report here.
    • (Grids) Fixed so that AutoFilterTableHeader#isAllowMultipleValues(int) could be respected correctly when AutoFilterTableHeader#isUseNativeHeaderRenderer() returns true.
    • (Grids) Fixed the issue that sometimes the column could be dragged outside of its parent TableColumnGroup incorrectly.
    • (Grids) Fixed so that CellSpanTable#isCellSelected() could return correct value when JideTable#isNonContiguousCellSelection() is true.
    • (Grids) Improved the usability of the condition combo box in CustomFilterEditor when the preferred size is not wide enough to show the condition string. See the bug report here.
    • (Grids) Fixed so that invoking DefaultDateSelectionModel#setSelectionMode() with the same parameter will not re-create the selection model which will cause the existing date selection disappeared silently.
    • (Grids) Fixed so that the ExComboBox drop down will be shown when in Searchable even when there is no match for the searching text.
    • (Grids) Fixed so that HssfTableUtils could work well with POI 3.8. See the bug report here.
    • (Grids) Fixed so that HyperlinkTableCellEditorRenderer could work well with NavigationTreeTable. See the bug report here.
    • (Grids) Fixed the cell doesn't start editing on the first click when using overlayable. See the bug report here.
    • (Grids) Fixed the issue that TreeTable could not repaint well after expanding a row if isRowAutoResizes() returns true. See the bug report here.
    • (Grids) Fixed the "No such child" exception while setAutoResizeMode(false) is invoked. See the bug report here.
    • (Grids) Fixed so that the NavigationTreeTable will not freeze when using Searchable. See the bug report here.
    • (Grids) Fixed potential StackOverflowError in ShrinkSearchableSupport.
    • (Grids) Fixed the performance issue while NestedTableHeader#isOriginalTableHeaderVisible() returns false. See the bug report here.
    • (Grids) Fixed the one pixel gap while editing the first column of PropertyTable. See the bug report here.
    • (Grids) Fixed so that TableUtils#autoResizeAllColumns() would consider the preferred width of TableColumnGroup as well. See the bug report here.
    • (Grids) Fixed an NPE issue if the table header of the tables in TableScrollPane is set to null. See the bug report here.
    • (Grids) Added "All" entry for CheckBoxListExComboBox in ValueEditor.
    • (Pivot) Fixed so that the hidden original values could be displayed again after PivotField#isHideOriginalData() turns false from true.
    • (Pivot) Fixed the issue that grand total value didn't calculate correctly in CalculatedPivotDataModel when only grand total values are there in the header table.
    • (Pivot) Fixed the issue that sorting by column keys sometimes sort incorrectly in PivotTablePane.
    • (Pivot) Fixed the wrong type is used in getAllowedSummaries method of DefaultSummaryCalculator.
    • (Pivot) Fixed so that the un-related settings won't be displayed in the FieldSettingsPanel if the field is not allowed to be data field, column field or row field.
    • (Pivot) Fixed an AIOOBE issue while right pressing on a HeaderTable but releasing the mouse outside the HeaderTable.
    • (Pivot) Fixed the compound key sorting issue if the first row/column field is unsorted however the following keys should be sorted ascending or descending.
    • (Pivot) Fixed so that PivotDataModel won't create row/column header table model on field property setting changes if there is no PivotTablePane installed over the PivotDataModel.

    Backward Compatibilities

    • (Component) Changed getRolloverRow() to getNavigationRolloverRow() in all the Navigation Components.

    December 14, 2011 - 3.3.2  (Regular Release, changes from 3.3.1)

    Enhancement Requests

    • (Grids) Added setAlwaysUseComparators method to SortableComboBoxModel.
    • (Grids) Fixed so that we will use comparator or comparator context if they are set without explicitly requiring a call to setAlwaysUseComparator(true).
    • (Pivot) Added running summary for row fields. See the enhancement request here.
    • (Pivot) Added the feature to configure running summary to compare to a fixed values.
    • (Pivot) Made HeaderTable support CTRL/SHIFT + mouse click to select cells.

    Bug Fixes

    • (Charts) Fixes possible NullPointerException when painting a line that uses highlights. See the bug report here.
    • (Charts) Fixes a rendering problem on 3d bar charts when autoranging is active.
    • (Charts) Copy constructor now takes account of lineFill property.
    • (CodeEditor) Do not paint the row number when there isn't any rows in the CodeEditor.
    • (Common) Fixed so that JideToggleSplitButton could update the selected key property from its action. See the bug report here.
    • (Component) Fixed an NPE issue while mouse clicking under the last row of NavigationTree. See the bug report here.
    • (Editor) Added CodeEditor#scrollToViewPosition() for customers to better customize the scrolling behavior. See the bug report here.
    • (Editor) Fixed so that toggling the column selection mode would reset the CodeEditorSelectionFindAndReplaceTarget to make it search correctly later.
    • (Editor) Fixed so that loading a small file with only one line could work correctly for LazyLoadDocument.
    • (Editor) Improved the performance to update the highlight of bracket. See the bug report here.
    • (Grids) Fixed so that switching isAcceptTextInput() could update the table header's UI correctly.
    • (Grids) Fixed a regression at 3.3.1 that TableColumnGroup might be painted with incorrect mouse rollover effect. See the bug report here.
    • (Grids) Fixed the issue that the tree line might be painted incorrectly in GroupTable when no column is grouped. See the bug report here.
    • (Grids) Fixed so that CodeEditorSearchable could clear the highlighters that FindAndReplace added by previous search. See the bug report here.
    • (Grids) Changed the layout manager so that CustomFilterEditor won't change the condition JComboBox's size according to the preferred size of the possible values. See the bug report here.
    • (Grids) Fixed so that the FilterableTreeModel won't fire tree structure changed event when toggling the flags and there is no filter applied. See the bug report here.
    • (Grids) Fixed so that the flag HssfTableFormat#isIncludeTableHeader() is honored when exporting TableScrollPane to excel.
    • (Grids) Fixed the issue that changing the row height of the the column header table of TableScrollPane may cause asynchronized table heights.
    • (Grids) Fixed so that the selected rows would be scrolled to visible after filtering by QuickTableFilterField. See the bug report here.
    • (Grids) Fixed so that SortableTreeModel won't fire tree structure changed event if the nodes changed event didn't change the order of the updated nodes. See the bug report here.
    • (Grids) Fixed the AIOOBE issue when lazy loading a tree node and a SortableTreeModel is installed. See the bug report here.
    • (Pivot) Fixed so that AggregateTablePane could accept FilterableAggregateTableModel as the pass-in parameter. See the bug report here.
    • (Pivot) Fixed so that right click on running summary value won't show "hide" menu item.

    Backward Compatibilities

    • (Grids) Fixed so that we will use comparator or comparator context if they are set without explicitly requiring a call to setAlwaysUseComparator(true).

    December 6, 2011 - 3.3.1  (Regular Release, changes from 3.3.0)

    Enhancement Requests

    • (Charts) Added support for labeling the bars of a bar chart.
    • (Charts) parseForEffects now also marks the start and end of the input with INPUT_START and INPUT_END events.
    • (Charts) Line painting now supports line styles on highlights.
    • (Component) Enhanced the navigation components to support multiple selections by explicitly setting the selection mode in the corresponding selection model. See the enhancement request here.
    • (Component) Added setRolloverRow method to all navigation components. See the enhancement request here.
    • (Components) Enhanced ExpandedTip so that the tip will expand from the left side as well when the content is not fully visible. See the enhancement request here.
    • (Grids) Added "Collapse this column" and "Expand this column" menu items in GroupTablePopupMenuCustomizer.

    Bug Fixes

    • (Charts) Tooltips can now recognise multiple points rendered in exactly the same place.
    • (Charts) Now uses correct bar orientation for transitional chart style when morphing. See the bug report here.
    • (Charts) Fixes possible incorrect autoranging for cases where a chart model contains only one point.
    • (Common) Fixed so that the tab area width/height will respect the preferred width/height of the tab component if there is one. See the bug report here.
    • (Common) Fixed the preferred size calculation issue for StyledLabel. See the bug report here.
    • (Common) Fixed a potential AIOOBE issue in StyledLabel. See the bug report here.
    • (Common) Fixed the memory leak issue in Flashable. See the bug report here.
    • (Common) Fixed so that TreeSearchable#convertElemenToString() would invoke JTree#convertValueToText() to search correctly. See the bug report here.
    • (Common) Fixed so that the close button on the tab of JideTabbedPane has one pixel gap with the tab border. See the bug report here.
    • (Component) Fixed so that the mouse cursor over the title will be default cursor when CollapsiblePane#isCollapseOnTitleClick() returns false. See the bug report here.
    • (Component) Fixed so that the proportion between DocumentGroups could be persisted in DocumentPane while loading layout.
    • (Components) Fixed so that clicking on the tree icon will not chnage the tree node selection. See the bug report here.
    • (Diff) Fixed so that customizeEditor will still be called.
    • (Diff) Fixed the regression in 3.2.3 that CodeEditorDiffPane didn't paint the highlight after comparing correctly.
    • (Diff) Fixed the alignment issue between the line number margin with the CodeEditor.
    • (Dock) Fixed the issue that the outline contour might be painted detached with the mouse point after dragging a frame between two docking managers back and forth. See the bug report here.
    • (Dock) Fixed the issue that sometimes DockableFrame#getTabTitle() does not get respected if the dockable frame is dragged between docking managers. See the bug report here.
    • (Dock) Fixed the issue that the autohidden showing frame sometimes does not change its size accordingly while resizing the main window of the DockingManager and the DockingManager is nested inside another DockingManager. See the bug report here.
    • (Dock) Fixed the regression in 3.3.0 that adding a new floating frame is not visible.
    • (Dock) Fixed the issue that DefaultDockingManager may layout the frames incorrectly while loading a XML format layout file if the frames are not created in the DockingManager yet. See the bug report here.
    • (Editor) Improved the performance to update the scroll bar of a CodeEditor on editing. See the bug report here.
    • (Editor) Fixed so that the seached text could be displayed in the center of the CodeEditor on searching if scrolling is necessary. See the bug report here.
    • (Editor) Fixed so that starting search will clear the highlights made by previous "Search All" action. See the bug report here.
    • (Editor) Fixed so that "Find All" could scroll the caret of the CodeEditor to the first match. See the bug report here.
    • (Editor) Fixed so that the last line in CodeEditor could be highlighted as an entire line.
    • (Editor) Fixed so that clicking on the line number maring will put the caret on the start of the selected line.
    • (Editor) Fixed so that "Find Next" could work after perform "Find All" action. See the bug report here.
    • (Grids) Fixed so that adding child(ren) to a row will expand the row automatically if TreeTableModel.isAutoExpand() returns true. See the bug report here.
    • (Grids) Fixed the issue that filtering may cause the cell value being set to a wrong row in a TableScrollPane. See the bug report here.
    • (Grids) Fixed the issue that NestedTableHeader may paint its filter icon out of bounds if NestedTableHeader#isShowFilterIcon() returns true. See the bug report here.
    • (Grids) Fixed so that NestedTableHeader uses correct row/column index to invoke TableCellRenderer#getTableCellRendererComponent(). See the bug report here.
    • (Grids) Removed the check for TreeExpandablePanel to paint the tree icon and tree line. See the bug report here.
    • (Grids) Fixed the potential AIOOBE issue for CalculatedTableModel.
    • (Grids) Fixed the issue that an incorrect table structure changed event might be fired from FilterableTableModel when it receives a table rows updated event.
    • (Grids) Fixed the issue that sometimes TreeTableUtils#getDescendant() does not return correct children list. See the bug report here.
    • (Grids) Fixed the NPE issue while a FilterableTreeTableModel is installed over a non-TreeTableModel. See the bug report here.
    • (Grids) Fixed so that JideTable won't clear selection on receiving a table structure changed event which indicates no actual structure change happens in the original table model. See the bug report here.
    • (Grids) Fixed so that the margin width will adjust automatically when the row count changes.
    • (Grids) Fixed the baseline alignment issue of the row margin.
    • (Grids) Fixed so that all navigation components support multiple selection.
    • (Grids) Fixed the issue that NestedTableHeader might paint the original columns short while working with TableScrollPane. See the bug report here.
    • (Grids) Removed SortTableHeaderRenderer from the deprecated list.
    • (Grids) Improved performance in TableColumnGroup while painting NestedTableHeader.
    • (Grids) Fixed the issue that AUTO_RESIZE_FILL could not paint the vertical grids line if create an empty TableScrollPane then set a table model to it. See the bug report here.
    • (Grids) Fixed so that the selected column could be persisted when a TreeTable is sorted. See the bug report here.
    • (Grids) Fixed so that collapsing/expanding a row in TreeTable won't fire list selection changed event twice unnecessarily. See the bug report here.
    • (Grids) Fixed so that the slider cell editor will be able to obtain focus on mouse clicking if JideTable#isAlwaysRequestFocusForEditor() returns true. See the bug report here.

    Backward Compatibilities

    • (Grids) The return array of TableUtils#saveSelection(TreeTable) adds an extra ColumnSelectionRow element to save the column selection information which may break some of customers' code. See the bug report here.

    November 22, 2011 - 3.3.0  (Regular Release, changes from 3.2.4)

    New Components

    • (NavigationTree) Introduced new Navigation Components.
    • (BreadcrumbBar) Introduced a new component BreadcrumbBar.
    • (ExpandedTip) Introduced a new component ExpandedTip.

    Enhancement Requests

    • (Charts) Added DIAGONAL_CROSS as a possible PointShape for chart points.
    • (Charts) Added IntegerAxis class that generates ticks for integer values only.
    • (Charts) New tick calculator class that generates ticks at integer values only. See the enhancement request here.
    • (Charts) Can now specify the thickness of the pie chart.
    • (Charts) Added new line renderer for generating step charts.
    • (Common) Added support to JideTabbedPane#setTabComponentAt(). See the enhancement request here.
    • (Component) Added CollapsiblePanes#createLayoutManager() so that the customer could change its layout manager easier.
    • (Editor) Added FindAndReplace#findNext() for customization. See the enhancement request here.
    • (Grids) Added setGroupAreaBackground()/setGroupAreaForeground() APIs in GroupTableHeader to customize the group area's painting. See the enhancement request here.
    • (Grids) Added JideTable#isFillsGridsBottom()/isFillsGridsRight() for better customization. See the enhancement request here.
    • (Grids) Added QuickFilterPane#updateListsFromFilters() so that the customer could update the QuickFilterPane's UI based on the FilterableTableModel. See the enhancement request here.
    • (Grids) Support TableScrollPane#print(). See the enhancement request here.
    • (Pivot) Made the context menu invoke AggregateTable#expandAll()/collapseAll()/expand()/collapse() so that the customer could change the behavior easier.
    • (Pivot) Introduced an inner class AggregateTableModel#AggregateTablePivotTableModel for easier customization for the PivotDataModel used by AggregateTable.
    • (TreeMap) Added support for opening URL and Action.
    • (TreeMap) Improved customization of headers and labels.
    • (TreeMap) Added progress tracking.

    Bug Fixes

    • (Charts) Fixed selection problem for stacked bar charts.
    • (Charts) Positioning of title takes account of border if present.
    • (Charts) calling chart.setBackground() with a Color now has the same effect as calling setPanelBackground() with the same Color value.
    • (Charts) Tightened up tick generation to avoid superfluous ticks.
    • (Charts) Addresses display issue with negative zero.
    • (Charts) Improved font auto-resizing algorithm.
    • (Common) Fixed so that the name of the close buttom in JideTabbedPane could be configured to other names than "JideTabbedPane.close". See the bug report here.
    • (Common) Fixed so that JideTabbedPane could distinguish "JideTabbedPane.activeTabTextForeground" and "JideTabbedPane.selectedTabTextForeground". See the bug report here.
    • (Common) Fixed so that StyledLabel could layout icon correctly when isLineWrap() is true. See the bug report here.
    • (Common) Fixed the issue that the text could not be correctly truncated when StyledLabel is right aligned and line wrap is true. See the bug report here.
    • (Common) Fixed the issue at CachedArrayList#set(int, E).
    • (Common) Fixed the NPE issue while installing JIDE extension in Ubuntu. See the bug report here.
    • (Common) Fixed the regression that the expand/collapse button in JideSplitPane may be painted incorrectly.
    • (Common) Fixed the issue that invoking LabeledTextField#updateUI() may cause the hint label visible unexpectedly. See the bug report here.
    • (Common) Deprecated the EXTENSION_STYLE_2003_WITHOU_MENU and EXTENSION_STYLE_2007_WITHOU_MENU. See the bug report here.
    • (Common) Fixed the issue that the look and feel extension style is not changed accordingly if UIManager.setLookAndFeel() is invoked later. See the bug report here.
    • (Common) Fixed the menu item check box appears when the menu item is not selected when installJideExtension is not called explicitly.
    • (Common) Fixed the thumb in RangeSlider cannot be dragged when both thumbs are on the left most sides.
    • (Component) Fixed so that CollapsiblePane#setContentHeight(0) could still work. See the bug report here.
    • (Component) Fixed the infinite focus switch issue while a new document group is created in DocumentPane. See the bug report here.
    • (Component) Fixed the focus issue in nested DocumentPane scenario.
    • (Dashboard) Fixed so that the ResizableGadgetContainer gets repainted immediately on dragging a GadgetComponent between gadget containers. See the bug report here.
    • (Diff) Fixed so that the auto-sync of the scroll pane will not scroll the viewport out of boundary.
    • (Diff) Fixed so that the selection won't override the diff highligh in DiffPane.
    • (Dock) Fixed the issues while dragging tabbed frames between docking managers. See the bug report here.
    • (Dock) Fixed so that adding a new hiddeng floated frame won't show the frame first which causes flickering. See the bug report here.
    • (Dock) Fixed so that loading layout file will respect the frame's hidden mode.
    • (Dock) Changed DockableFrame background to match with the L&F color in Synthetica. See the bug report here.
    • (Editor) Fixed so that CodeEditor won't combine paste action and typing action into one undo/redo edit. See the bug report here.
    • (Editor) Fixed so that CodeEditor#getContentSize() will be invoked and could be overridden to improve the performance. See the bug report here.
    • (Editor) Fixed so that CodeEditor#updateScrollBars() should be invoked anyway as long as the document is changed. See the bug report here.
    • (Editor) Fixed so that the FixedHighlighter could work well with selection and cover the entire line if the highlighter covers the entire line.
    • (Editor) Restored registered undoableEditListeners when invoking codeEditor#setText(). See the bug report here.
    • (Editor) Changed to use ALT key by default to trigger column selection mode. See the bug report here.
    • (Editor) Fixed so that pasting copied text could indent correctly. See the bug report here.
    • (Editor) Fixed so that dragging a selection and drop inside a CodeEditor won't change the system clipboard. See the bug report here.
    • (Editor) Fixed the searching inside selected text issue while the caret is at the beginning of the selected text.
    • (Editor) Fixed so that the selected part will be put into the clipboard correctly when the column selection mode is on. See the bug report here.
    • (Editor) Fixed the incorrect help menu description for the wildcard option displayed in the FindAndReplaceDialog. See the bug report here.
    • (Editor) Improved performance on loading a file with very long line in LazyLoadDocument. See the bug report here.
    • (Gantt) Fixed so that GanttChartPane's scroll bar is always visible to avoid potential unsynchronize view issue.
    • (Gantt) Fixed so that the ScaleArea's preferred height will be adjusted larger if the table header's preferred height is larger than ScaleArea's. See the bug report here.
    • (Grids) Fixed the issue that inserting a row might cause the UI updated incorrectly. See the bug report here.
    • (Grids) Fixed the issue that AutoFilterTableHeader might query the original table model with column index as -1 which is incorrect.
    • (Grids) Improved the performance by not clearing preferred height cache for those columns that not having StyledLabel on column margin changed event.
    • (Grids) Fixed so that table header renderer component keeps the same enabled property with the table header. See the bug report here.
    • (Grids) Fixed so that the initial painting of the grouped columns won't be truncated in GroupTableHeader.
    • (Grids) Improved the performance to build the width cache inside GroupTableHeader.
    • (Grids) Fixed the regression in 3.2.4 that a sub column in NestedTableHeader could be dragged out of its parent TableColumngGroup. See the bug report here.
    • (Grids) Fixed the missing expand icon issue on filtering. See the bug report here.
    • (Grids) Fixed the issue that CellSpanTable#getCellRect() returns incorrect height if the column span defined in SpanModel is larger than getColumnCount(). See the bug report here.
    • (Grids) Fixed so that by default the priority of CellStyle created by StyleModel is higher than that of the CellStyle created by TableStyleProvider.
    • (Grids) Fixed the issue that CellStyle#getOverlayBorder() was not correctly merged. See the bug report here.
    • (Grids) Fixed so that mouse drag behavior is correct if DateChooserPanel#isToggleMode() returns true.
    • (Grids) Fixed the issue that DefaultColumnTableModelWrapper#getColumnType()/getTableIndex() returns correct value. See the bug report here.
    • (Grids) Fixed the ExComboBox popup location issue while flipping upwards.
    • (Grids) Fixed so that the popup dialog could be centered in the same screen with where the ExComboBox exists. See the bug report here.
    • (Grids) Fixed the issue that the popup panel may move left if ExComboBox#isKeepPopupSize() return true.
    • (Grids) Fixed the issue that FilterableTreeTableModel might not be able to give the correct possible value list in AutoFilterTableHeader. See the bug report here.
    • (Grids) Fixed so that the the GroupTableHeader could persist the table preference if it works in a TableScrollPane. See the bug report here.
    • (Grids) Fixed a potential AIOOBE isue while dragging columns in GroupTableHeader. See the bug report here.
    • (Grids) Fixed the issue that a non-groupable column could be dragged to be grouped.
    • (Grids) Provided a solution for HierarchicalTable work well with JXCollapsiblePane. See the bug report here.
    • (Grids) Fixed so that invoking HierarchicalTable#expandAllRows()/collapseAllRows() will clear the saved row heights cache.
    • (Grids) Added indention by default while exporting TreeTable to excel. See the bug report here.
    • (Grids) Fixed the row grouping issue while exporting to excel. See the bug report here.
    • (Grids) Fixed the span issue while exporting a JTable to excel and the JTable contains some columns with zero width.
    • (Grids) Fixed the exporting to excel issue while there are columns which have width as 0.
    • (Grids) Fixed the issue that non-contiguous cell selection does not work well with column added/moved/removed actions if two different JideTable share the same TableColumnModel and the same TableSelectionModel. See the bug report here.
    • (Grids) Fixed the focus issue in JideTable while both "terminateEditOnFocusLost" and isAutoStartCellEditng() are true. See the bug report here.
    • (Grids) Fixed ClassCastException when using HierarchicalTable on Nimbus.
    • (Grids) Fixed so that "\n" could be distinguished with "\\n" in MultilineStringConverter. See the bug report here.
    • (Grids) Improved the performance of NestedTableHeader#getRowCount().
    • (Grids) Fixed so that using the SortableTableHeaderRenderer won't paint two sort icons.
    • (Grids) Fixed the AIOOBE issue while the column name of a table model contains '{' or '\'. See the bug report here.
    • (Grids) Fixed so that the filter items could be persisted while switching between list mode and inline editor mode. See the bug report here.
    • (Grids) Fixed the regression in 3.2.0 that TableScrollPane#getSelectedColumn() may return incorrect column.
    • (Grids) Fixed so that the high performance flag will be automatically turned off if there are different renderers for the column while auto resizing the column.
    • (Grids) Fixed so that TreeComboBoxCellEditor could work well with custom class other than String.class. See the bug report here.
    • (Grids) Fixed so that TreeTableUtils could work well with TableModelWrapper instead of DefaultTableModelWrapper only. See the bug report here.
    • (Grids) Fixed the issue that the value is not visible in the list panel when the value is not selected from the possible value list.
    • (Grids) Fixed the painting issue after rearranging a column in EditableTableHeader while a column is on editing status. See the bug report here.
    • (Synthetica) Fixed so that the DockableFrame has a more consistent border when using Synthetica.
    • (TreeMap) Fixed so that no NPE will be thrown if the values of the height field are all Number.NaN.
    • (TreeMap) NPE may be thrown on right-click.
    • (TreeMap) AIOOB may be thrown when no group by is used.

    Backward Compatibility

    • (Editor) Changed to use ALT key by default to trigger column selection mode. See the bug report here.

    April 26, 2012 - 3.2.7  (Maintenance and Regular Release, changes from 3.2.6)

    Bug Fixes

    • (Grids) Fixed the issue that sometimes the column could be dragged outside of its parent TableColumnGroup incorrectly.
    • (Grids) Fixed so that ButtonPopupPanel will get the ok/cancel text from UIDefaults respecting the component's locale. See the bug report here.
    • (Grids) Fixed the issue that clearing filter may not re-filter correctly. See the bug report here.
    • (Grids) Fixed the NPE issue while a FilterableTreeTableModel is installed over a non-TreeTableModel. See the bug report here.
    • (Grids) Fixed the performance issue while NestedTableHeader#isOriginalTableHeaderVisible() returns false. See the bug report here.
    • (Grids) Fixed so that TableUtils#autoResizeAllColumns() would consider the preferred width of TableColumnGroup as well. See the bug report here.

    November 14, 2011 - 3.2.6  (Maintenance and Regular Release, changes from 3.2.5)

    Bug Fixes

    • (Common) Fixed the issue that the text could not be correctly truncated when StyledLabel is right aligned and line wrap is true. See the bug report here.
    • (Common) Deprecated the EXTENSION_STYLE_2003_WITHOU_MENU and EXTENSION_STYLE_2007_WITHOU_MENU. See the bug report here.
    • (Grids) Fixed the issue that inserting a row might cause the UI updated incorrectly. See the bug report here.
    • (Grids) Fixed the regression in 3.2.4 that a sub column in NestedTableHeader could be dragged out of its parent TableColumngGroup. See the bug report here.

    November 3, 2011 - 3.2.5  (Maintenance and Regular Release, changes from 3.2.4)

    Bug Fixes

    • (Common) Fixed the issue that the look and feel extension style is not changed accordingly if UIManager.setLookAndFeel() is invoked later. See the bug report here.
    • (Component) Fixed the focus issue in nested DocumentPane scenario.
    • (Gantt) Fixed so that the ScaleArea's preferred height will be adjusted larger if the table header's preferred height is larger than ScaleArea's. See the bug report here.
    • (Gantt) Fixed so that GanttChartPane's scroll bar is always visible to avoid potential unsynchronize view issue.
    • (Grids) Fixed so that the initial painting of the grouped columns won't be truncated in GroupTableHeader.
    • (Grids) Improved the performance to build the width cache inside GroupTableHeader.
    • (Grids) Fixed the issue that the popup panel may move left if ExComboBox#isKeepPopupSize() return true.
    • (Grids) Fixed the ExComboBox popup location issue while flipping upwards.
    • (Grids) Fixed the issue that FilterableTreeTableModel might not be able to give the correct possible value list in AutoFilterTableHeader. See the bug report here.
    • (Grids) Fixed the exporting to excel issue while there are columns which have width as 0.
    • (Grids) Fixed the AIOOBE issue while the column name of a table model contains '{' or '\'. See the bug report here.
    • (Grids) Fixed the painting issue after rearranging a column in EditableTableHeader while a column is on editing status. See the bug report here.

    October 21, 2011 - 3.2.4  (Regular Release, changes from 3.2.3)

    Enhancement Requests

    • (Charts) Added zAlignment support for Axis3D on horizontal bar charts.
    • (Charts) Can now paint bars with zero height. See the enhancement request here.
    • (Charts) Added two addPoint() methods that enable you to specify the index for the newly inserted point.
    • (Charts) Improved handling of overlapping tick labels to give more predictable behaviour.
    • (Charts) Added needlesAt() method that returns multiple needle descriptors for needles at a specified pixel point.
    • (Grids) Added fixed column feature in table header.
    • (Grids) Added a TableUtils#CLIENT_PROPERTY_AUTO_RESIZE_RESPECT_COLUMN_WIDTH_TABLE_MODEL to control if the auto resize action will always respect the ColumnWidthTableModel if there is one in place.
    • (Pivot) Added PivotDataSource#getFieldTitle(int) so that PivotTablePane and AggregateTable could read column identifier and column name separately from the original table model. See the enhancement request here.

    Bug Fixes

    • (Charts) More accurate recognition of axis type (numeric categorical or time axis) when zooming.
    • (Charts) Fixes incorrect zAlignment.
    • (Charts) Added partial support for disabling a chart.
    • (Charts) Takes account of border when computing size of pie chart. See the bug report here.
    • (Charts) Fixes a number format exception that can occur with some Locales. See the bug report here.
    • (Charts) Takes account of border when deriving a Paint for the dial face. See the bug report here.
    • (Charts) Fixes DialRadiantPaint for use of border on a dial. See the bug report here.
    • (Charts) Position of label on pie chart now respects border insets. See the bug report here.
    • (Charts) Can now maintain selection while morphing. See the bug report here.
    • (Charts) Corrects size calculation for 3D pie charts when width is constrained.
    • (Common) Fixed so that CheckBoxTreeSelectionModel#setSingleEventMode(true) works as expected. See the bug report here.
    • (Common) Fixed the issue that WizardDialog#setSize() could not change the size of the dialog which is a regression in 3.2.1.
    • (Common) Fixed so that LabeledTextField could be painted consistent with most L&Fs when disabled.
    • (Common) Updated to the latest ThreadCheckingRepaintManager.
    • (Common) Fixed so that pressing PGUP/PGDN/UP/DOWN over RangerSlider won't change the value out of the bounds defined by RangeSlider#getMinimum() and RangeSlider#getMaximum().
    • (Component) Fixed the ConcurrentModificationException in AlertGroup. See the bug report here.
    • (Component) Fixed so that the title displayed in the "Floating to" menu item and the floating document container is consistent with the one after conversion if DocumentPane#getTitleConverter() is not null. See the bug report here.
    • (Component) Fixed the issue that the disabled document could be dragged to be selected even if DocumenPane#isReorderAllowed() returns false. See the bug report here.
    • (Data) Fixed so that invoking PageNavigationBar#setEnabled(false) could disabled all buttons and the text field. See the bug report here.
    • (Data) Added Germany property file for PageNavigationBar. See the bug report here.
    • (Dock) Fixed so that DefaultDockingManager#stopShowingAutohideFrame() would be invoked only once when trying to hide a autoHiddenShowing DockableFrame. See the bug report here.
    • (Dock) Fixed the issue that the cursor is still set to the glass pane incorrectly when DockingManager#isUseGlassPaneEnabled() returns false. See the bug report here.
    • (Dock) Fixed so that loading layout from XML format file could make the auto hide container honor the flag DockingManager#isSidebarRollover(). See the bug report here.
    • (Editor) Fixed the painting issue of FindResultTreeCellRenderer. See the bug report here.
    • (Editor) Fixed the painting and caret position issue while making a column selection and deleting the text. See the bug report here.
    • (Editor) Fixed so that the system clipboard could be copied into CodeEditor correctly while using pasteWithDialog function. See the bug report here.
    • (Editor) Fixed the issue that the collapsed span could not be expanded if the folding span ends at a line break. See the bug report here.
    • (Gantt) Added French translation for Gantt product.
    • (Gantt) Fixed so that the method GanttChart#getEntryAt(Point) will return null if the point is not over the entry. See the bug report here.
    • (Girds) Fixed an NPE issue when TableModel#getColumnName() returns a null value and a TableColumnChooserPopupMenuCustomizer is installed. See the bug report here.
    • (Grids) Made AbstractComboBox#fireActionEven() always fire action event out without check. See the bug report here.
    • (Grids) Fixed the regression since 3.1.0 that the resize corner is missing in the popup panel of AbstractComboBox and ExComboBox.
    • (Grids) Fixed the issue that inserting child nodes sometimes could not update the TreeTable's UI correctly. See the bug report here.
    • (Grids) Fixed so that CellStyleTableHeader could still paint the header cell even if TableColumn#getModelIndex() is an invalid number like -1 or a larger number than model's column count. See the bug report here.
    • (Grids) Fixed the issue that NestedTableHeader does not work with GanttChartPane well. See the bug report here.
    • (Grids) Fixed the issue that CellSpanTable#calculateRowHeight(int) didn't take inter cell spacing into account. See the bug report here.
    • (Grids) Fixed so that TableScrollPane with column header table could be exported to .csv format file correctly.
    • (Grids) Fixed so that CustomFilterEditor could work well for "is in" and "isn't in" filter with null value. See the bug report here.
    • (Grids) Fixed the issue so that the cells in the DefaultGroupRow are displayed in the same format with those cells in the IndexReferenceRow if GroupTable#isDisplayGroupColumns() returns true. See the bug report here.
    • (Grids) Fixed the issue that deleting a row in underlying table model didn't update DefaultGroupTableModel correctly.
    • (Grids) Fixed so that the tooltip could be displayed when the mouse is over the grouped column in GroupTableHeader.
    • (Grids) Fixed the issue that GroupTableHeader didn't paint the grouped column with correct column in Windows XP.
    • (Grids) Fixed so that dragging columns to group/ungroup could update the header with correct sort icons.
    • (Grids) Fixed so that the nested table header could be exported to excel correctly when a TableScrollPane has both column header tables and nested table header.
    • (Grids) Fixed so that "hidden" columns in JTable won't be exported to excel.
    • (Grids) Fixed the issue that the cell editor might not get focus properly when isAlwaysRequestFocusForEditor() returns true and JideTable#getClickCountToStart() is 1. See the bug report here.
    • (Grids) Fixed the header filler painting issue while AutoFilterTableHeader#isAcceptText() returns true and JideTable is auto filling. See the bug report here.
    • (Grids) Fixed the StackOverflowError issue when a ShrinkSearchableSupport is installed over a ListComboBox and the underlying model is updated.
    • (Grids) Fixed the issue so that SearchableUtils#unsintallSearchable() will hide the Searchable popup if it's currently visible.
    • (Grids) Fixed so that the filter options that required two parameters won't be available when TableCustomFilterEditor#getStyle() returns STYLE_INLINE_EDITOR. See the bug report here.
    • (Grids) Fixed the AIOOBE issue while firing table structure changed event from MultiTableModel and TableScrollPane has column footer table. See the bug report here.
    • (Grids) Fixed the issue that the collapse icon could not be painted for a level 1 node with all its next generation nodes filtered out however has some grand child nodes visible when both FilterableTreeTableModel#isKeepParentNode() and FilterableTreeTableModel#isKeepAllChildren() return false. See the bug report here.
    • (Pivot) Fixed so that HeaderTable#editCellAt() use the same logic as HeaderTable#handleMousePressedEvent() to decide if the mouse click is over an expand or collapse icon. See the bug report here.
    • (Pivot) Fixed the issue that auto resize all columns in PivotTablePane or AggregateTable didn't take the grand total row into account. See the bug report here.
    • (Rss) Added Germany translation for RSS package.

    September 29, 2011 - 3.2.3  (Regular Release, changes from 3.2.2)

    Enhancement Requests

    • (Charts) Axis classes now have a quantity property to specify whether they are for number, time or categories.
    • (Charts) Can now choose to align on back or center or front of 3D axis.
    • (Charts) Added method tickLabelFontForAxis() which exposes the resized font for a given axis. See the enhancement request here.
    • (Charts) Added methods to support discovery of the rendered positions of needles.
    • (Charts) Added methods to enable dynamically changing a label on a dial.
    • (Charts) Added new class to mark a significant value on a dial axis.
    • (Charts) Added separate control for x and y axes on zero inclusion. See the enhancement request here.
    • (Common) Added EXTENSION_STYLE_OFFICE2003_WITHOUT_MENU, EXTENSION_STYLE_ECLIPSE_WITHOUT_MENU, EXTENSION_STYLE_ECLIPSE3X_WITHOUT_MENU for better customer experience when there is no Action product in use.
    • (Common) Made several fields protected.
    • (Component) Added setAnimationFunction to allow users to customize the animation effect of CollapsiblePane.
    • (Component) Added setAnimationFunction to allow users to customize the animation effect of FloorTabbedPane.
    • (Grids) Added mergeCellStyles(List cellStyles) method to CellStyleTable so that user can subclass to override to control the merge behavior.
    • (Grids) Added isDoubleClickEnabled() API for DualTable and DualList.
    • (Grids) Made the header editor respect the settings in HeaderStyleModel. See the enhancement request here.
    • (Grids) Made GroupTableHeader support styled label based column name.
    • (Pivot) Added AggregateTableHeader for AggregateTable.
    • (TreeMap) Made color adjustment of labels customizable.
    • (TreeMap) Made tooltip appearance customizable.

    Bug Fixes

    • (Charts) Corrected the axis width when using rotated tick labels.
    • (Charts) Fixes NPE when calling setLabel(String) with null.
    • (Charts) Fixed possible concurrentModificationException when painting bar charts.
    • (Charts) Improves bounds checking on axis tick labels.
    • (Charts) Fixes possible NPE.
    • (Charts) Fixed a bug where minor ticks may be added after the end of the supplied range.
    • (Charts) Fixes a bug in painting the dial frame.
    • (Charts) Added a check for zooming out to a disallowed region.
    • (Common) Fixed so that AbstractIntelliHints#getShowHintsDelay() gets honored. See the bug report here.
    • (Common) Added multiple key strokes support to show hint popup in AbstractIntelliHints. See the bug report here.
    • (Common) Fixed the NPE issue while JideTabbedPane#getTabResizeMode() returns RESIZE_MODE_COMPRESSED. See the bug report here.
    • (Common) Fixed so that the line breaks in StyledLabel won't be respected if isLineWrap() returns false. See the bug report here.
    • (Common) Fixed the issue that the font right after a line break was not respected when StyledLabel#isLineWrap() returns true.
    • (Common) Fixed so that the disabled entry in CheckBoxList could paint its text as disabled.
    • (Common) Fixed so that check box tree selection event fires removal events first then add events. See the bug report here.
    • (Common) Fixed so that pressing "find next" or "find previous" button would be able to scroll to let the match visible if there is only one match.
    • (Common) Fixed the issue that clicking TristateCheckBox to set mix state could not update UI correctly. See the bug report here.
    • (Common) Fixed NPE because the MenuItem.acceleratorFont is null when setting to Nimbus.
    • (Common) Fixed so that JideSplitButton#setVerticalAlignment() could be honored. See the bug report here.
    • (Common) Fixed so that dragging range could also fire property change event for the low value and the high value. See the bug report here.
    • (Component) Fixed the focus issue while switching between a DocumentComponent with no focusable child component and another DocumentComponent.
    • (Diff) Fixed the flickering issue on comparing in TableDiffPane.
    • (Dock) Fixed the issue that DefaultAppletDockableHolder#stop() disposed all incorrectly. See the bug report here.
    • (Editor) Fixed the BadLocationException while unindent line if the caret offset is 0. See the bug report here.
    • (Editor) Fixed so that inserting break would change the caret even if the CodeEditor does not have focus. See the bug report here.
    • (Editor) Fixed the issue that invoking moveToLineStart() when the caret is at the end of the document could not place the caret at the first non-empty position in the line correctly. See the bug report here.
    • (Editor) Fixed the issue that invoking CodeEditor#moveToDocumentStart()/moveToDocumentEnd() did not change caret position if the CodeEditor does not have focus. See the bug report here.
    • (Editor) Fixed so that the system clipboard which was not copied from CodeEditor could also be displayed in the list of transferable when pastTransferableWithDialog() is triggered. See the bug report here.
    • (Editor) Fixed the issue that the select block action didn't take any effect if the caret is put before the closing bracket. See the bug report here.
    • (Editor) Fixed so that unindent selection could work as expected if there is no selection and the caret is placed in the very beginning of a line. See the bug report here.
    • (Editor) Fixed the issue that the first line number in the margin area of CodeEditor was invisible.
    • (Editor) Fixed the issue that clicking the expand icon in CodeFoldingMargin could not expand the folded span if the span ends with line breaks. See the bug report here.
    • (Editor) Fixed the regression in 3.2.0 that CodeEditorDocumentPane could search in all files correctly. See the bug report here.
    • (Grids) Fixed so that CellStyleTable will clone the highest priority CellStyle while merging multiple cell styles. See the bug report here.
    • (Grids) Fixed the issue that DefaultGroupTableModel didn't relay the table structure changed event correctly to table if it receives a table structure changed event when it does not have any group column.
    • (Grids) Fixed the issue that the incorrect column would be grouped if DefaultGroupTableModel#isDisplayCountColumn() returns true and there is no group column at the moment of grouping. See the bug report here.
    • (Grids) Fixed so that the editing will be stopped automatically after the column is dragged if EditableTableHeader#isRolloverEnabled() returns false. See the bug report here.
    • (Grids) Deprecated EnumCellRenderer and suggest people to use ContextSensitiveCellRenderer.
    • (Grids) Fixed so that the popup panel will be recreated when ExComboBox#setModel() is invoked. See the bug report here.
    • (Grids) Fixed so that the popup's X offset relative to ExComboBox could be persisted as well if ExComboBox#isKeepPopupSize() returns true.
    • (Grids) Fixed so that the drop down panel of ExComboBox is resizable.
    • (Grids) Added FilterableComboBoxModel#isReselectItemOnFiltering() to keep selected item on filtering. See the bug report here.
    • (Grids) Fixed the issue that AutoFilterTableHeader paints the filter icon incorrectly even if FilterableTableModel#isColumnAutoFilterable() returns false when AutoFilterTableHeader#isShowFilterIcon() returns true. See the bug report here.
    • (Grids) Fixed the NPE issue if TreeTableModel is used as a plain table model without row reference and a FilterableTreeTableModel is installed upon it. See the bug report here.
    • (Grids) Fixed the CCE issue introduced in 3.2.2 when a CachedTableModel is installed under FilterableTreeTableModel.
    • (Grids) Fixed a Japanese translation issue. See the bug report here.
    • (Grids) Fixed so that GroupTable will have appropriate expandable column defined when isDisplayGroupColumns() returns true. See the bug report here.
    • (Grids) Fixed so that the group column could still be dragged to the normal table header area even if it's dragged out of the header area.
    • (Grids) Fixed the NPE issue when table.getTableHeader() is null and auto resize mode is AUTO_RESIZE_FILL which was introduced since 3.2.0. See the bug report here.
    • (Grids) Fixed the regression in 3.2.2 that JideTable always swallows the ESCAPE key even if it's not in editing status.
    • (Grids) Fixed the issue that ListChooserPanel of ListExComboBox may have incorrect fixed height set which impact the painting in some scenarios. See the bug report here.
    • (Grids) Fixed so that the preferred size of ListComboBox keeps consistent no matter if isEditable() returns true or false. See the bug report here.
    • (Grids) Fixed the issue that editing a table filtered by LuceneFilterableTableModel caused later filtering occurs only happen on a few rows.
    • (Grids) Fixed the issue that editing a table might cause incorrect filtering if the table is filtered by a LucenFilterableTableModel.
    • (Grids) Fixed the issue that the "keep all children" menu item could not be selected again after "match leaf node only" option is manually selected. See the bug report here.
    • (Grids) Fixed so that ShrinkSearchableSupport would try to reinstall the filterable model if the model of the searching component is changed. See the bug report here.
    • (Grids) Fixed the regression since 3.1.0 that SortableTable#isShowSortOrderNumber() was not honored. See the bug report here.
    • (Grids) Fixed so that TableChooserPanel could close the auto scroll feature when TableComboBox/TableExComboBox changes its popup type to DIALOG. See the bug report here.
    • (Grids) Fixed so that pressing a key over a non-editable TableExComboBox could select a matching entry immediately.
    • (Grids) Fixed the issue that invoking TableScrollPane#setTableModel() caused the navigation keys like TAB did not work correctly. See the bug report here.
    • (Grids) Fixed the issue that invoking TableScrollPane#setTableModel() caused that the setting of column/row/cell selection were not respected. See the bug report here.
    • (Grids) Fixed the issue that TableShrinkSearchableSupport didn't clear filters when the searchable popup is hidden. See the bug report here.
    • (Grids) Fixed so that the viewport could be scrolled to show the selection when drop down a TreeExComboBox or TreeComboBox.
    • (Grids) Fixed the issue that the expandable column of the TreeTable is one pixel smaller than other columns if TreeTable#getIntercellSpacing()#getHeight() is 0. See the bug report here.
    • (Grids) Fixed so that the editing cell of TreeTable will honor the TreeTable#getMargin(). See the bug report here.
    • (Grids) Fixed so that the expand/collapse operation could be ceased if the validator returns FAIL_BEHAVIOR_PERSIST as validation result. See the bug report here.
    • (Pivot) Deprecated several APIs in DefaultSummaryCalculator which are obsolete. See the bug report here.
    • (Pivot) Fixed so that PivotField#setSummaryType() will update the UI immediately when CalculatePivotDataModel is in use. See the bug report here.
    • (TreeMap) Made group by use the field formats if available.
    • (TreeMap) Added UI default to UIManager for TreeMapView.

    September 10, 2011 - 3.2.2  (Regular Release, changes from 3.2.1)

    Enhancement Requests

    • (Common) Added AbstractPage#reset() method so that the customer could re-layout the page in fly.
    • (Common) Added JideTabbedPane#createTabList() so that the tab list could be customized easier. See the enhancement request here.
    • (Common) Added TintFilter to tint a given image with a color.
    • (Editor) Added APIs to dynamically add/remove key strokes to show hints popup in AbstractCodeEditorIntelliHints. See the enhancement request here.
    • (Grids) Added down key behavior to define the behavior when pressing down key in a non-editable ExComboBox. See the enhancement request here.
    • (Grids) Added FilterableTableModel#setClearFiltersOnStructureChanged() so that FilterableTableModel could clear filter on receiving table structure changed event. See the enhancement request here.
    • (Grids) Added TableColumnChooserPopupMenuCustomizer#showColumn() for easier behavior customization. See the enhancement request here.

    Bug Fixes

    • (Charts) Can now specify proportional height for front of 3D axis or a fixed height if preferred. See the bug report here.
    • (Charts) Fixed bug where 3D x axis rendering obscures some ticks of a trailing y axis. See the bug report here.
    • (Common) Fixed the issue that sometimes StyledLabel paints the text with "..." when there is enough space if alignment is CENTER.
    • (Common) Fixed the issue that sometimes StyledLabel's preferred width did not get calculated correctly.
    • (Common) Fixed the issue that StyledLabel didn't respect the border properly when the horizontal alignment is not LEFT. See the bug report here.
    • (Common) Fixed the details button text is wrong if the details area is visible by default.
    • (common) Fixed so that default button of JidePopup could work as expected. See the bug report here.
    • (Common) Fixed so that invoking StandardDialog#setDefaultCancelAction(null) will be able to disable the ESCAPE short key to dismiss the dialog. See the bug report here.
    • (Component) Fixed so that InputPopup could be displayed in correct size in Windows 7. See the bug report here.
    • (Dock) Fixed a potential issue that the floating container might be visible with no DockableFrames inside.
    • (Dock) Fixed an NPE issue when adding the frame back after hiding it and removing it from DockingManager. See the bug report here.
    • (Dock) Fixed the issue that DockableBarContainer's were not initialized completely on loading layout from an XML format layout file. See the bug report here.
    • (Editor) Fixed so that column selection could work well while scrolling down more than one page. See the bug report here.
    • (Editor) Fixed the NPE issue while CodeEditor#getMarkerArea() returns null and CodeEditor#setStyles() is invoked. See the bug report here.
    • (Editor) Added German translation for CodeEditor. See the bug report here.
    • (Editor) Added German properties for editor. See the bug report here.
    • (Example) Fixed so that PropertyPaneEditorContextDemo could work as expected.
    • (Gantt) Fixed the NPE issue on GanttChart#getToolTipText(). See the bug report here.
    • (Girds) Fixed so that pressing ESCAPE on editing JideTable could trigger the method JideTable#editingCanceled() being invoked. See the bug report here.
    • (Grids) Fixed the row number overlaps in the row number margin for the tree in MarginSupportDemo.
    • (Grids) Fixed so that AutoFilterBox could read dynamic table filters from FilterableTableModel.
    • (Grids) Allowed the customer to adjust the text in the fly for CellStyleTableHeader in TableCellRenderer#getRendererComponent(). See the bug report here.
    • (Grids) Fixed so that setting table header's font will repaint the header immediately.
    • (Grids) Fixed the issue that the row height is calculated wrong while a cell spans cross multiple rows.
    • (Grids) Fixed so that changing the value of time spinner in DateExComboBox's popup panel could be persisted when clicking away to dismiss the popup. See the bug report here.
    • (Grids) Fixed so that ExComboBox could update its selected item when its underlying FilterableComboBoxModel applies filter.
    • (Grids) Fixed the issue that choosing a value from ListExComboBox fires two item selected events.
    • (Grids) Fixed the issue that table rows updated or cells updated events were fired for incorrect rows if FilterableTableModel has filters applied.
    • (Grids) Fixed so that TreeTable could hide the expand/collapse icon correctly when a filter is taking effect and FilterableTreeTableModel#isKeepAllChildren() returns false.
    • (Grids) Fixed so that FilterableTreeTableModel won't call Cacheable#setCacheValue() to avoid endless loop in recursive or lazy-loading tree table scenario.
    • (Grids) Fixed so that GroupTable#setShowGroupColumns(true) could work correctly. See the bug report here.
    • (Grids) Fixed the AIOOBE issue while exporting a TreeTableScrollPane with column footer table. See the bug report here.
    • (Grids) Fixed so that only the updated cell will be repainted if JideTable receives table rows/cells updated event even if isVariousRowHeights() returns true.
    • (Grids) Fixed the repainting issue in Windows XP if a table's auto resize mode is AUTO_RESIZE_FILL.
    • (Grids) Fixed so that ListExComboBoxSearchable and TreeExComboBoxSearchable work well.
    • (Grids) Uses setBorder on MarkerStripe to fix the marker alignment issue.
    • (Grids) Fixed the marker stripe didn't consider the insets.
    • (Grids) Fixed so that the MultiSelectListChooserPanel would be able to update its preferred size on model changed events if ExComboBox#isKeepPopupSize() returns false. See the bug report here.
    • (Grids) Fixed the issue that firing table structure change event from original table model may cause QuickTableFilterField stop function correctly. See the bug report here.
    • (Grids) Fixed the issue that row heights changed event sometimes has incorrect last row index.
    • (Grids) Fixed so that TableColumnChooser#showAllColumns()/hideColumn()/hideColumns()/showColumns() could work well with TableScrollPane. See the bug report here.
    • (Grids) Fixed so that the styled label annotation won't be displayed in the TableColumnChooserDialog if a column name contains styled label annotation.
    • (Grids) Fixed so that the column header tables have correct client properties registered.
    • (Grids) Fixed so that TreeExComboBoxSearchable could work as expected. See the bug report here.
    • (Grids) Fixed the memory leak issue if TreeTable#setModel() is invoked. See the bug report here.
    • (Pivot) Fixed so that CalculatedTableModel#getActualColumnAt() should return -1 for single column with object grouper.
    • (Pivot) Fixed the issue that the existing PivotField's summary type was changed incorrectly on receiving table structure changed event if the field's summary type was SUMMARY_NONE. See the bug report here.
    • (Pivot) Fixed the scrolling issue if unassigned fields area has a lot of field boxes. See the bug report here.

    August 23, 2011 - 3.2.1  (Regular Release, changes from 3.2.0)

    Enhancement Requests

    • (Common) Made StyledLable support line breaks. See the enhancement request here.
    • (Pivot) Added isShowContextMenu() API for AggregateTable/DataTable/HeaderTable so that the customer could get mouse event correctly.

    Bug Fixes

    • (Common) Fixed so that the waved style string are painted in the same base line with other style strings in StyledLabel.
    • (Common) Fixed so that StyledLabel painting will respect its border insets.
    • (Common) Fixed the NPE in DefaultOverlayable when dragging another component over the DefaultOverlayable in Netbeans/Matisse. See the bug report here.
    • (Common) Fixed the issue that Wizard may layout the MultilineLabel incorrectly in some scenarios.
    • (Common) Fixed so that new child components of JideScrollpane could always be layout correctly when the sub upper left/right components are the wides in the column.
    • (Common) Added StyledLabel#isTruncated() to check if the StyledLabel is currently painted truncated. See the bug report here.
    • (Common) Fixed iconTextGap inconsistent between JideButton and JideSplitButton.
    • (Editor) Fixed the issue that block comments didn't delete the comment start if the comment ends at the end of the document. See the bug report here.
    • (Editor) Fixed the NPE issue while invoking DefaultCodeEditorSettings#setStyles(). See the bug report here.
    • (Editor) Changed the default value of CodeEditor#isTabAlignment() to true. See the bug report here.
    • (Editor) Fixed the indent issue while inserting a line break in the empty area before the line text starts.
    • (Grids) Fixed an NPE issue while using AbstractComboBox in Synthetica L&F. See the bug report here.
    • (Grids) Fixed an NPE issue customer overrides AutoFilterTableHeader#createDefaultRenderer(). See the bug report here.
    • (Grids) Fixed so that CellStyleTableHeader could get repainted immediately on mouse releasing even if getReorderingAllowed() returns false.
    • (Grids) Fixed the issue that invoking JTableHeader#setFont() didn't update the header height immediately.
    • (Grids) Fixed an NPE issue if GroupTableHeader is installed to a GroupTable however no DefaultGroupTableModel is installed. See the bug report here.
    • (Grids) Fixed so that JideTable won't try to paint those cells with column width as 0.
    • (Grids) Fixed serialization issue in CachedTableModel.
    • (Grids) Fixed a bug that a hyperlink cell doesn't work when it is selected. See the bug report here.
    • (Grids) Made CellStyleTable#isFillsSelection() returns true by default and fix the painting performance issue on selection change.
    • (Grids) Fixed so that the CustoFilterEditor could recognize the custom filter based on the filter factory name when Filter#getFilterFactory() is null. See the bug report here.
    • (Grids) Fixed the issue so that two property change event will be fired on revert value scenario for AbstractComboBox and ExComboBox. See the bug report here.
    • (Grids) Fixed the issue that pressing cancel button in MultiSelectListChooserPanel fires action event incorrectly. See the bug report here.
    • (Grids) Fixed so that no filter icon is painted even if there exists a filter however is not created by AutoFilterTableHeader. See the bug report here.
    • (Grids) Fixed the regression that column footer table itself could not stand visible in TableScrollPane. See the bug report here.
    • (Grids) Fixed possible exception if JideTable's getValueAt uses an out of range row index or column index.
    • (Grids) Fixed the issue that updating the model of MultiSelectListExComboBox couldn't update the popup list accordingly. See the bug report here.
    • (Grids) Added tooltip support for RowNumberMargin.
    • (Grids) Fixed the issue that TableScrollPane#getSelectedColumn() may return incorrect column after making selection at row header table then changing selection to main table. See the bug report here.
    • (Grids) Fixed the issue that JTableHeader's preferred size did not follow the column widths in TableSplitPane. See the bug report here.
    • (Grids) Fixed the NPE issue in TableUtils#autoResizeAllColumns() if table.getTableHeader() returns null.
    • (Pivot) Fixed a potential AIOOBE issue when the running summary compare to next instead of previous cell.
    • (Pivot) Fixed so that firing table data changed event from the original table model won't change the structure of AggregateTableModel.

    August 12, 2011 - 3.2.0  (Regular Release, changes from 3.1.1)

    Enhancement Requests

    • (Charts) Added addModel method taking both axis and style as parameter.
    • (Charts) Can now switch off points bounds checking which can be useful for custom renderers. See the enhancement request here.
    • (Charts) Can now specify the color of a ChartArrow.
    • (Charts) Can now specify the pixel gap between the key graphic and its label in the legend.
    • (Common) Added getElementAtAsString method to Searchable.
    • (Common) Added findAll method to Searchable to find all element indices that match the specified string.
    • (Diff) Added TableDiffPane and BasicDiffPane to provide support of diff feature for components other than CodeEditor.
    • (Editor) Added a PlainTokenMarker to let the folding feature work with the plain text in CodeEditor. See the enhancement request here.
    • (Grids) Added the possibility for column header to show styled label by adding annotation to the column name.
    • (Grids) Added JideTable#setFillGrids() to control if AUTO_RESIZE_FILL should paint the grids in the bottom. See the enhancement request here.
    • (Grids) Added rolloverCellAt etc. method to allow a new cell editing without stop the existing cell editor.
    • (Grids) Added MarkerUtils as a collection of useful util methods related to Marker.
    • (Grids) Added HyperlinkTableCellEditorRenderer and RolloverTableUtils to implement hyperlink feature in JTable.
    • (Grids) Provided SortableTableHeader#customizeRendererComponent() so that the customer could customize the header renderer component before being painted. See the enhancement request here.
    • (Grids) Added column header support to TableScrollPane and TableSplitPane.
    • (Grids) Added TableUtils#CLIENT_PROPERTY_AUTO_RESIZE_HIGH_PERFORMANCE to let the behavior of autoResizeAllColumns() could be customized easier.
    • (TreeMap) Added properties to colormap package.
    • (TreeMap) Reorganized labeling schemes for headers.

    Bug Fixes

    • (Action) Added NPE check in DefaultDockableBarManager.
    • (Action) Fixed a potential memory leak issue in DefaultDockableBarManager after dragging a floated dockable bar.
    • (Chart) Fixed a bug that the image file created in ChartUtils is locked.
    • (Charts) No longer assume that all models are attached to the same y axis. See the bug report here.
    • (Charts) Fixed possible ConcurrentModificationException.
    • (Common) Fixed the issue that the tab editor is placed in a wrong position while the tab title is cleared.
    • (Common) Put sort arrow on top as long as it is on Windows 7/Vista and Windows LookAndFeel is used.
    • (Common) Added javadoc for CheckBoxTree#Handler.
    • (Common) Fixed the issue that JideButton could not show hand cursor in JDK7 if button style is hyperlink.
    • (Common) Fixed ClassCastException from HashMap to RenderingHints as JDK7 on Mac doesn't use RenderingHints as the value for "awt.font.desktophints".
    • (Common) Fixed Xerto style on Plastic3D L&F doesn't work correct. See the bug report here.
    • (Common) Added APIs to disable LnF class loading on invoking LookAndFeelFactory#isLnfInstalled(). See the bug report here.
    • (Common) Do not fill the background for the MemoryStatusBarItem.
    • (Component) Added removeActionListener() to match addActionListener() in ButtonStatusBarItem.
    • (Data) Fixed a CCE due to recent change in hibernate 3.6.6-final.
    • (Data) Fixed the issue that switching page with PageNavigationBar buttons always scroll the table horizontally to the left incorrectly.
    • (Data) Fixed the negative record number issue if the table row count is 0 and the installed PageNavigationBar shows record number.
    • (Diff) Fixed the issue that the last line difference did not get painted highlight correctly.
    • (Dock) Fixed the memory leak issue in Docking.
    • (Dock) Fixed so that invoking DefaultDockingManager#showFrame(f, false) would make the frame be the active tab of its parent FrameContainer if it's currently not. See the bug report here.
    • (Dock) Fixed the potential IllegalArgumentException in DefaultDockingManager. See the bug report here.
    • (Dock) Fixed the IllegalComponentStateException on clicking an unselected dockable frame if system property "jide.disableAWTEventListener" is configured to "true". See the bug report here.
    • (Editor) Made the popup intelli hints list be able to scroll back to the first entry when it reaches the end of the list and vice versa.
    • (Editor) Fixed the selection could not be cleared issue if CodeEditor#setEditable(false). See the bug report here.
    • (Editor) Fixed so that expanding/collapsing folding span will update the scroll bar correctly. See the bug report here.
    • (Editor) Fixed the caret stop blinking issue after adding a CodeEditor then removing it soon. See the bug report here.
    • (Editor) Fixed the issue that the caret does not get painted correctly under some fonts. See the bug report here.
    • (Editor) Changed CodeEditor to use new marker and margin design.
    • (Editor) Fixed the PatternSyntaxException issue while finding all with an incorrect RegEx style searching text. See the bug report here.
    • (Editor) Fixed so that click mark stripe to scroll the target code block to the middle of the CodeEditor instead of the bottom.
    • (Editor) Added new keywords for VerilogTokenMarker. See the bug report here.
    • (Gantt) Fixed so that GanttChart#getEntryAt(Point) could return the outer most gantt entry if there is overlapped entries at the mouse position. See the bug report here.
    • (Gantt) Fixed the incorrect horizontal scroll issue in GanttChartPane. See the bug report here.
    • (Grids) Fixed the issue that the filter created by QuickTableFilterField could not be cleared in AutoFilterBox. See the bug report here.
    • (Grids) Fixed the regression in 3.1.0 that NestedTableHeader may not paint sort indicator correctly if isAutoFilterEnabled() and isUseNativeHeaderRenderer() both return false. See the bug report here.
    • (Grids) Fixed so that clicking on the filter field and the filter button will be able to start editing or drop down the list without triggering sorting if EditableTableHeader#setRolloverEnabled(false). See the bug report here.
    • (Grids) Fixed the nested table header painting issue while moving mouse over its last several columns.
    • (Grids) Fixed the table header painting issue in Windows XP style. See the bug report here.
    • (Grids) Fixed the issue that the time would be reset to 0 when popup a DateExComboBox's DateChooserPanel if isTimeDisplayed() returns true. See the bug report here.
    • (Grids) Fixed the IllegalArgumentException while pressing key on a non-editable DateExComboBox/ColorExComboBox/etc.. See the bug report here.
    • (Grids) Fixed the issue that collapsing a tree table row might cause incorrect painting when filters are applied. See the bug report here.
    • (Grids) Fixed the CCE issue in GroupList in JDK7. See the bug report here.
    • (Grids) Fixed so that the tree icon and line painting follows the first group column if DefaultGroupTableModel#isDisplayGroupColumns() returns true. See the bug report here.
    • (Grids) Fixed the issue that filtering out an expanded row then showing it again cause the child component disappeared in HierarchicalTable.
    • (Grids) Fixed the AIOOBE issue while exporting TableScrollPane to excel with start row bigger than 0. See the bug report here.
    • (Grids) Fixed the painting issue when dragging column or in RTL in an AUTO_RESIZE_FILL JideTable.
    • (Grids) Fixed the issue that firing table model events caused LuecenFilterableTableModel filtering incorrectly.
    • (Grids) Support Lucene 3.3.0 version.
    • (Grids) Fixed an NPE issue while setting a nested table header to a JTable.
    • (Grids) Fixed so that newly designed table header could work well in Substance L&F.
    • (Grids) Fixed the NPE issue if ColumnIdentifierTableModel#getColumnIdentifier() returns null for any column. See the bug report here.
    • (Grids) Fixed the issue that invoking TableExComboBox#setSelectedItem() before the ExComboBox is showing did not set the selected item correctly.
    • (Grids) Fixed so that pressing key would show TableExComboBox's popup if TableExComboBoxSearchable#isShowPopupDuringSearching() returns true.
    • (Grids) Fixed the issue that TableUtils#autoResizeColumn() didn't invoke TableColumn#setPreferredWidth() properly if ColumnWidthTableModel is implemented in the table model. See the bug report here.
    • (Grids) Added an NPE check if TreeExpandablePanel is not used as a renderer wrapper but a renderer directly. See the bug report here.
    • (Grids) Fixed the issue that TreeTableUtils#getChildIndex() didn't work for tree root correctly.
    • (Pivot) Fixed so that AggregateTable could work better with AutoFilterTableHeader on aggregating.
    • (Pivot) Fixed so that the header cell is aligned well between those cells that have expand icon and those no-icon cells. See the bug report here.
    • (Pivot) Fixed some German translation issue in pivot. See the bug report here.
    • (TreeMap) Corrected model size not being updated.

    Backward Compatibility

    • (Editor) Changed MarkerArea's getColor method so that it will not use the SyntaxStyle to figure out the color automatically and please use registerMarkerColor to register more colors for the marker types other than the error and warning.
    • (Grids) Added Marker and Margin support for JList, JTree and JTable.
    • (Grids) TableSplitPane's createTableScrollPane now takes an additional headerTableModel as the second parameter which will cause compile error if you override this method.
    • (Common) If you are using jide-synthetica.jar, please replace it with jide-plaf.jar (or jide-plaf-jdk7.jar if you are on JDK7) because this jar contains the support for several other L&Fs from this release.

    July 21, 2011 - 3.1.1  (Regular Release, changes from 3.1.0)

    Enhancement Requests

    • (Charts) Added methods chart.containingPoints() and chart.containingShapes() to enable retrieval of information about multiple Chartables rendered at the specified pixel location.
    • (Charts) Adds option to switch off axis label bounds checking. See the enhancement request here.
    • (Charts) Added Chart.setChartBorder to set chart area border for XY charts.
    • (Charts) Added methods so that chart points can be removed or replaced without firing a change event (useful for bulk operations). See the enhancement request here.
    • (Charts) Can now set a DialBackground as a Paint instance.
    • (Data) Added convertElementToString in DatabaseTableModel and add single quote around Date value.
    • (Data) Added preStatement to the constructor of DatabaseTableModel.
    • (Data) Made PageNavigationBar be able to work together with TableScrollPane. See the enhancement request here.
    • (Data) Added getNavigationField() so that the customer could customize the PageNavigationBar easier.
    • (Dock) Added DockingManager#finishShowingAutohideFrame() so that the customer could customize when the autoHidden dockable frame finishes showing. See the enhancement request here.
    • (Grids) Exposed AutoFilterBoxFilterField inside AutoFilterBox for customization. See the enhancement request here.
    • (Grids) Added API to fill selection when JTable#getAutoResizeMode() returns AUTO_RESIZE_FILL. See the enhancement request here.
    • (Grids) Added DefaultGroupTableModel#isColumnGroupable(int) to enable the customer to customize the group behavior.
    • (Grids) Made ExComboBoxPopup/AquaExComboBoxPopup easier to be customized by putting new class name to UIDefaults with the key "ExComboBox.comboBoxPopup".
    • (Grids) Added GridColorProvider to provide a way to customize the grid line color without overriding getGridColor and getVerticalGridColor.
    • (Grids) Added getEditorAutoCompletionMode(int, int) to customize the auto completion behavior easier. See the enhancement request here.
    • (Grids) Added another constructor for TableCustomFilterEditor to take the style as parameter.
    • (Grids) Added APIs like getSelectedColumn()/getSelectedRow()/etc. in TableSplitPane. See the enhancement request here.
    • (Grids) Added setTableCustomizer() to make the table customization easier. See the enhancement request here.
    • (Grids) Fixed so that TableUtils#autoResizeAllColumns()/autoResizeColumn() has an optimized option and would respect ColumnWidthTableModel first. See the enhancement request here.
    • (Grids) Added TableUtils#saveTreeTableRowHeights()/loadTreeTableRowHeights() to save/load row heights for tree table. See the enhancement request here.

    Bug Fixes

    • (Charts) Uses the chart.tickFont property if an axis does not explicitly set the tick label font.
    • (Charts) Fixes a possible NPE when painting pie charts. See the bug report here.
    • (Charts) Fixes a problem in the rendering of the outer border of a DialFrame.
    • (Common) Removed the unnecessary "..." while resizing the JideOptionPane smaller.
    • (Common) Fixed the NPE issue while TableUtils#autoResizeAllColumns() to resize all column. See the bug report here.
    • (Common) Fixed the CCE issue if the header renderer is not an instance of JComponent.
    • (Common) Fixed wrong line break in HtmlUtils.
    • (Common) no. See the bug report here.
    • (Common) Fixed so that setting a disabled TristateCheckBox to mixed state will automatically update UI accordingly. See the bug report here.
    • (Common) Fixed the issue that TristateCheckBox painted incorrectly under XERTO style.
    • (Component) Fixed the issue that split to create a new group caused both groups bold their active tab incorrectly.
    • (Component) Fixed the issue that loading layout caused the component being opened duplicated times. See the bug report here.
    • (Component) Fixed so that invoking DocumentPane#setActiveDocument() could let the document grab focus correctly.
    • (Data) Added protected createStatement and createReadonlyStatement as well as adjustStatement to allow subclass to override to create a more suitable statement for the queries.
    • (Dock) Fixed the issue that the DOCKABLE_FRAME_MOVED event might be lost if two or more DockableFrames in the same FrameContainer are moved. See the bug report here.
    • (Dock) Fixed so that showing a newly added DockableFrame with its init mode as STATE_HIDDEN-STATE_FLOATING will float the frame correctly. See the bug report here.
    • (Dock) Fixed the flickering issue if showing a hidden floated frame by invoking DockingManager#floatFrame(). See the bug report here.
    • (Editor) Fixed the issue that selecting then deleting the last several characters in a document may cause bad location error print if the customer tries to invoke CodeEditor#getSelectedText() inside the document listener. See the bug report here.
    • (Editor) Fixed the regression in 3.0.4 that mouse dragging to select from the start of a line to the end may cause the view position reset to the left unexpectedly. See the bug report here.
    • (Editor) Added javadoc for all key actions in CodeEditor. See the bug report here.
    • (Editor) Adjusted the behavior of selectWord(), splitLine(), backspaceWord(), deleteWord(), deleteLine(). See the bug report here.
    • (Editor) Fixed so that CodeEditor could show more text instead of empty space when it is scrolled to show the document end the resized higher. See the bug report here.
    • (Editor) Added javadoc. See the bug report here.
    • (Editor) Fixed so that clicking on the label of "Target" selection would change the target accordingly. See the bug report here.
    • (Example) Fixed the issue that expand/collapse CollapsiblePaneGadget may not resize the GadgetContainer correctly after loading. See the bug report here.
    • (Example) Added demo to show lazy loading table in HierarchicalTableDemo.
    • (Gantt) Fixed so that the top gantt chart entry will be dragged when two sub entries overlapped. See the bug report here.
    • (Gantt) Fixed so that the gantt entry could not be moved if the mouse is over the resize area however not over the gantt entry itself. See the bug report here.
    • (Gantt) Fixed the issue that the last entry was dragged while the mouse is actually over the empty area below the entry. See the bug report here.
    • (Gantt) Fixed so that the entry that mouse is on is respected first while two sub entries are very close. See the bug report here.
    • (Grids) Fixed the regression in 3.1.0 that selecting a new item in AbstractComboBox could not fire item events correctly. See the bug report here.
    • (Grids) Fixed the backward compatibility issue that AbstractComboBoxCellEditor didn't implement ItemListener.
    • (Grids) Fixed the NPE issue after the deserialization of AbstractFilter.
    • (Grids) Fixed the unnecessary horizontal grid line painting in AUTO_RESIZE_FILL mode. See the bug report here.
    • (Grids) Fixed so that AutoFilterBox will take the input from a filter created by QuickTableFilterField outside. See the bug report here.
    • (Grids) Fixed the issue that invoking AutoFilterTableHeader#setAutoFilterEnabled() may reset the table columns. See the bug report here.
    • (Grids) Fixed the issue that sometimes the sort icon is not displayed in AutoFilterTableHeader while isUseNativeHeaderRenderer() returns true. See the bug report here.
    • (Grids) Fixed the column index converting issue while hiding some columns in AutoFilterTableHeader and setUseNativeHeaderRenderer(true). See the bug report here.
    • (Grids) Fixed the regression in 3.1.0 that NestedTableHeader may not paint sort indicator correctly if isAutoFilterEnabled() and isUseNativeHeaderRenderer() both return false. See the bug report here.
    • (Grids) Fixed so that the "Custom" item won't be visible when AutoFilterTableHeader#isAllowMultipleValues() and isUseNativeHeaderRenderer() both return true.
    • (Grids) Fixed the issue that custom filter dialog may be displayed in invisible location. See the bug report here.
    • (Grids) Worked around the JDK5 issue that it may repaints the entire table on filtering. See the bug report here.
    • (Grids) Fixed the regression in 3.1.0 that dragging NestedTableHeader may cause exception.
    • (Grids) Fixed so that the use could set the ok/cancel actions' value to change the UI of the ok/cancel button in ButtonPopupPanel. See the bug report here.
    • (Grids) Made AggregateTable work well with PageNavigationBar. See the bug report here.
    • (Grids) Fixed so that CellSpanTable could clear cache on table column events if getAutoCellMerge() is not AUTO_CELL_MERGE_OFF.
    • (Grids) Deprecated Column/RowStripeCellStyleProvider and please use Column/RowStripeTableStyleProvider which will keep the column/row stripes after columns/rows are rearranged.
    • (Grids) Included filters like "is in" even if the single line mode is true in CustomFilterEditor. See the bug report here.
    • (Grids) Fixed the row order and ClassCastException issues if DefaultGroupTableModel#setRemoveNullGrouper(true). See the bug report here.
    • (Grids) Fixed so that GroupTable would be able to load selection correctly if isLoadSelectionOnTableDataChanged() returns true. See the bug report here.
    • (Grids) Fixed so that ExComboBox#setButtonVisible() works as expected.
    • (Grids) Fixed so that ExComboBoxCellEditor could work well with EDITOR_STYLE_READ_ONLY.
    • (Grids) Fixed the issue that inserting/deleting a row then group/ungroup may cause incorrect selection/row height loading in GroupTable.
    • (Grids) Fixed so that CellValueConverter#getDataFormat() will use table's view index consistently. See the bug report here.
    • (Grids) Fixed the issue that ColumnWidthTableModel did not work well with SortableTable. See the bug report here.
    • (Grids) Fixed the selection loading issue while deselecting a cell then sort the table. See the bug report here.
    • (Grids) Fixed so that JideTable#setClearSelectionOnTableDataChanges(true) won't clear the selection when the table receives table data changed however the original table model is not updated at all. See the bug report here.
    • (Grids) Fixed so that invoking JideTable#setNonContiguousCellSelection() won't break the listener registered to JTable#getSelectionModel(). See the bug report here.
    • (Grids) Deprecated JideTable#setClearSelectionOnTableDataChanges() to avoid further confusion. See the bug report here.
    • (Grids) Fixed so that vertical lines extended in the auto fill area could be refreshed immediately after the table columns are moved. See the bug report here.
    • (Grids) Fixed the vertical line painting issue in AUTO_RESIZE_FILL mode.
    • (Grids) Fixed the issue that LessThanFilter#equals() checked too strict on the class type. See the bug report here.
    • (Grids) Fixed the issue that invoking TableScrollPane#refreshColumns() caused the row header column footer table and row footer column footer table disappeared. See the bug report here.
    • (Grids) Fixed so that TableCustomFilterEditor#setFilterItems() would update UI immediately.
    • (Grids) Fixed so that TableCustomFilterEditor would be able to update its components accordingly when the table model it currently works on fires table structure changed event.
    • (Grids) Fixed so that TableCustomFilterEditor could work better with CalculatedTableModel.
    • (Grids) Fixed the NPE issue while the user tries to type a character on a non-editable TableExComboBox which installed searchable.
    • (Grids) Fixed so that removing or adding column in the tables of TableScrollPane would update the preferred size of the JViewport so TableScrollPane could layout correctly. See the bug report here.
    • (Grids) Fixed the issue that sorting a JideTable which isNonContiguousCellSelection() returns true may load its selections incorrectly. See the bug report here.
    • (Grids) Fixed so that TableUtils#autoResizeAllColumns() will consider the width of filter decorators. See the bug report here.
    • (Grids) Fixed the IllegalArgumentException issue while typing over a non-editable TreeExComboBox.
    • (Grids) Fixed so that row heights of collapsed rows could be persisted between collapse/expand operations. See the bug report here.
    • (Pivot) Let AggregateTableModel implements RowTableModelWrapper so that TableModelWrapperUtils could work with AggregateTableModel.
    • (Pivot) Fixed so that PivotField#setSummaryType(SUMMARY_NONE) won't display the default renderer for the subtotal rows in AggregateTable.
    • (Pivot) Fixed so that PivotDataModel could behave better if the original table model has duplicated column names. See the bug report here.
    • (Pivot) Fixed a potential NPE issue in PivotTablePane. See the bug report here.
    • (RSS) Fixed so that the default background of the html browser could be customized in UIDefaults. See the bug report here.

    Backward Compatibility

    • (Grids) Changed AutoFilterTableHeader#isAllowMultipleValues(int) from protected to public which may break some codes where override this method.

    July 22 2011 - 3.0.5  (Maintenance Release, changes from 3.0.4)

    Bug Fixes

    • (Component) Fixed the issue that loading layout caused the component being opened duplicated times. See the bug report here.
    • (Editor) Fixed the regression in 3.0.4 that mouse dragging to select from the start of a line to the end may cause the view position reset to the left unexpectedly. See the bug report here.
    • (Example) Fixed the demo project compile issue in 3.0.4. See the bug report here.
    • (Grids) Fixed so that AutoFilterBox will take the input from a filter created by QuickTableFilterField outside. See the bug report here.
    • (Grids) Fixed so that CellValueConverter#getDataFormat() will use table's view index consistently. See the bug report here.
    • (Grids) Fixed the navigation issue while pressing TAB or SHIFT+TAB in a TableScrollPane with TreeTable.

    June 30, 2011 - 3.1.0  (Regular Release, changes from 3.0.4)

    Enhancement Requests

    • (Charts) Can now specify tick color on a per axis basis and also color major/minor ticks differently.
    • (Charts) Can now choose size of displacement for exploded segments of pie charts.
    • (Charts) Can now set an offset angle to configure the angular orientation of pie charts.
    • (Charts) Updated Developer Guide to provide a note on how to create a chart off-screen and save to a file.
    • (Common) Added findFirstComponentByName and findFirstComponentByClass to JideSwingUtilities.
    • (Dashboard) Added a new showGadget() API for Dashboard#isPredefinedLayoutSet() scenario. See the enhancement request here.
    • (Gantt) Added APIs to customize the resize area. See the enhancement request here.
    • (Grids) Made GroupTableHeader and NestedTableHeader could work together with AutoFilterTableHeader.
    • (Grids) Made AutoFilterTableHeader could use native table header renderer to have consistent L&F with normal JTableHeader.
    • (Grids) Added API to determine if a certain level of rows should be included into possible values.
    • (Grids) Extended grid line and added two options for AUTO_RESIZE_FILL mode. See the enhancement request here.
    • (Grids) Made footer tables could be reached from main tables through navigation keys.
    • (Grids) Added TreeTableUtils#getDescendants(). See the enhancement request here.

    Bug Fixes

    • (Charts) Improved handling of highlights.
    • (Charts) Deals with NaN when computing averages in AverageChartModel. See the bug report here.
    • (Charts) Fixed an issue of excessive firing of PropertyChangeEvents for ChartStyle. See the bug report here.
    • (Charts) When painting chart Axis.tickFont property overrides (instead of replaces) Chart.tickFont.
    • (Charts) Fixes a possible problem in the rendering of bar charts when displaying a SummingChartModel.
    • (Charts) Fixes a possible problem in the painting of categorical bar charts.
    • (Charts) Corrected check for display of -0 as axis label.
    • (Charts) Corrected tick generation to take account of minor errors in floating point arithmetic. See the bug report here.
    • (Charts) Fixes a problem with the selection highlight in the InteractiveChartDemo. See the bug report here.
    • (Charts) Fixes a problem in the handling of NaN. See the bug report here.
    • (Common) Fixed so that JideSplitButton#setForegroundOfState() could also control the foreground of pressed button. See the bug report here.
    • (Common) Fixed so that RangeSlider could work well with bean binding. See the bug report here.
    • (Component) Fixed the issue that sometimes more than one selected components in different DocumentGroups may be painted as bold at the same time.
    • (Dashboard) Fixed so that the place holder's preferred size could be persisted. See the bug report here.
    • (Data) Fixed the regression in 3.0.3 that mouse wheel over paged table could not navigate through pages correctly. See the bug report here.
    • (Data) Fixed the regression in 3.0.3 that gotoRecord() in PageNavigationBar could not select the target row correctly. See the bug report here.
    • (Editor) Fixed so that clicking on the line margin area and dragging up to select rows could scroll correctly. See the bug report here.
    • (Editor) Fixed so that search all action will clear the selection made by previous search.
    • (Editor) Fixed the issue that selectLine() could not select the entire line if it's the last line of the document.
    • (Editor) Fixed the issue that searchAll() did not clear the previous highlighter created in the previous invocation to searchAll().
    • (Editor) Fixed the issue that CodeEditor could not blink cursor any more while disposing some other CodeEditor instances. See the bug report here.
    • (Editor) Fixed to make the parameter "eatWhiteSpace" in moveToPreviousWord()/moveToNextWord() work as expected. See the bug report here.
    • (Editor) Fixed the issue on the methods moveToPreviousWord/moveToNextWord if the line break style is LF only. See the bug report here.
    • (Editor) Fixed the selection issue if triple click a line then drag. See the bug report here.
    • (Example) Fixed the demo project compile issue in 3.0.4. See the bug report here.
    • (Example) Fixed the repainting issue on resizing. See the bug report here.
    • (Gantt) Fixed so that the gantt chart and the tree table could keep alignment on rows. See the bug report here.
    • (Grids) Fixed so that AbstractComboBox#setSelectedItem(item, false) will update the selectedItemReminder field accordingly. See the bug report here.
    • (Grids) Fixed to make the cursor looks editing while mouse hovering the filter input area.
    • (Grids) Fixed so that CellSpanTable will be able to receive cell span from both auto cell merge and span model.
    • (Grids) Improved performance for CellSpanTable#getCellSpanAt() for non-CellSpan scenario.
    • (Grids) Fixed so that CsvTableUtils does not have dependency on POI jars.
    • (Grids) Fixed the display issue and multiple selection issue if the selection mode is DISABLE_SELECTION.
    • (Grids) Fixed so that ExComboBox#getDialogOkAction()/getDialogCancelAction() could be invoked which will make customization easier. See the bug report here.
    • (Grids) Fixed so that DateExComboBox could obtain value from the current selection on pressing ENTER if popup panle is visible and getSelectedItem() is null.
    • (Grids) Fixed so that the group table and header could be scrolled accordingly on dragging.
    • (Grids) Fixed the DnD issue if dragging a count column or grouped column to the group area if group column or count column is shown in original table header. See the bug report here.
    • (Grids) Made the header GroupTableHeader's dragging behavior consistent with normal JTableHeader.
    • (Grids) Fixed the issue while exporting a tree table to excel with a collapsed row which has only one child. See the bug report here.
    • (Grids) Fixed so that invoking JideTable#setTableHeader() will automatically update the new JTableHeader to JScrollPane's column header view.
    • (Grids) Made it possible for the customers to make DELETE/BACKSPACE to clear the cell contents and start cell editing. See the bug report here.
    • (Grids) Fixed the issue that isCellFocused() sometimes returns incorrect true value in TableScrollPane losing focus scenario. See the bug report here.
    • (Grids) Fixed so that choosing searching column indices will invoke setSearchingColumnIndices() accordingly to update the value of the property. See the bug report here.
    • (Grids) Fixed so that SortableTreeModel won't fire tree structure change event if there is no sorting at all. See the bug report here.
    • (Grids) Fixed the CCE while ColumnIdentifierTableModel#getColumnIdentifier() returns a non-string object. See the bug report here.
    • (Grids) Fixed so that SHIFT+TAB could navigate the selected cell correctly in TableScrollPane with an empty row footer table.
    • (Grids) Fixed the navigation issue while pressing TAB or SHIFT+TAB in a TableScrollPane with TreeTable.
    • (Grids) Fixed to work around the Nimbus CCE issue while TreeTable works with NimbusLookAndFeel. See the bug report here.
    • (Grids) Fixed so that expand/collapse a row will only fire one event to UI.
    • (Grids) Fixed the regression that setExpansionState() caused increase of row count. See the bug report here.
    • (Grids) Fixed the issue that TreeTableUtils#getDescendantCount() didn't return correct count for tree root. See the bug report here.
    • (Grids) Fixed the object converting issue for is.in filter. See the bug report here.
    • (Grids) Worked around the JTableHeader issue so that right mouse click to show popup menu will not setDraggedColumn() to a non-null column. See the bug report here.
    • (Pivot) Fixed the NPE issue while editing the aggregated cells in AggregateTableModel. See the bug report here.
    • (Pivot) Fixed the cell span error issue if the customer overrides PivotDataModel#sortCompoundKeys() to perform customized sorting. See the bug report here.
    • (Pivot) Fixed the NPE issue while trying to configure PivotField if PivotTablePane#getRootPane() returns null. See the bug report here.
    • (TreeMap) Fixed top level nesting border not being taken into account.

    Backward Compatibility

    • (Action) Now init side/index/etc. information inside the context won't be loaded which is different with older releases.
    • (Dock) Now init side/index/etc. information inside the context won't be loaded which is different with older releases.
    • (Grids) FilterableTableModel will be installed only if the setAutoFilterEnabled(true) is invoked hence AutoFilterTableHeader#getFilterableTableModel() may return a null value which may break some customers' code.
    • (Grids) Removed dependency on com.jidesoft.hssf which could break customers' code.
    • (Pivot) Changed the return type of createFilterableTableModel() which may break some codes if you ever override this method.

    June 9, 2011 - 3.0.4  (Regular Release, changes from 3.0.3)

    Enhancement Requests

    • (Common) Introduced a redesigned TristateCheckBox which supports better L&Fs that looks like native ones.
    • (Charts) Added short section on Bubble Charts.
    • (Common) Added a new constructor with DataFormat. See the enhancement request here.
    • (Common) Added getOverlayComponentBounds() so that the customer could customize the bounds of overlay components. See the enhancement request here.
    • (Common) Added JidePopupMenu.uiExtensionDisabled UIDefault to disable the usage of BasicJidePopupMenuUI and used it for all Synthetica L&Fs.
    • (Component) Added double click to trigger garbage collection action.
    • (Editor) Added isIndentOnPasting() flag to define the behavior of multiple-line pasting. See the enhancement request here.
    • (Girds) Added POICustomizer so that the customer could have the control to customize the exported sheet and cell after JIDE finish the default exporting. See the enhancement request here.
    • (Grids) Added the cross-DateChooserPanel dragging selection feature in CalendarViewer.
    • (Grids) Added Dutch translation for filter and filterEditor properties. See the enhancement request here.
    • (Grids) Added getTableCustomizer(int) for easier table customizer. See the enhancement request here.
    • (Pivot) Added flag to configure if the summary values should be calculated in running statistics type. See the enhancement request here.
    • (Pivot) Connected CalculatedPivotDataModel#getStatisticsType() and PivotField#getStatisticsCalculationType(). See the enhancement request here.
    • (TreeMap) Replaced used of Path with arrays for specifying multi-level hierarchies.
    • (TreeMap) Added options for specifying label and header placement.

    Bug Fixes

    • (Charts) Fixes a problem that caused an update to not be fired on some calls to setDelegates().
    • (Charts) Fixes a problem with stacked bar charts with negative values.
    • (Charts) For a categorical bar chart with multiple models it is no longer necessary to assign a value to each category on the axis.
    • (Charts) Fixes a problem in calculating the axis range when NaN was added as the first value for x or y. See the bug report here.
    • (Charts) Corrected a bug that prevented the in-memory image from being updated.
    • (Charts) Fixes auto-ranging problem when displaying horizontal stacked bar chart.
    • (Common) Fixed the NPE issue after JideOptionPane#updateUI() is invoked.
    • (Common) Fixed the painting issue while JideSplitButton#isAlwaysDropdown() returns true. See the bug report here.
    • (Common) Fixed comma cannot be typed in locales where comma is used instead of period as decimal point.
    • (Common) Fixed JideButton did not paint the disabled selected state correctly. See the bug report here.
    • (Common) Fixed the issue that dragging row header table to select and scroll sometimes could not scroll the row footer table in sync. See the bug report here.
    • (Common) Fixed the issue that JideTabbedPane#getTabAtLocation() may return invisible tab index while clicking at side of the tab navigation buttons. See the bug report here.
    • (Common) Fixed so that Searchable will be able to start showing search popup on key input like [, ], {, etc.. See the bug report here.
    • (Common) Added name for OK and Cancel buttons in StandardDialog.
    • (Component) Fixed so that the DocumentComponent#allowMoving() gets respected correctly.
    • (Dock) Fixed the issue that dragging a floated frame belongs to an invisible JInternalFrame was not smooth. See the bug report here.
    • (Dock) Fixed so that clicking on the close button of inactive DockableFrame won't change focus before hiding the frame. See the bug report here.
    • (Dock) Fixed the issue that dockable frame inside a Workspace could not be loaded correctly.
    • (Dock) Fixed the issue that invoking floatFrame() to float a never-floated frame to a designated position could not be positioned exactly the place.
    • (Editor) Fixed so that clicking on the margin area to drag and select lines always make the selection include the pressed line. See the bug report here.
    • (Editor) Fixed so that move to previous/next word will clear selection correctly. See the bug report here.
    • (Editor) Fixed so that keyboard event will trigger highlightAll() if necessary. See the bug report here.
    • (Editor) Fixed so that CodeEditor tries its best to show the entire matched text on finding next/previous.
    • (Editor) Fixed the issue that clicking after the last line put the caret on a virtual space incorrectly even if isVirtualSpaceAllowed() returns false. See the bug report here.
    • (Editor) Fixed the editor focus lost issue after instantiating a new invisible CodeEditor. See the bug report here.
    • (Editor) Fixed the painting issues on column selection model. See the bug report here.
    • (Editor) Fixed the regression in 3.0.3 that pressing SHIFT+LEFT after several times of SHIFT + RIGHT causes the selection cleared incorrectly. See the bug report here.
    • (Editor) Fixed the regression in 3.0.3 that mac style line break could not be painted correctly. See the bug report here.
    • (Editor) Fixed so that the entire lines would be selected on mouse tripe-clicked and dragged scenario. See the bug report here.
    • (Editor) Fixed so that triple click to select a line then drag will always select the entire line. See the bug report here.
    • (Editor) Fixed so that move to previous word will not move caret to the end of previous word. See the bug report here.
    • (Editor) Fixed the issue that the caret jumped to an unexpected position after copying then pasting one entire line. See the bug report here.
    • (Editor) Fixed so that the mouse wheel move behavior is consistent with JScrollPane in both Mac and Windows. See the bug report here.
    • (Editor) Fixed to make isAdjustColumnSelectionOnMouseEvent() work as designed. See the bug report here.
    • (Editor) Fixed the issue that the tooltip text string starting with "/" cannot be displayed correctly.
    • (Editor) Fixed a dead loop issue when SearchableBar highlights a searching tetx and all matched text is in the same page. See the bug report here.
    • (Editor) Fixed so that SearchableBar could work well with LazyLoadDocument. See the bug report here.
    • (Editor) Updated developer guide. See the bug report here.
    • (Editor) Fixed so that FindAndReplace#getTarget() could return non-null value if only one target is added to the FindAndReplace. See the bug report here.
    • (Editor) Fixed the issue that loading a big file then jumping to the end of the file may cause jitter. See the bug report here.
    • (Editor) Fixed so that LazyLoadDocument could work well with LINE_BREAK_MAC.
    • (Editor) Fixed a typo. See the bug report here.
    • (Editor) Fixed the SQL token marker issue while the line break style is "\r\n".
    • (Editor) Fixed so that pasting CR only string could also work correctly in CodeEditor. See the bug report here.
    • (Example) Fixed the demo issue for editor style and dynamic row height. See the bug report here.
    • (Gantt) Fixed the relation line is connected at the wrong place when the relation is for subentries. See the bug report here.
    • (Grids) Fixed the issue that the filler corner paints the fake table header with dropdown icon if the table header of the main table is AutoFilterTableHeader. See the bug report here.
    • (Grids) Fixed the issue that the input text field did not get updated correctly on selecting existing values from the list.
    • (Grids) Fixed the sorting issue while AutoFilterTableHeader#setRolloverEnabled(true) is invoked. See the bug report here.
    • (Grids) Fixed the painting issue while resizing an AutoFilterTableHeader which accepts text input.
    • (Grids) Fixed the issue that CellStyleTable sometimes didn't paint the row stripes when RowStripeCellStyleProvider is configured to the table. See the bug report here.
    • (Grids) Fixed so that disabling DateChooserPanel could disable the TimeSpinner inside as well. See the bug report here.
    • (Grids) Fixed the issue that CheckBoxListComboBoxCellEditor could not stop cell editing while pressing OK without actually changing the value.
    • (Grids) Fixed the issue that changing the document of the editor component causes the input of the ExComboBox not accepted. See the bug report here.
    • (Grids) Fixed so that FilterableCheckBoxTreeSelectionModel could work better with QuickFilterField. See the bug report here.
    • (Grids) Fixed the NPE if a GroupTablePopupMenuCustomizer is installed against a GroupTable however DefaultGroupTableModel does not exist.
    • (Grids) Fixed so that the cell style configured by CellStyleTable#setCellStyleProvider()/setTableStyleProvider() could be exported to excel correctly. See the bug report here.
    • (Grids) Fixed a regression since 3.0.2 that the incorrect row height was persisted on sorting the HierarchicalTable. See the bug report here.
    • (Grids) Added LegacyBooleanCellEditor, LegacyEnumCellEditor and LegacyEnumCellRenderer for better backward compatibility. See the bug report here.
    • (Grids) Fixed the issue that ListExComboBoxSearchable could not work well with ListComboBoxCellEditor. See the bug report here.
    • (Grids) Fixed the AIOOBE issue thrown by LuceneFilterableTableModel while deleting rows in original table model continuously. See the bug report here.
    • (Grids) Fixed the issue that invoking setSelectedItem(null) could not clear the selection of the MultiSelectListChooserPanel. See the bug report here.
    • (Grids) Fixed so that PropertyTableSearchable supports multiple column searching. See the bug report here.
    • (Grids) Fixed the performance issue while deleting or inserting rows to SortableTableModel with huge rows after sorting. See the bug report here.
    • (Grids) Fixe the view synchronization issue if TableScrollPane is instantiated with an empty row header table then set a table model with columns in row header table. See the bug report here.
    • (Grids) Fixed the issue that setTablePreferenceByName() didn't load preference correctly when one of TableScrollPane's tables has all its columns hidden. See the bug report here.
    • (Grids) Fixed the issue that TableUtils#setTablePreferenceByName(TableScrollPane, String) didn't work correctly. See the bug report here.
    • (Grids) Fixed the issue that adding a customer created TableColumn instance with a different header value to the main table of TableScrollPane could not add a column automatically in the column footer table. See the bug report here.
    • (Grids) Fixed the invisible grid line issue if treeTable.setIntercellSpacing(new Dimension(0, 0)) is ever invoked.
    • (Grids) Fixed so that invoking TreeTableModel#setExpansionState() will fire only one table data changed event which is able to persist selection and row heights. See the bug report here.
    • (Pivot) Fixed so that the calculated column will return null if the type is BigDecimal and the value is infinite.
    • (Pivot) Fixed the issue that firing row update event from the original table model could not update the grand total column correctly. See the bug report here.
    • (Pivot) Fixed so that PivotTablePane#setFieldChooserVisible() will be respected when PivotTablePane#setPivotDataModel() is invoked. See the bug report here.
    • (TreeMap) Improved compatiblity with Java 5.
    • (TreeMap) Fixed TreeMapModel's getNumericMax and getNumericMin not updated with new data.

    Backward Compatibility

    • (Gantt) The parameter of DefaultGanttModel changed from TreeTableModel to ITreeTableModel which may cause backward compatibility issue. See the bug report here.
    • (Common) A new redesigned TristateCheckBox replaced the old one. If you have to use the old one. See the bug report here.

    May 13, 2011 - 3.0.3  (Regular Release, changes from 3.0.2)

    Enhancement Requests

    • (Charts) Can configure the Chart to use a single in-memory image for lazy rendering (as in earlier versions) instead of the one image per model approach that is used by default.
    • (Charts) You can now specify whether a sort should be in increasing or decreasing order. See the enhancement request here.
    • (Common) Added new components into JideScrollPane.
    • (Editor) Added setAdjustColumnSelectionOnMouseEvent(). See the enhancement request here.
    • (Grids) Provided traversal APIs to traverse in the tree. See the enhancement request here.
    • (Grids) Provided APIs in ValidationResult so that user could change the invalid value to new value in validation process. See the enhancement request here.
    • (Grids) Added legacy AbstractComboBox cell editors back for better backward compatibility concern. See the enhancement request here.
    • (Grids) Added TristateCheckBox cell editor and cell renderer.
    • (Grids) Added createDateComboBoxButton() so that the customer could customize the DateChooserPanel. See the enhancement request here.
    • (Grids) Added new editor context for vertical cell renderer that rotates in counter clockwise direction.
    • (Shortcut) Added convertShortcutToString() for easier customizing the text displayed in ShortcutField. See the enhancement request here.
    • (Synthetica) Fixed the tab text color is not correct under Synthetica BlackEye theme.
    • (TreeMap) Added support for word-wrap in tooltips and labels.
    • (TreeMap) Introduced TreeMapFieldSettings for customizability on a field-by-field basis.
    • (TreeMap) Improved support for TreeMapTooltipRenderer. See the enhancement request here.
    • (TreeMap) Improved progressive rendering.

    Bug Fixes

    • (Charts) Fixes a problem with the depth proportion property.
    • (Charts) Corrects an issue with currentChartPoint property in stacked bar charts.
    • (Charts) Fixes a problem when using a bar chart with a logarithmic axis.
    • (Charts) Fixes possible NPE when painting a tick label.
    • (Charts) Corrects a problem in detecting overlapping tick labels.
    • (Charts) Fixes font auto-resizing problem.
    • (Charts) Fixes a formatting error in the toString() method of DirectionZoomEvent.
    • (Charts) Corrected logic surrounding positioning of the interval marker that may have resulted in a Null Pointer Exception.
    • (Charts) Moved package to fix cyclic dependency.
    • (Common) Fixed the issue that pressing TAB key cannot release focus from the JTextComponent with IntelliHints popup visible. See the bug report here.
    • (Common) Fixed so that a exception will be thrown if layout saving failed for any reason. See the bug report here.
    • (Common) Fixed so that DateSpinner will take default date format according to current default Locale. See the bug report here.
    • (Common) Fixed JideLabel doesn't display html code correctly.
    • (Common) Adjusted the JideScrollPane's layout so that the upper-right and lower-right corner components could be visible above the vertical scroll bar if row footer component is null and vertical scroll bar is not stretched. See the bug report here.
    • (Dashboard) Fixed the issue that setting new predefined layout didn't clear the old layout completely. See the bug report here.
    • (Dashboard) Fixed the issue that the gadget size was not persisted if Dashboard#setPredefinedLayout() is ever invoked. See the bug report here.
    • (Dashboard) Fixed so that maximized gadget component could be loaded correctly when Dashboard#isPredefinedLayoutSet() returns true. See the bug report here.
    • (Data) Fixed the odd behavior when AbstractPageTableModel receives table model event from its underlying table model. See the bug report here.
    • (Data) Fixed so that changing page would not automatically select a row in the table or list.
    • (Data) Fixed the issue that pressing "previous page" on the last page moves the page to the first page unexpectedly. See the bug report here.
    • (Data) Fixed the issue that the "next" and "last" buttons were not disabled when the current page is the last page. See the bug report here.
    • (Data) Fixed the issue that the navigation behavior on the last and first page was not correct.
    • (Dock) Fixed the issue that the dockable frame is not able to be dragged to dock state in a modal dialog based DefaultDockingManager. See the bug report here.
    • (Dock) Fixed the NPE issue if the customer happens to override DockableFrame#getKey() which makes it return null. See the bug report here.
    • (Editor) Fixed find dialog not having focus when it shows up right after a find result message.
    • (Editor) Fixed the regression in 3.0.0 that searching text in selected range could not select correct range.
    • (Editor) Fixed the issue that pressing CTRL+F after selecting texts could not switch the FindAndReplaceTarget to CodeEditorSelectionFindAndReplaceTarget automatically.
    • (Editor) Fixed the issue that sometimes highlight all cannot highlight all matched texts.
    • (Editor) Fixed so that clicking on CodeEditor won't clear the highlights created by SearchableBar. See the bug report here.
    • (Editor) Fixed the issue that the line break style after conversion is inconsistent with the inserted line break later on. See the bug report here.
    • (Editor) Fixed so that pressing after the end of the entire document will change the caret position to the document end.
    • (Editor) Fixed so that pressing LEFT/RIGHT arrow on the selected text may navigate the caret to the start/end of the selected text.
    • (Editor) Fixed the line break counting issue for Mac style line break files. See the bug report here.
    • (Editor) Fixed the issue that loading an empty file could not work properly. See the bug report here.
    • (Gantt) Fixed the NPE issue while the range of a gantt entry is null. See the bug report here.
    • (Gantt) Fixed the issue that sorting tree table in GanttChartPane didn't update the GanttChart part correctly. See the bug report here.
    • (Grids) Fixed so that setColorIconVisible() and setColorValueVisible() work as expected. See the bug report here.
    • (Grids) Fixed so that the time spinner in DateChooserPanel always reserve the preferred size for double-digit hours. See the bug report here.
    • (Grids) Fixed the issue that invoking setShowOKButton(false) could not make the OK button invisible. See the bug report here.
    • (Grids) Fixed the NegativeArraySizeException issue if the selection mode is DISABLED.
    • (Grids) Fixed so that updating original DefaultDualListModel will update the current selected indices correctly.
    • (Grids) Fixed so that ExComboBox#firePopupMenuWillBecomeVisible() could be invoked in JDK6u25 and above.
    • (Grids) Fixed the regression that FilterableTreeModel#isFilterEndNode() did not work as expected.
    • (Grids) Fixed the issue that the tree filtering did not work correct when isKeepAllChildren() returns true. See the bug report here.
    • (Grids) Fixed so that FilterableTreeTableModel could work well in rows with recursive parent-child relationship.
    • (Grids) Fixed the line count issue if the target file contains invalid line break like "\r\r\n". See the bug report here.
    • (Grids) Fixed so that SortableTableHeader#setPreferredSize() could take effect. See the bug report here.
    • (Grids) Fixed so that AutoFilterTableHeader could still be clicked to sort when setRolloverEnabled(false) is invoked. See the bug report here.
    • (Grids) Fixed the tree icon painting issue while SortableTreeTableModel wrapping DefaultPageTableModel.
    • (Grids) Fixed the issue that invoking TableColumnModel#addColumn() directly sometimes could not synchronize the column in column footer table correctly. See the bug report here.
    • (Grids) Fixed so that TableColumnChooser#reorderColumns() could work for TableScrollPane. See the bug report here.
    • (Grids) Fixed the issue that invalidating TableScrollPane with an empty row header table caused the view position reset to 0. See the bug report here.
    • (Grids) Fixed so that TableScrollPane#isCellSelected() works when JideTable#setNonContiguousSelection(true) is invoked for tables inside TableScrollPane. See the bug report here.
    • (Grids) Fixed the issue that TableShrinkSearchableSupport could not work well with TreeTable. See the bug report here.
    • (Grids) Fixed the issue that the view is not synchronized correctly while there are 3 or more TableScrollPanes inside a TableSplitPane.
    • (Grids) Fixed so that updating parent row will automatically remove its child row if the parent row after updating is filtered away.
    • (Pivot) Fixed so that cells in aggregated columns could be exported to excel with a correct format if the cell is not a subtotal. See the bug report here.
    • (Pivot) Fixed the regression that pressing cancel on dragging a FieldBox could not cancel the dragging.
    • (Pivot) Fixed the issue that firing row update event sometimes update PivotTablePane incorrectly. See the bug report here.
    • (Synthetica) Fixed CollapsiblePane content background color is wrong on Synthetica BlackEye theme.
    • (TreeMap) Fixed improper updating of hierarchy with dynamic data. See the bug report here.
    • (TreeMap) Fixed potential deadlock when in progressive mode.

    Backward Compatibility

    • (Gantt) The parameter of DefaultGanttModel changed from TreeTableModel to ITreeTableModel which may cause backward compatibility issue. See the bug report here.

    April 22, 2011 - 3.0.2  (Regular Release, changes from 3.0.1)

    Enhancement Requests

    • (Charts) Changed bar/pie renderers to support highlights on categories - which can be overridden by highlights on points.
    • (Charts) Added a removeNeedles() method.
    • (Dock) Added getDraggingTarget() so that customers could define their own dragging target for DockableFrame to be dragged.
    • (Grids) Added setUseTableCellRenderer() to provide an option for AutoFilterTableHeader to reuse the table cell renderer to render the popup list. See the enhancement request here.
    • (Grids) Added an option in AutoFilterBox to configure the searching delay if isAcceptInput() returns true. See the enhancement request here.
    • (Grids) Use ExComboBox for all combobox-based cell editor.
    • (Grids) Added FolderChooserExComboBox.
    • (Grids) Fixed so that the row selection could be persisted while grouping/ungrouping. See the enhancement request here.

    Bug Fixes

    • (Action) Fixed a potential memory leak issue on floating dockable bar without dragging.
    • (Charts) Fixes possible NPE when axis label is non-null and chart size is zero.
    • (Charts) Fixes a problem in recognising the edge of the paintable region when painting of y axis tick labels.
    • (Charts) Fixes a possible NPE when using Double.NaN on a cyclical model.
    • (Charts) Can now have a bar chart with horizontal bars that pans vertically.
    • (Charts) Proportional bar group gap now also respected under zooming.
    • (Charts) Removed assumption that points will be ChartPoints in a pie chart.
    • (Charts) Improved the appearance of CIRCLE and DISC shaped points.
    • (Charts) Fixed problem with clipping region when painting dials and pivots.
    • (Charts) Corrected a minor clipping region problem at the edge of the dial face.
    • (Charts) Now takes account of dial insets when preparing paint.
    • (Charts) Fixed problem which sometimes resulted in an extraneous tick.
    • (Common) Fixed the AIOOBE issue ArrayConverter may throw.
    • (Common) Fixed the memory leak issue in JideTabbedPane. See the bug report here.
    • (Common) Fixed the issue that DelegateAction#replaceAction() may cause StackOverflowError in some circumstances.
    • (Common) Fixed the size of JideButton is small under Synthetica BlackEye theme.
    • (Common) Fixed the issue that CollapsiblePane in SEPARATOR style has a wrong background color in Office2003 style. See the bug report here.
    • (Common) Fixed so that setState() will be invoked instead of model.setState() while the TristateCheckBox is pressed.
    • (Dashboard) Fixed the issue that maximizing the last gadget component inside a Dashboard then restoring it caused the gadget component lost. See the bug report here.
    • (Dashboard) Fixed so that closing the last dashboard won't remove the "show palette" and "add dashboard" buttons. See the bug report here.
    • (Dock) Fixed the ClassCastException while working with JDAF.
    • (Editor) Fixed so that paste copied text could be indented correctly. See the bug report here.
    • (Editor) Fixed the issue that sometimes two delete action was needed to delete a line break in the line end.
    • (Editor) Fixed the issue that the listeners installed to SyntaxDocument were duplicated after calling setRawText() which is a regression in 3.0.0. See the bug report here.
    • (Editor) Fixed the issue that there could be a temporary peak memory consumption on invoking CodeEditor#setText(). See the bug report here.
    • (Gantt) Fixed the IAE issue on printing. See the bug report here.
    • (Grids) Fixed the issue that invoking ComboBoxModel#setSelectedItem() didn't fire item changed event correctly. See the bug report here.
    • (Grids) Fixed so that clearing filter in FilterableTableModel will automatically clear the input text in AutoFilterRow installed by AutoFilterUtils.
    • (Grids) Improved the performance on painting drop line and let the TableScrollPane painting drop line more like a JTable. See the bug report here.
    • (Grids) Fixed the NPE while using DateFilter in DefaultDateModel.
    • (Grids) Fixed the issue that the button is painted as pressed after displaying a popup dialog.
    • (Grids) Fixed so that multiple-line labels could be painted correctly in the row-span cells. See the bug report here.
    • (Grids) Fixed the regressionsince 2.11.2 that QuickTreeFilterField#setMatchesLeafNodeOnly(false) did not work correctly.
    • (Grids) Fixed so that the exported excel file could have correct data format for each cell while cell value converter is configured. See the bug report here.
    • (Grids) Fixed so that invoking setRowSelectionInterval() will clear the saved selections to avoid future unexpected selections after sorting/filtering.
    • (Grids) Fixed so that the DnD operation will not change current row selection. See the bug report here.
    • (Grids) Added an option so that the selection could be loaded when the customer fires table data changed event from original table model. See the bug report here.
    • (Grids) Fixed the issue that the cell renderer was not painted with gray foreground as expected if setEnabled(false) is invoked and it's used in a TreeTable or PivotTablePane. See the bug report here.
    • (Grids) Fixed the issue that some keys in German keyboard could not be entered into JideTable. See the bug report here.
    • (Grids) Fixed so that setSelectionMode() could take effective immediately.
    • (Grids) Improved the performance for NestedTableHeader#getRowCount(). See the bug report here.
    • (Grids) Fixed so that the keyboard navigation works well when TreeTable is installed as a main table in TableScrollPane. See the bug report here.
    • (Grids) Fixed the issue that dragging a value to a TableScrollPane's main table caused the column footer table have column selection.
    • (Grids) Fixed the issue that TreeExComboBox did not honor the tree model passed into its constructor.
    • (Grids) Fixed to avoid firing unnecessary selection change event on tree table expand/collapse operations. See the bug report here.
    • (Pivot) Fixed to allow BigDecimal as input type of ExpressionCalculatedColumn.
    • (Pivot) Fixed the issue that PivotTablePane#setRowFieldAreaVisible(false) is not respected after PivotTablePane#setPivotDataModel() is invoked. See the bug report here.
    • (SourceStubber) Fixed the extra brace bug when stubbing a class with interfaces. See the bug report here.

    Backward Compatibility

    • (Grids) Replaced AbstractComboBox with ExComboBox for all combobox-based cell editor which may break some customer codes.

    April 7, 2011 - 3.0.1  (Regular Release, changes from 3.0.0)

    Enhancement Requests

    • (Component) Do not paint the resize corner on Aqua as Aqua L&F will paint a resize corner.
    • (Synthetica) Added Synthetica support for ExComboBox.

    Bug Fixes

    • (Charts) Fixed a memory leak that occurs when displaying stacked bar charts.
    • (Charts) Fixes problem in painting of bar charts with NaN values.
    • (Common) Fixed an exception while JideTabbedPane#getSelectedIndex() returns -1 which is a regression in 3.0.0.
    • (Dock) Fixed the issue that loading a FrameContainer with invalid select index in a nested dockable holder makes the holder invisible. See the bug report here.
    • (Dock) Changed some UIDefaults from Synthetica.
    • (Editor) Fixed so that clearing search text will move the caret left as well. See the bug report here.
    • (Editor) Fixed so that all FindAndReplace related messages could be internationalized via CodeEditor#getResourceString(String).
    • (Gantt) Fixed the NPE issue while clicking on a row with sub entries. See the bug report here.
    • (Grids) Fixed the issue that setFillsViewportWithStripe(true) clear the last horizontal grid incorrectly. See the bug report here.

    May 24, 2011 - 2.11.4  (Maintenance Release, changes from 2.11.3)

    Bug Fixes

    • (Common) Fixed the AIOOBE issue ArrayConverter may throw.
    • (Common) Fixed the memory leak issue in JideTabbedPane. See the bug report here.
    • (Common) Fixed the issue that CollapsiblePane in SEPARATOR style has a wrong background color in Office2003 style. See the bug report here.
    • (Dock) Fixed the issue that the dockable frame is not able to be dragged to dock state in a modal dialog based DefaultDockingManager. See the bug report here.
    • (Grids) Fixed the NPE while using DateFilter in DefaultDateModel.
    • (Grids) Fixed the regressionsince 2.11.2 that QuickTreeFilterField#setMatchesLeafNodeOnly(false) did not work correctly.
    • (Grids) Fixed the issue that the tree filtering did not work correct when isKeepAllChildren() returns true. See the bug report here.
    • (Grids) Fixed the issue that the cell renderer was not painted with gray foreground as expected if setEnabled(false) is invoked and it's used in a TreeTable or PivotTablePane. See the bug report here.

    April 11, 2011 - 2.11.3  (Maintenance Release, changes from 2.11.2)

    Bug Fixes

    • (Common) Fixed so that FolderChooser will display the folder with respecting to the FileFilter result. See the bug report here.
    • (Common) Fixed a memory leak issue while dynamically adding and removing new component to a JideSplitPane.
    • (Dashboard) Fixed the issue that the preferred size of GadgetContainer was reset to a very small width in some scenario. See the bug report here.
    • (Dashboard) Fixed the regression since 2.10.3 that the fake gadget component on dragging was truncated.
    • (Editor) Fixed an endless loop on character insertion.
    • (Editor) Fixed the issue that caret in the open bracket could not find its close bracket correctly.
    • (Editor) Fixed potential NPEs. See the bug report here.
    • (Editor) Fixed so that the painting of non customized marker would not override the painting of token marker.
    • (Example) Fixed the issue that closing last demo could not close the options frame as well.
    • (Gantt) Fixed the NPE issue while clicking on a row with sub entries. See the bug report here.
    • (Grids) Fixed the issue that setFillsViewportWithStripe(true) clear the last horizontal grid incorrectly. See the bug report here.
    • (Grids) Fixed the regression that clicking on the first column in GroupTableHeader sorted the grouped column unexpectedly.
    • (Grids) Fixed an NPE issue while exporting TableScrollPane to excel.
    • (Grids) Added an NPE check in getSortRanges().
    • (Pivot) Fixed the issue that the null values could not be filtered out correctly in UI if PivotField#setNulLValueAllowed(false) and PivotField#setPreferSelectedPossibleValues(false).
    • (Pivot) Fixed so that PivotDataModel#isAutoSortKeys() will be honored.
    • (Pivot) Fixed so that PivotField.SORT_ORDER_UNSORTED could be honored in both PivotTablePane and AggregateTable. See the bug report here.

    April 4, 2011 - 3.0.0  (Regular Release, changes from 2.11.2)

    Enhancement Requests

    • (TreeMap) Introduce a new product called TreeMap.
    • (Charts) Introduce Dial/Gauge a new chart type to JIDE Charts.
    • (Charts) Added property to allow you to prevent added margin from crossing the axis zero line.
    • (Charts) IntervalMarker and RectangularRegionMarker can now be painted behind axes by setting with a negative zOrder.
    • (Charts) Now supports a horizontal layout for legend items that wraps around when there is not enough space.
    • (Common) Added ReflectionUtils to make reflection being used easier.
    • (Data) New design for CrudDatabaseTableModel.
    • (Data) Added new component called PagedTablePane.
    • (Dock) Added APIs to configure the tab background and foreground in DockableFrame level and take effect in both FrameContainer and AutoHideContainer.
    • (Editor) Made DefaultMarkerModel change marker start&end offset according to the latest document editing.
    • (Grids) Added CompoundTableModelEvent to improve the performance on complicated event scenario.
    • (Grids) Introduce ExComboBox which is a better replacement for JComboBox that allows you to display tree, table, date chooser, color chooser etc. custom components in the drop down.
    • (Grids) Made the header renderer configured by TableColumn#setHeaderRenderer() could be kept during grouping/ungrouping operations. See the enhancement request here.
    • (Grids) Added drop location synchronization mechanism for TableScrollPane. See the enhancement request here.

    Bug Fixes

    • (Action) Fixed an NPE issue if invoking createLookAndFeelMenu() with null.
    • (Charts) Axis now supports multi-line labels when passing html fragment as the label string.
    • (Charts) Prevents a possible division by zero error.
    • (Charts) cylinders now look better if you use a fill color with transparency.
    • (Charts) Fixes a possible NPE.
    • (Charts) Prevents non-terminating loop caused by bad constructor inputs.
    • (Charts) Fixes a bug that affected the graphics context when drawing simple labels for pie chart and caused the chart title to not be shown.
    • (Common) Fixed incompatible issue with the latest Apple JDK release in AquaRangeSliderUI.
    • (Common) Fixes a problem when the range contains no subranges.
    • (Common) Fixed so that FolderChooser will display the folder with respecting to the FileFilter result. See the bug report here.
    • (Common) Fixed a memory leak issue while dynamically adding and removing new component to a JideSplitPane.
    • (Common) Fixed the IllegalArgumentException while the main viewport of the target scroll pane is not visible. See the bug report here.
    • (Common) Fixed so that SidePane would show tooltip of the pointed SidePaneItem component if rollover is disabled. See the bug report here.
    • (Common) Fixed a style range check bug. See the bug report here.
    • (Component) Fixed the issue that setDocumentEnabled(true) changes the child component's property unexpectedly. See the bug report here.
    • (Component) Fixed the flickering on dragging if OutlookTabbedPane#setButtonPanelHeight(0) is invoked to hide the button panel.
    • (Dashboard) Fixed the inconsistency issue while saving Dashboard with other encoding than utf-8. See the bug report here.
    • (Dashboard) Fixed the issue that the preferred size of GadgetContainer was reset to a very small width in some scenario. See the bug report here.
    • (Dashboard) Fixed the regression since 2.10.3 that the fake gadget component on dragging was truncated.
    • (Data) Fixed a potential NPE issue while refreshData() is not invoked or refreshData() did not invoke setCurrentPageModel() as expected. See the bug report here.
    • (Editor) Made the resource string in FindAndReplaceDialog retrievable from CodeEditor#getResourceString().
    • (Editor) Made ClipboardsDialog more user friendly. See the bug report here.
    • (Editor) Fixed an endless loop on character insertion.
    • (Editor) Fixed the memory leak issue in PlainDocument while invoking CodeEditor#setText(""). See the bug report here.
    • (Editor) Fixed so that the horizontal scroll bar will be updated accordingly while moving caret all the way to the right into the virtual space. See the bug report here.
    • (Editor) Fixed the issue that caret in the open bracket could not find its close bracket correctly.
    • (Editor) Fixed the issue that horizontal scroll bar didn't update immediately after typing texts in the end of a line.
    • (Editor) Fixed so that selecting a word then CTRL+F to search would start from that word instead of the next match. See the bug report here.
    • (Editor) Fixed so that bracket highlight is not painted in XOR mode.
    • (Editor) Fixed so that the marker could be painted correctly when crossing multiple lines.
    • (Editor) Fixed so that the tooltip is shown correctly on overlaped marks.
    • (Editor) Fixed so that making searching text empty will clear the selection the Searchable previously made. See the bug report here.
    • (Editor) Fixed the issue that highlightAll could not highlight the first match in CodeEditor. See the bug report here.
    • (Editor) Fixed the issue that cancel the replace dialog didn't clear the replace flag which makes following search popup replace prompt dialog incorrectly. See the bug report here.
    • (Editor) Fixed potential NPEs. See the bug report here.
    • (Editor) Fixed the line count calculating issue while a "\r\r\n" exists in a file to be loaded by LazyLoadDocument. See the bug report here.
    • (Editor) Fixed so that the wave effect will be painted from the beginning of the first character.
    • (Editor) Fixed so that the painting of non customized marker would not override the painting of token marker.
    • (Example) Fixed the demo issue that Task#setValueAt() didn't fire table model events.
    • (Example) Fixed the issue that closing last demo could not close the options frame as well.
    • (Gantt) Added Japanese translation for several menu items.
    • (Grids) Fixed so that the value of the AbstractComboBox will be updated already on receiving popup menu will become invisible event. See the bug report here.
    • (Grids) Fixed so that AbstractComboBox will be able to fire action event on hiding popup by clicking the dropdown button. See the bug report here.
    • (Grids) Made the ok/cancel action executed after AbstractComboBox invoke setSelectedObject() so that the customer could get the latest value in the action listener. See the bug report here.
    • (Grids) Fixed a threading issue on CellStyleTable#getCellStyleAt(). See the bug report here.
    • (Grids) Fixed so that ColorChooserPanel will honor the local setting from ColorComboBox if applicable. See the bug report here.
    • (Grids) Fixed the NPE while begins with an (empty) value is chosen in CustomFilterEditor.
    • (Grids) Improved performance while isKeepPreviousExpandStatus() returns true. See the bug report here.
    • (Grids) Updated javadoc of DefaultGroupTableModel. See the bug report here.
    • (Grids) Removed the dependency on sun.swing.plaf.synth package. See the bug report here.
    • (Grids) Reduced the memory usage on filtering. See the bug report here.
    • (Grids) Fixed so that FontComboBox/InsetsComboBox will invoke setSelectedItem() to update the selected item on changing its value via popup panel . See the bug report here.
    • (Grids) Updated javadoc to mention the restriction of usage of getAutoCreateColumnsFromModel. See the bug report here.
    • (Grids) Fixed the regression that clicking on the first column in GroupTableHeader sorted the grouped column unexpectedly.
    • (Grids) Fixed an NPE issue while exporting TableScrollPane to excel.
    • (Grids) Fixed the issue that adding or deleting a row inside TableScrollPane changes the row selection unexpectedly. See the bug report here.
    • (Grids) Updated javadoc of PasswordCellEditor. See the bug report here.
    • (Grids) Fixed the issue that editing the property name column in PropertyTable didn't paint the cell editor in correct position. See the bug report here.
    • (Grids) Added an NPE check in getSortRanges().
    • (Grids) Fixed the issue that TableScollPane#getSelectedColumn() always returns the column index selected in row header table. See the bug report here.
    • (Grids) Fixed the issue that the value editor did not display the selected value correctly following converter context.
    • (Pivot) Fixed so that AggregateTable could be collapsed/expanded by clicking on the icon in RTL mode. See the bug report here.
    • (Pivot) Fixed the scrolling issue while DataTable is empty. See the bug report here.
    • (Pivot) Fixed the issue that the null values could not be filtered out correctly in UI if PivotField#setNulLValueAllowed(false) and PivotField#setPreferSelectedPossibleValues(false).
    • (Pivot) Fixed so that PivotDataModel#isAutoSortKeys() will be honored.
    • (Pivot) Fixed so that PivotField.SORT_ORDER_UNSORTED could be honored in both PivotTablePane and AggregateTable. See the bug report here.
    • (Pivot) Fixed the issue that firing table data change event from original table model caused the filtering popup from FieldBox disappeared. See the bug report here.
    • (Pivot) Made the data field column respect the maximum preferred width of the data fields if both PivotTablePane#isRespectFieldPreferredWidth() and PivotDataModel#isAlwaysRowDataFields() return true. See the bug report here.

    Backward Compatibility

    • (Component) If you expect the setDocumentEnable(false) to disable all the document's child component, please listen to PROPERTY_ENABLED of DocumentComponent to handle it in your application. See the bug report here.
    • (Data) Changed design of CrudDatabaseTableModel and APIs.

    March 10, 2011 - 2.11.2  (Regular Release, changes from 2.11.1)

    Enhancement Requests

    • (Charts) Can now set tick length on a per axis basis.
    • (Charts) Exposed depthRatio and angle as properties to enable customizing the 3D appearance.
    • (Charts) Added the ability to set a proportional spacing for the width of bars in a bar chart.
    • (Charts) Refactoring of renderer classes enables gradient fill styles to be customised.
    • (Charts) Improved the configuration options for appearance of labels using LinePieLabelRenderer or SimplePieLabelRenderer.
    • (Charts) It is now possible to specify a specific point as the origin of a zoom - could be useful to set 0 as the origin of a zoom on a bar chart.
    • (Common) Added an option to configure if CheckBoxTree should select or deselect all first on toggling a partially selected node.
    • (Common) Added new method to return number of subranges summarised by the combined range.
    • (Common) Added Searchable#setPopupTimeout() to automatically hide search popup. See the enhancement request here.
    • (Editor) Added a new property PROPERTY_COLUMN_SELECTION_ENABLED. See the enhancement request here.
    • (Editor) Added flag to freeze PromptDialog so that the customer could click "replace" button continuously. See the enhancement request here.
    • (Editor) Added a flag to disable the tooltip text for LineNumberMargin. See the enhancement request here.
    • (Grids) Moved three flags in QuickTreeFilterField into FilterableTreeModel.
    • (Pivot) Made FieldBox#setFont() be able to configure the font of the field box. See the enhancement request here.

    Bug Fixes

    • (Charts) Corrects the position of tick labels on the y axis when the tick label rotation is 90 or -90 degrees.
    • (Charts) Fixes a NPE that occurs when drawing bar charts with values that are Double.NaN.
    • (Charts) Fixes possible NPE when drawing bar charts and no style is applied.
    • (Charts) Fixes a rounding error that led to occasional unwanted 1 pixel gaps between bars. See the bug report here.
    • (Charts) Corrects minor arithmetic and rounding errors during placement of points and their outlines.
    • (Charts) Fixes a problem with vertical panning on a categorical axis.
    • (Charts) Fixes error when panning on a chart with a categorical axis that contains no categories.
    • (Charts) Fixed a bug where the pan indicator shows even when there is no data.
    • (Charts) Fixed a bug that arose when minorTickInterval was supplied as 0.
    • (Common) Fixed so that the intelli hints could work well in modal dialog.
    • (Common) Fixed StackOverflowError in filtering scenario without using FilterableCheckBoxTreeSelectionModel.
    • (Component) Fixed so that DocumentPane could be reset to default correctly.
    • (Data) Fixed the issue that SQL statement was created incorrectly for SingleValueFiler and BetweenFilter if the column class is String type. See the bug report here.
    • (Doc) Fixed the Dashboard description issue in readme.text.
    • (Dock) Fixed the issue that adding a new frame with init state as STATE_HIDDEN cannot change the frame.isHidden() to true. See the bug report here.
    • (Dock) Fixed the memory leak issue on dispose(). See the bug report here.
    • (Dock) Fixed the issue that dockable frame could be dragged into an invisible DockingManager incorrectly.
    • (Dock) Fixed the floating container shrinking issue in Eclipse L&F after toggling state of floated frames several times. See the bug report here.
    • (Dock) Fixed the flickering issue while floating a frame. See the bug report here.
    • (Dock) Fixed the IAE issue while toggling an autohidden frame to floating if it was floated, maximized then autohidden.
    • (Editor) Fixed so that the code editor intelli hints could work well in modal dialog.
    • (Editor) Fixed so that switching search target from selection to global will search from last match in the selection instead of from the end of current selection. See the bug report here.
    • (Editor) Fixed the toggle folding selection issue while expanding a folded selection after making a right-to-left selection. See the bug report here.
    • (Editor) Fixed so that left of open bracket instead of right triggers bracket matching. See the bug report here.
    • (Editor) Fixed a dead loop issue while there are two open brackets in a row on selecting block. See the bug report here.
    • (Editor) Fixed the issue that switching target between global and selection on FindAndReplacePanel sometimes does not take effect. See the bug report here.
    • (Editor) Fixed that searching inside selected text could not highlight the text found. See the bug report here.
    • (Editor) Fixed so that searching inside a selection won't highlight incorrect range. See the bug report here.
    • (Editor) Fixed so that pressing DELETE or BACKSPACE could not delete a single character or work inside a collapsed folding span. See the bug report here.
    • (Editor) Fixed the issue that the caret is positioned incorrectly if a folding span within one line is collapsed and the caret is positioned in the same line after the collapsed span. See the bug report here.
    • (Editor) Fixed so that the folding span created by "folding selection" could be removed on "expand fold span" and "expand all". See the bug report here.
    • (Editor) Fixed so that the customer could localize the string displayed by FindAndReplace easier. See the bug report here.
    • (Editor) Fixed so that selecting block would not throw StringIndexOutOfException. See the bug report here.
    • (Editor) Fixed so that the current selection would be used for replace dialog. See the bug report here.
    • (Editor) Fixed so that the bounds of FindAndReplaceDialog could be persisted. See the bug report here.
    • (Editor) Improved performance to calculate the content size of CodeEditor. See the bug report here.
    • (Editor) Fixed the issue that inserting string directly to CodeEditor's document didn't update the margin area immediately. See the bug report here.
    • (Editor) Fixed the issue that selecting a line including document end then typing a character could not clear the selected text. See the bug report here.
    • (Editor) Improved performance while inserting text and no folding impacted. See the bug report here.
    • (Editor) Improved performance on inserting huge text to CodeEditor. See the bug report here.
    • (Editor) Added NPE check for MarkerArea.
    • (Editor) Fixed the issue that repaint() could be invoked in other threads than EDT.
    • (Editor) Fixed the painting issue while the literal cross multiple lines and the start of literal is not visible. See the bug report here.
    • (Editor) Fixed the issue that matching bracket does not work for the token marker scenario that the bracket is defined as start/end of a comment/literal. See the bug report here.
    • (Gantt) Fixed the issue that dragging a gantt entry then dragging it again caused the gantt entry jump back to the original position. See the bug report here.
    • (Gantt) Made tree table model get column name from gantt.properties.
    • (Gantt) Added Japanese translation for Gantt package.
    • (Grids) Fixed so that action event should be fired only once on committing or popup menu cancelled however the popup menu cancel behavior is PERSIST.
    • (Grids) Fixed the regression in 2.11.1 that default FondCellEditor throws StackOverflowError. See the bug report here.
    • (Grids) Made several component fields protected for easier customize. See the bug report here.
    • (Grids) Fixed so that item changed event should be fired each time selecting or deselecting an entry in CheckBoxListComboBox.
    • (Grids) Fixed so that Grouper could be rendered correctly if the groupable column is grouped in a GroupTable. See the bug report here.
    • (Grids) Improved performance on grouping. See the bug report here.
    • (Grids) Fixed so that filtering in FilterableListModel will update the selections in FilterableCheckBoxListSelectionModel.
    • (Grids) Added some javadoc.
    • (Grids) Fixed the issue that input negative numbers could result in following editing cells turns into negative automatically. See the bug report here.
    • (Grids) Fixed the issue that dragging column to the end of group sometimes group the column at the first.
    • (Grids) Fixed an excel grouping issue while exporting a TreeTable within a TableScrollPane and NestedTableHeader to excel.
    • (Grids) Fixed an NPE issue while exporting table to excel using ContextSensitiveCellValueConverter. See the bug report here.
    • (Grids) Fixed a painting issue in Mac if isRowAutoResizes() returns true and the table is used as a cell renderer component. See the bug report here.
    • (Grids) Fixed the issue that ListComboBox.getSelectedObject() returns previous selected item on receiving item events if the customer use keyboard to navigate the options.
    • (Pivot) Added AggregatedTableModel#getRowAt() to convert row index in actual table model to the row index in AggregateTableModel. See the bug report here.
    • (Pivot) Fixed the scrolling issue in UnassignedFieldsArea. See the bug report here.

    Backward Compatibility

    • (Editor) FindAndReplaceTarget adds two new methods which may break customer code who implement this interface directly. See the enhancement request here.

    February 21, 2011 - 2.11.1  (Regular Release, changes from 2.11.0)

    Enhancement Requests

    • (Charts) It is now possible to set different fonts for tick labels on different axes.
    • (Charts) Now supports horizontal area charts as well as the regular vertical ones.
    • (Charts) It is now possible to set a barRenderer on a per model basis.
    • (Charts) Legend now supports a gradient background with setLegendBackground() method.
    • (Charts) Added methods to expose the font color of labels and the title as properties.
    • (Dock) Fixed the issue that available previous state and autohide previous state are not restored correctly.
    • (Dock) Added snap feature on dragging frames. See the enhancement request here.
    • (Dock) Added DOUBLE_CLICK_TO_AUTOHIDE option. See the enhancement request here.
    • (Dock) Provided API to compare two saved layout file. See the enhancement request here.
    • (Pivot) Splited displayGrandTotalFirst flag for row and column. See the enhancement request here.

    Bug Fixes

    • (Charts) Can now set a tick label rotation on the y axis.
    • (Charts) axis line no longer shown when axis renderer set to null.
    • (Charts) Title space now relinquished on setTitleVisible(false). See the bug report here.
    • (Charts) Provides a peak icon in the legend for area charts to differentiate better from other chart types.
    • (Charts) Fixes a bug in the demo such that the trend line was not showing.
    • (Charts) SmoothLineRenderer now supports discontinuous line segments. See the bug report here.
    • (Common) Fixed so that mouse wheel move will not be able to change the value of a disabled JSpinner.
    • (Component) Fixed an NPE issue while loaded component does not exist in current DocumentPane. See the bug report here.
    • (Dock) Fixed a regression since 2.10.1 that toggling floated frame to dock state couldn't active the frame correctly. See the bug report here.
    • (Dock) Fixed so that before tab docking DockingManager#isDropAllowed() will be invoked to check if the drop is allowed.
    • (Dock) Fixed so that the dockable frame's size could be reset to default while on autohide or floating state.
    • (Dock) Fixed the issue that togging floated frames twice moves its location and changes its size. See the bug report here.
    • (Dock) Fixed the issue that autohide container could not be loaded correctly in XML format.
    • (Editor) Fixed the regression in 2.11.0 that selecting from right to left then paste causes the selected text being duplicated.
    • (Editor) Added javadoc to state that exportToOutputStream() could not save to the same file as getFileName(). See the bug report here.
    • (Editor) Fixed the issue that move caret right from the end of a line then move down caused the caret positioned incorrectly.
    • (Editor) Fixed the issue that the inserted character is not in where the caret is if the caret is not at the same place with the selection.
    • (Editor) Fixed the issue that KeywordMap#keyWordSet() returned incomplete keyword sets. See the bug report here.
    • (Editor) Fixed so that invoking Marker#setEnabled() will automatically update UI accordingly.
    • (Editor) Fixed the empty tooltip issue if marker does not have any tooltip text set.
    • (Editor) Fixed so that changing foreground & font for "Normal" style could also work. See the bug report here.
    • (Gantt) Fixed the issue that the customer could not edit the progress column to change the value to 100%.
    • (Grids) Fixed so that pressing cancel fires popupMenuCancelled event then popupMenuInvisible event.
    • (Grids) Fixed the regression that the filter button is too short in 2.11.0 if the L&F is Eclipse or Plastic.
    • (Grids) Fixed the issue that configuring the DateModel to a different timezone than the default one causes DateChooserPanel highlights incorrect selected date. See the bug report here.
    • (Grids) Fixed so that editing year spinner will take effective in the selected calendar immediately.
    • (Grids) Made the default min and max date null in default constructor. See the bug report here.
    • (Grids) Improved performance while inserting rows to an non-grouped DefaultGroupTableModel. See the bug report here.
    • (Grids) Fixed the issue that exporting to excel may exceed maximum cell limit if getCellStyleAt() returns different CellStyle instance for same cell style. See the bug report here.
    • (Grids) Fixed the issue that pressing ENTER could not dismiss the popup panel after editing the year spinner.
    • (Grids) Make any input larger than 1 divided by 100 automatically.
    • (Grids) Improved the performance of RootExpandableRow#notifyChildrenDeleted() by better merging table row deleted events. See the bug report here.
    • (Grids) Fixed the issue that autoResizeColumn() didn't update the column's width immediately in UI as autoResizeAllColumns() does. See the bug report here.
    • (Grids) Fixed the issue that invoking TreeTableModel#collapseAll() then expandAll() changes row selections incorrectly.
    • (Pivot) Fixed the issue that AggregateTableModel#getCellClassAt() may return null if the original table model does not implement ContextSensitiveTableModel. See the bug report here.
    • (Pivot) Removed a debug message output. See the bug report here.
    • (Pivot) Fixed the AIOOBE issue on showing cutom filter editor dialog for AggregateTable with AutoFilterTableHeader. See the bug report here.

    Backward Compatibility

    • (Grids) Changed the input's meaning if you input a number larger than 1 in a percentage style cell.

    February 25, 2011 - 2.10.6  (Maintenance Release, changes from 2.10.5)

    Bug Fixes

    • (Dock) Fixed a regression since 2.10.1 that toggling floated frame to dock state couldn't active the frame correctly. See the bug report here.
    • (Dock) Fixed the issue that adding new frame then resetint to default couldn't fire event correctly. See the bug report here.
    • (Dock) Fixed the potential NPE issue while FrameContainer.getSelectedFrame() returns null. See the bug report here.
    • (Editor) Fixed the issue that move caret right from the end of a line then move down caused the caret positioned incorrectly.
    • (Editor) Fixed the dead lock issue while exporting contents in CodeEditor to a file. See the bug report here.
    • (Grids) Made the default min and max date null in default constructor. See the bug report here.
    • (Grids) Fixed the issue that ListComboBox.getSelectedObject() returns previous selected item on receiving item events if the customer use keyboard to navigate the options.
    • (Pivot) Register default cell renderer for PivotField.class in running configuration table.

    February 7, 2011 - 2.11.0  (Regular Release, changes from 2.10.4)

    Enhancement Requests

    • (Action) Fixed so that DockableBarContext accept init mode like STATE_HIDDEN - STATE_VERT_DOCKED. See the enhancement request here.
    • (Charts) Performance improvements to lazy rendering.
    • (Charts) Performance Improvement in ColorFactory.
    • (Charts) Updated Developer's Guide to include some information on how to read CSV and TSV values from a file.
    • (Component) Enable DocumentPane to save layout to XML format.
    • (Component) Added DocumentPane#setDocumentComponentFactory() to enable automatically creating document component while loading layout. See the enhancement request here.
    • (Dock) Enabled to save docking layout to XML format stream.
    • (Dock) Added unknownFrameBehaviorOnLoading APIs to control how Docking should show the unknown frames while loading layout.
    • (Editor) Added setEnabled() API to manager the Marker easier.
    • (Gantt) Added a new FixedRangeDemo.
    • (Gantt) Added getEntryAt(Point) method. See the enhancement request here.
    • (Grids) Added createFilterField() for customization. See the enhancement request here.
    • (Grids) Fixed so that adding new entries ro deleting existing entries within DualListModel could update the selected list accordingly. See the enhancement request here.
    • (Grids) Added FilterableTreeModel#isFilterEndNode() to avoid potential recursive filtering in some scenarios.
    • (Grids) Made class FieldTableFilter protected for easier customization. See the enhancement request here.
    • (Grids) Added getValueAt() for easy customizing. See the enhancement request here.
    • (Pivot) Provides HeaderTable#createContextMenu() and DataTable#createContextMenu() for customization. See the enhancement request here.
    • (Pivot) Group the rows in the same parent node while exporting to excel. See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes a possible NPE when autoranging and now computes ranges when adding a model.
    • (Charts) Fixed possible NPE in LeanMemoryChartModel.
    • (Charts) Fixes a problem in the rendering of point shapes when offering them for selection.
    • (Charts) Corrects an error in the Legend display when a lineFill is being used on a smoothly rendered line.
    • (Common) Fixed so that setting selected tree path to null will clear the auto completion text field. See the bug report here.
    • (Common) Fixed so that CheckBoxTreeCellRenderer#getTreeCellRendererComponent() would remove all existing children component first.
    • (Common) Fixed the regression since 2.10.1 that pressing CTRL+G could not popup the window to input the line number. See the bug report here.
    • (Common) Fixed so that invoking JideSplitPane#setOrientation() could keep current constraints in effective instead of clear them all.
    • (Common) Fixed so that the one touch expand button follows the background of JideSplitPaneDivider. See the bug report here.
    • (Common) Fixed the NPE issue while using diff product. See the bug report here.
    • (Common) Fixed so that the sort arrow of SortableTableHeader would be painted on the right side of the header if it's in the windows classic theme.
    • (Component) Fixed the NPE and IOOBE issues in DefaultStringConverter.
    • (Dock) Fixed the issue that adding new frame then resetint to default couldn't fire event correctly. See the bug report here.
    • (Dock) Fixed so that the size of the floating container could be persisted no matter how the customer add new components to FloatingContainer. See the bug report here.
    • (Dock) Fixed so that changing a dockable frame's size, hiding it, saving layout, loading layout then showing the frame again could restore the size.
    • (Dock) Fixed the layout loading issue after resizing frame, resetting to default then loading.
    • (Dock) Fixed so that the preferred docked width/height could be respected after loading a layout and the frame was floated in the saved layout. See the bug report here.
    • (Dock) Fixed so that resetToDefault() could reset the docked frame's size correctly.
    • (Dock) Fixed the issue that hidden event was fired twice if a dockable frame is closed. See the bug report here.
    • (Dock) Fixed a potential NPE issue. See the bug report here.
    • (Dock) Fixed a potential AIOOBE while disposing.
    • (Dock) Fixed the issue that showing a initially hidden floating frame caused the frame to be displayed in a very small size. See the bug report here.
    • (Dock) Made DockableFrame#setDockedWidth()/setDockedHeight() work as expected while reset the docking manager to default.
    • (Dock) Fixed the potential NPE issue while FrameContainer.getSelectedFrame() returns null. See the bug report here.
    • (Editor) Fixed the issue that pasting may not past the target string to where caret is if there are selected texts elsewhere else. See the bug report here.
    • (Editor) Fixed the issue that the marker was painted incorrectly after editing.
    • (Editor) Fixed the NPE issue if MarkerArea#getColor() returns null.
    • (Editor) Fixed the dead lock issue while exporting contents in CodeEditor to a file. See the bug report here.
    • (Example) Fixed so that closing a document component would not always close the option panel. See the bug report here.
    • (Gantt) Made setName() and setCompletion() trigger the same event as setRange() for sub entries. See the bug report here.
    • (Grid) Fixed TreeTable never shows tree line on Mac OS X even under non-Aqua L&Fs. See the bug report here.
    • (Grids) Added NPE check for incorrect popup menu listener scenario. See the bug report here.
    • (Grids) Fixed the AIOOBE issue while an empty list is added as children to AbstractExpandable.
    • (Grids) Fixed so that the filter button will keep its preferred size while the header is a html multiple line text. See the bug report here.
    • (Grids) Fixed so that invoking setAutoFilterEnabled() will reset the cursor as well.
    • (Grids) Fixed so that AutoFilterUtils could work with AggregateTable. See the bug report here.
    • (Grids) Fixed so that getSelectedObject() returns current selected item inside the okAction.
    • (Grids) Fixed so that strip background painting would not be executed even if CellStylTable#isFillsViewPortWithStripe() returns true however no cell style is enabled.
    • (Grids) Fixed an NPE issue while clicking week label to choose all labels if DateChooserPanel#isShowPreviousMonthDays() returns false. See the bug report here.
    • (Grids) Fixed the issue that DateChooserPanel marks the day not selectable if the min date of its date model is not 12:00am while isComareTime() returns true. See the bug report here.
    • (Grids) Fixed the maximum allowed date to the maximum value as defined in Calendar class. See the bug report here.
    • (Grids) Fixed the regression in 2.10.5 that max date could overflow which causes setMinDate() throws an exception.
    • (Grids) Fixed the issue that DefaultGroupTableModel#setExpansionState() can only restore the expansion state of the rows in the first level.
    • (Grids) Changed EDITOR_STYLE_NORMAL to do nothing to the existing cell editors and add EDITOR_STYLE_EDITABLE to mandatory change the cell editor to editable style. See the bug report here.
    • (Grids) Fixed a Germany translation issue. See the bug report here.
    • (Grids) Fixed so that GroupTable will not allow the last column in the column model be grouped. See the bug report here.
    • (Grids) Fixed an NPE issue while AUTO_RESIZE_FILL mode is used. See the bug report here.
    • (Grids) Fixed a potential AIOOBE issue while firing table structure change from a MultiTableModel. See the bug report here.
    • (Grids) Fixed the regression that JideTable#prepareRenderer() incorrectly forced enable the renderer component's.
    • (Grids) Fixed the regression that JideTable#prepareRenderer() incorrectly forced enable the renderer component's.
    • (Grids) Fixed the issue that AUTO_RESIZE_FILL may paint filter button for the dummy table header.
    • (Grids) Fixed so that the preferred scrollable viewport size could be calculated based on the customized list renderer. See the bug report here.
    • (Grids) Fixed so that the mouse handler built in the list check the e.isConsumed() before processing the mouse event.
    • (Grids) Fixed so that PageNavigationBar#isSelectViewIndex() is respected while going to page directly.
    • (Grids) Improved the javadoc. See the bug report here.
    • (Grids) Fixed so that selecting/deselecting a column in the QuickTableFilterField's menu would fire property change event for searching columns correctly. See the bug report here.
    • (Grids) Fixed so that QuickTableFilterField#setTableModel() will not invoke JTable#setModel() automatically.
    • (Grids) Fixed so that updating node on sorting could repaint the tree correctly however the tree will be collapsed if the updated node is not a leaf node. See the bug report here.
    • (Grids) Fixed the issue that the DualList dialog didn't respect the current column order in the header.
    • (Grids) Fixed the issue that mouse pressing and dragging change the height of first row if JideTable#setRowResizable(true) and JideTable#setClickCountToStart(1). See the bug report here.
    • (Grids) Fixed the NPE issue if TableColumn#getColumnName() happens to return null.
    • (Grids) Fixed a potential NPE issue. See the bug report here.
    • (Pivot) Fixed so that aggregate() would not change model's column count. See the bug report here.
    • (Pivot) Fixed the issue that grand total for column is not calculated correctly if the grand total summary type is mean. See the bug report here.
    • (Pivot) Fixed the issue that the row header table was painted in incorrect groups if it's sorted by the column keys and two different row keys happen to have same value.
    • (Pivot) Fixed the gap issue between row header table and data table if the data fields are more than 2 and shown in the row header table. See the bug report here.
    • (Pivot) Fixed the issue that the filter button did not show up in Nimbus L&F. See the bug report here.
    • (Pivot) Register default cell renderer for PivotField.class in running configuration table.
    • (Pivot) Fixed the issue that context menu of header table displays incorrectly if the data fields are more than 2. See the bug report here.
    • (Pivot) Fixed the issue that there could be a gap between row header table and column table after invoking autoResizeAllColumns() if there is no row field in place. See the bug report here.
    • (Pivot) Fixed the NPE issue while PivotField.getTitle() returns null. See the bug report here.
    • (Shortcut) Fixed the issue that loading error for KeyboardShortcut with multiple key strokes.

    Backward Compatibility

    January 25, 2011 - 2.10.5  (Maintenance Release, changes from 2.10.4)

    Bug Fixes

    • (Common) Fixed the NPE issue while using diff product. See the bug report here.
    • (Common) Fixed so that the sort arrow of SortableTableHeader would be painted on the right side of the header if it's in the windows classic theme.
    • (Editor) Fixed the NPE issue if MarkerArea#getColor() returns null.
    • (Editor) Fixed the regression since 2.10.1 that pressing CTRL+G could not popup the window to input the line number.
    • (Grids) Fixed so that AutoFilterUtils could work with AggregateTable. See the bug report here.
    • (Grids) Fixed so that strip background painting would not be executed even if CellStyleTable#isFillsViewPortWithStripe() returns true however no cell style is enabled.
    • (Grids) Fixed the maximum allowed date to the maximum value as defined in Calendar class. See the bug report here.
    • (Grids) Fixed a potential AIOOBE issue while firing table structure change from a MultiTableModel. See the bug report here.
    • (Grids) Fixed the regression that JideTable#prepareRenderer() incorrectly forced enable the renderer component's.
    • (Grids) Fixed the issue that AUTO_RESIZE_FILL may paint filter button for the dummy table header.
    • (Grids) Fixed so that PageNavigationBar#isSelectViewIndex() is respected while going to page directly.
    • (Grids) Fixed so that QuickTableFilterField#setTableModel() will not invoke JTable#setModel() automatically.
    • (Pivot) Fixed the issue that the row header table was painted in incorrect groups if it's sorted by the column keys and two different row keys happen to have same value.
    • (Pivot) Fixed the issue that the filter button did not show up in Nimbus L&F. See the bug report here.

    December 30, 2010 - 2.10.4  (Regular Release, changes from 2.10.3)

    Enhancement Requests

    • (Charts) Provides a protected method to allow customisation of legend label creation. See the enhancement request here.
    • (Charts) Added SimpleTimeTickCalculator class.
    • (Dock) Added DOCKABLE_FRAME_MOVED event to fire when the dockable frame is moved however don't change its dock mode. See the enhancement request here.
    • (Grids) Added createDateChooserPanel() for easier customization. See the enhancement request here.
    • (Grids) Added setLabelFont() to enable the customization for the label while there is no grouping column.
    • (Grids) Added column name converter parameter in the export() APIs for better customization. See the enhancement request here.
    • (Pivot) Opened utility methods for AggregaetTable. See the enhancement request here.

    Bug Fixes

    • (Action) Fixed screen menu bar is not visible until the frame is resized.
    • (Charts) Fixed a problem in the handling of Double.NaN values in a stacked bar chart. See the bug report here.
    • (Charts) Fixed Java 5 compatibility problem.
    • (Common) Fixed the NPE if the customer tries to invoke getSelectedHint() before hints popup is manipulated. See the bug report here.
    • (Common) Fixed the issue that ComboBoxSearchable cannot search more than 1 character.
    • (Common) Fixed the issue that ComboBoxSearchable cannot search more than 1 character.
    • (Dock) Fixed so that only one frame is floated/docked if DockingManager#isFloatAllTabs() returns false.
    • (Editor) Fixed so that mouse clicking on the empty space after the last line will clear the current selection.
    • (Editor) Fixed so the issue that pressing ENTER key in column selection model without any selection behaves like deleting. See the bug report here.
    • (Grids) Made setFont() change the font of the JLabel. See the bug report here.
    • (Grids) Fixed the painting issue that the last several rows would be table's background if CellStyleTable#isFillsViewportWithStripe() returns true and the cell (last row, 0) is contained in a cell span which has row span no less than 2.
    • (Grids) Fixed the NPE issue while converter context is null. See the bug report here.
    • (Grids) Fixed so that PropertyTableModel will be honored in higher priority while getting cell editor or renderer if Property#setCellEditor()/setTableCellRenderer() is not invoked. See the bug report here.
    • (Grids) Fixed so that loading layout with new added columns will always put the new added columns to the end. See the bug report here.
    • (Pivot) Fixed so that the original column would not be hidden if the node is collapsed. See the bug report here.

    Bug Fixes

    • (Grids) Invoking Property#getCellEditor()/getTableCellRenderer() will return null which was non-null value before and include 2.10.3. See the bug report here.

    December 20, 2010 - 2.10.3  (Regular Release, changes from 2.10.2)

    Enhancement Requests

    • (Charts) Adds support for auto-ranging of axes based on chart model data.
    • (Charts) It is now possible to apply a shadow on a per-model basis. See the enhancement request here.
    • (Charts) Added short description of setLineFill for cyclical models and use of per-model shadows.
    • (Charts) You can now apply a shadow to a DifferenceMarker.
    • (Charts) Provides a protected method to allow customisation of legend label creation. See the enhancement request here.
    • (Charts) Added SimpleTimeTickCalculator class.
    • (Charts) SummingChartModel now provides methods to enable you to find the x and y ranges of the summed model. See the enhancement request here.
    • (Common) Added a method so you can get a category from its position in the range.
    • (Dashboard) Allow Dashboard to use predefined layout.
    • (Dashboard) Added setPaletteSide() to configure where the palette should be positioned. See the enhancement request here.
    • (Editor) Added LOADING_FAILED event type if the free memory is not left enough for loading a new page.
    • (Grids) Added an option to keep the previous expand status while adding/removing group columns. See the enhancement request here.
    • (Grids) Provided a solution to let ListComboBoxCellEditor change its value set according to the values of other cells. See the enhancement request here.
    • (Grids) Made PropertyTable works well with EditorContext.DEFAULT_CONTEXT_DYNAMIC_VALUE. See the enhancement request here.
    • (Grids) Added Property#setEditorStyle() to easy customize the editor style for PropertyTable. See the enhancement request here.
    • (Grids) Made Lucene menu items customizable by overriding QuickFilterField#getResourceString().
    • (Grids) Added an option to make the new columns invisible if those columns were not existing while saving the table preference.
    • (Pivot) Fixed so that unchecking the running summary configurantion check box would clean the running summary list by default.

    Bug Fixes

    • (Charts) Fixed some display problems relating to AxisComponent. See the bug report here.
    • (Charts) Fixes a bug in the painting of axis labels. See the bug report here.
    • (Charts) Pie chart labels no longer cast a shadow.
    • (Charts) Improved the positioning of the chart title.
    • (Charts) Corrected a problem with the positioning of the x axis tick labels.
    • (Charts) Cancels any background drawing before removing all chart models through removeAllModels().
    • (Charts) Corrected a misleading JavaDoc comment. See the bug report here.
    • (Charts) Fixes a problem that may occur in the computation of the range for negative values.
    • (Charts) Legend now generates legend item even when no style explicitly attached to model.
    • (Charts) Fixes problem with use of excluded models in Legend.
    • (Charts) No longer fills the area until a single point when using a lineFill style. See the bug report here.
    • (Charts) Fixes shape fill problem with difference marker when using smooth lines and part of the shape is offscree. See the bug report here.
    • (Common) Fixed the StackOverflowError while pressing ESC key in IntelliHints. See the bug report here.
    • (Common) Fixed select flag is not set to the button when the action is selected before it is installed to the button on JDK5.
    • (Common) Remove apple.laf from Import-Package in manifest. See the bug report here.
    • (Common) Fixed so that JidePopup#setTimeout() could work after the popup is visible. See the bug report here.
    • (Common) Removed the debug print for the JideSplitButton. See the bug report here.
    • (Common) Fixed so that sort arrow will only be painted at the middle of the table header in Office2007 style.
    • (Dock) Fixed so that isShowing() will be checked before getLocationOnScreen() is invoked. See the bug report here.
    • (Dock) Fixed so that DockingManager#isFloatAllTabs() will be honored. See the bug report here.
    • (Editor) Fixed so that the customer could override getContext() only to customize the popup list.
    • (Editor) Fixed the infinite loop issue while the cache of the DefaultFoldingModel didn't get updated for some reason. See the bug report here.
    • (Editor) Fixed the issue that clicking on the right of the end of a line may position the caret incorrectly if isVirtualSpaceAllowed() returns false.
    • (Editor) Fixed the issue that yToLine() could return a visual line number less than 0. See the bug report here.
    • (Editor) Fixed a potential divide by zero error if the font is "Cursor". See the bug report here.
    • (Editor) Fixed the issue that clicking on the virtual space made the caret displayed in the right of the end of the column if isVirtualSpaceAllowed() returns false.
    • (Editor) Fixed the issue that after deleting the last character the caret cannot be put on the end of file using mouse if isVirtualSpaceAllowed() returns false.
    • (Editor) Fixed so that the replace prompt dialog is well positioned to always make the text to be replaced visible.
    • (Example) Fixed a demo issue while editing the table. See the bug report here.
    • (Gantt) Fixed the issue that mouse over a milestone could not display the tooltip text configured in its renderer correctly. See the bug report here.
    • (Grids) Fixed the issue that clearing filters from FilterableTableModel didn't update the search text immediately while isAcceptTextInput() returns true. See the bug report here.
    • (Grids) Fixed so that isRespectRenderPreferredHeight() will be used to decide how the vertical tree line to be drawn. See the bug report here.
    • (Grids) Fixed the issue that it could not with those classes which has similar getter/setter method names however the parameter types do not match. See the bug report here.
    • (Grids) Fixed so that the stripe in the empty area could be painted correctly if JTable#getFillsViewportHeight() returns true and the CellStyleTable is not added into a JScrollPane. See the bug report here.
    • (Grids) Fixed so that setRemoveNullGrouper and SORT_GROUP_COLUMN_NO_SORT could work together well. See the bug report here.
    • (Grids) Fixed so that DefaultGroupTableModel will clear the group columns on receiving table structure changed event.
    • (Grids) Fixed so that the group rows' expand status would be kept on table data changed events if isAutoUpdate() returns false. See the bug report here.
    • (Grids) Invoke groupAndRefresh() by default in the constructor to avoid potential IOOBE if adding new rows in a non-grouped DefaultGroupTableModel.
    • (Grids) Fixed so that pressing ESCAPE in the selected list/table of DualList/DualTable/TextFieldList could clear the selection so that the new selected items could be placed at the bottom of the selected list/table. See the bug report here.
    • (Grids) Updated javadoc. See the bug report here.
    • (Grids) Fixed the issue that inserting a node to a leaf node in a filtered tree model caused incorrect tree painting.
    • (Grids) Fixed so that FilterListCellRenderer would try to get resource string from GridsResourceProvider so that the customer could be easier to localize.
    • (Grids) Fixed a Germany translation issue. See the bug report here.
    • (Grids) Fixed so that clicking on the group column will consume the mouse event to avoid trigger another sorting attempt in SortableTreeTableModel. See the bug report here.
    • (Grids) Fixed so that GroupTableHeader gets updated when the customer invoking DefaultGroupTableModel#groupAndRefresh() directly.
    • (Grids) Fixed so that the last column in GroupTable could not be dragged to grouping. See the bug report here.
    • (Grids) Fixed the issue that dragging a ungrouped column to the end caused IllegalArgumentException. See the bug report here.
    • (Grids) Fixed the issue that the grouping column could not be dragged to the last several columns if there is a horizontal scroll bar. See the bug report here.
    • (Grids) Fixed a potential AIOOBE issue while removing rows in HierarchicalTable.
    • (Grids) Fixed the regression in 2.10.2 that navigating in CellSpanTable with keyboard may select incorrect cell. See the bug report here.
    • (Grids) Fixed the HierarchicalTable repaint issue while updating an expanded row.
    • (Grids) Fixed the issue that NestedTableHeader could not be exported to excel correctly.
    • (Grids) Fixed the potential Lucene file open exception.
    • (Grids) Fixed the regression in 2.10.0 that MonthComboBox could not work well as cell editor in JTable. See the bug report here.
    • (Grids) Fixed the issue that firing cell update event from DefaultGroupRow may cause selection reloading.
    • (Grids) Fixed the issue that changing tree node caused SortableTreeModel update UI incorrectly. See the bug report here.
    • (Grids) Fixed so that setting preference to row header table in TableScrollPane only could work well. See the bug report here.
    • (Grids) Fixed the issue that hideColumns() to hide a hidden column caused the column displayed incorrectly. See the bug report here.
    • (Grids) Fixed the regression in 2.10.0 that resetToDefault could hide the columns in the other tables if setHiddenColumns() is ever invoked. See the bug report here.
    • (Grids) Fixed the issue that setting more than 1 column index caused incorrect searching.
    • (Grids) Fixed the typed char is appended at the end of the text in text field cell editor under Aqua L&F. See the bug report here.
    • (Grids) Fixed a French translation issue.
    • (Pivot) Fixed the issue that new-added columns disappeared after hiding and grouping operations. See the bug report here.
    • (Pivot) Fixed the issue that changing summary type of data fields couldn't update the calcualtion immediately if CalculatedPivotDataModel is in use.
    • (Pivot) Fixed the issue that average calculation is incorrect while the pivot field is the last row/column field.
    • (Pivot) Fixed so that the data field if only one and column fields could be exported as well just as HssfPivotTableUtils does. See the bug report here.
    • (Pivot) Fixed the NPE when trying to add running summary configuration while no column fields in place.
    • (Pivot) Fixed the issue that changing locale caused the unassigned field area empty.

    November 17, 2010 - 2.10.2  (Regular Release, changes from 2.10.1)

    Enhancement Requests

    • (Charts) Axis ticks are not displayed if they would overlap.
    • (Charts) Improved the developer's manual.
    • (Charts) setLineFill for cyclical models can now be used to fill the shape.
    • (Common) Added setShowHintsDelay() to configure the delay time to show hints after a key is typed. See the enhancement request here.
    • (Common) Provided JideTabbedPane#createNoFocusButton() for easier customizing the buttons. See the enhancement request here.
    • (Data) Added an API to not select view index on changing pages while working with JTable.
    • (Dialog) Provided TipOfTheDayDialog#getResourceString() so that the customer could customize the displayed string easier.
    • (Dock) Added FloatingContainer#getInitialBounds() as a temporary solution for floating container size shrinking on loading issue. See the enhancement request here.
    • (Editor) Made the APIs, like offsetToX, xToOffset, xToColumn, etc., function consistently with its name.
    • (Editor) Make folding span work with '\t' and non-virtual-space correctly.
    • (Editor) Fixed so that the lazy load document could be used by multiple CodeEditor's at the same time.
    • (Example) Added a demo to demonstrate how the customer could create a calculated PivotField on PivotDataModel level instead of original table model level. See the enhancement request here.
    • (Example) Added demo for FilterableCheckBoxList. See the enhancement request here.
    • (Gantt) Fixed so that the column index of table model event fired by TreeTableModel is correct when the sub entry is dragged or resized. See the enhancement request here.
    • (Gantt) Provided DefaultGanttTreeTableModel so that the customer could customize the TreeTableModel being used by DefaultGanttModel easier. See the enhancement request here.
    • (Grids) Added AutoFilterBox#isFilterIconVisible() to help the customer check if the filter icon currently is visible or not. See the enhancement request here.
    • (Grids) Added copy constructor for CellStyle. See the enhancement request here.
    • (Grids) Make updateCalendar() public. See the enhancement request here.
    • (Grids) Added an API to configure if mouse clicking on the month label should popup a menu. See the enhancement request here.
    • (Grids) Added EditorStyleTableModel to support three different editor styles in editable cells.
    • (Grids) Made InsetsComboBox easier to customize.
    • (Grids) Added property change events while changing the configurations of QuickFilterField. See the enhancement request here.
    • (Grids) Added shouldPossibleValueBeIncluded() method so that the customer could customize to display null and empty values.
    • (Grids) Added customizeDisplayedTextForAll() to customize the text for All Items"" easier". See the enhancement request here.

    Bug Fixes

    • (Charts) Fixes a NPE in point rendering when no style supplied with a model. See the bug report here.
    • (Charts) You can now use a highlight on a point to set it to be not visible.
    • (Charts) Corrected behaviour that prevented zooming out in extreme cases when the range size was zero or near zero.
    • (Charts) Fixes a problem with the points display in the Candlestick demo.
    • (Charts) Fixed a problem with the highlight in the categorical chart demo.
    • (Charts) Fixed an inconsistency in the behaviour of horizontal vs. vertical bar charts.
    • (Charts) Fixed NPE when displaying minor tick on x axis for which labels have been rotated.
    • (Charts) Improved robustness towards display of null points.
    • (Charts) Fixed Java 5 compatibility issue and headless issue on Linux.
    • (Charts) Fixes a possible NPE when rendering lines.
    • (Charts) Corrected problem in a constructor where a TimeAxis was being created with a NumericRange.
    • (Common) Fixed the issue that a StyledLabel based cell renderer may not truncate the text correctly in some scenarios. See the bug report here.
    • (Common) Fixed the issue that Overlayable may not work well with GridBagLayout. See the bug report here.
    • (Common) Fixed the issue that mouse rollover effect was not painted correctly for JideSplitButton in some L&F. See the bug report here.
    • (Common) Fixed to let paintCollapsiblePaneTitlePaneBackgroundSeparator() use the "CollapsiblePaneTitlePane.backgroundLt" to get the background color. See the bug report here.
    • (Common) Improved performance for case insensitive search on big files.
    • (Component) Fixed so that "Floating to" will update the title of related floating containers immediately.
    • (Component) Fixed so that the "next" menu item will be disabled if there is only one document inside a floating container.
    • (Component) Fixed the IllegalArgumentException while docking a document back after floating several documents. See the bug report here.
    • (Dashboard) Fixed the AIOOBE issue while invoking DashboardTabbedPane#getActiveDashboard() before making it visible.
    • (Data) Fixed the issue that "page 1 of 0" could be displayed while PageNavigationBar working with a filter.
    • (Dock) Fixed a potential NPE issue.
    • (Dock) Fixed the issue that a floating frame on the back could make the other frame dragging not dockable. See the bug report here.
    • (Dock) Fixed the potential NPE issue if JideTabbedPaneUI#getTitlePane() returns null.
    • (Editor) Fixed the regression that hiding the intelli hint popup makes the CodeEditor lose focus. See the bug report here.
    • (Editor) Fixed the regression that IntelliHints didn't add selected text correctly. See the bug report here.
    • (Editor) Fixed so that folding spans and caret position would be reset if setText() or setFileName() is invoked.
    • (Editor) Fixed the exception while invoking CodeEditor#gotoLine() if the editor has a LazyLoadDocument.
    • (Editor) Fixed the issue that moving to the virtual space right of the valid text from the end of line need to press RIGHT ARROW twice.
    • (Editor) Fixed the issue that reloading a file with CodeEditor#setFileName() did not update the scroll bars accordingly.
    • (Editor) Fixed the issue that selecting a word after the folded text in the same line does not work correctly.
    • (Editor) Fixed the issue that the second file could not be opened correctly by LazyLoadDocument.
    • (Editor) Fixed so that the folded text would be painted with the selection background if all selected.
    • (Editor) Fixed the regression in 2.10.1 which did not highlight the line where the care resides in. See the bug report here.
    • (Editor) Fixed so that the searching could work even if the target page is not loaded.
    • (Editor) Fixed the AIOOBE issue while opening another file name in an existing CodeEditor.
    • (Editor) Fixed the file length not updating issue while LazyLoadDocument open a short file then a lenghy file.
    • (Editor) Improved the usability of ListDataCodeEditorIntelliHints and the javadoc. See the bug report here.
    • (Gantt) Fixed so that ScaleArea#setPreferredPeriodSize() would update the header size of the tree table accordingly. See the bug report here.
    • (Gantt) Fixed so that zooming in/out could work smoothly. See the bug report here.
    • (Gantt) Fixed the issue that showing Gantt Chart forced the L&F to be default style incorrectly. See the bug report here.
    • (Grids) Fixed so that the popup cancel behavior would be respected even if isAutoStopCellEditing() returns true. See the bug report here.
    • (Grids) Deprecated setFilterIndicatorVisible() and setFilterButtonVisible() methods. See the bug report here.
    • (Grids) Fixed so that drop lines could be painted correctly while span is on. See the bug report here.
    • (Grids) Fixed so that the grid of the last column could be painted correctly while the table orientation is RTL.
    • (Grids) Fixed the issue that key navigating to a span cell may cause the cell painted without focus. See the bug report here.
    • (Grids) Fixed the issue that the first value editor was always invisible even if it should be in a customized filter factory.
    • (Grids) Fixed so that DateComboBox follows the configured popup cancel behavior.
    • (Grids) Made DefaultGroupTableModel.SORT_GROUP_COLUMN_NO_SORT grouping rows correctly. See the bug report here.
    • (Grids) Fixed the selection lost issue while expanding a row while the original tree table model has less than 20 rows.
    • (Grids) Fixed the AIOOBE issue while removing a tree node if FilterableTreeModel did not apply any filter.
    • (Grids) Fixed the issue that removing the last child of a parent node caused the parent node filtered incorrectly if a filter is applying.
    • (Grids) Fixed so that CachedTableModel could be wrapped by SortableTreeTableModel or FilterableTreeTableModel correctly to paint the tree icons.
    • (Grids) Made FontComboBox follow the popup cancel behavior consistently.
    • (Grids) Fixed so that we will set String value to cells if CellValueConverter#getDataFormat() returns -1. See the bug report here.
    • (Grids) Fixed the potential IllegalArgumentException if the column width of table is too big to export to excel. See the bug report here.
    • (Grids) Made InsetsComboBox follow the popup cancel behavior consistently.
    • (Grids) Fixed the NPE issue while invoking setSearchingColumnIndices() before setTableModel(). See the bug report here.
    • (Grids) Updated readme.txt for exporting JTable to Excel 2007 format. See the bug report here.
    • (Grids) Fixed the issue that hiding then showing a column which the customer invoked TableColumn#setIdentifier with TableColumnChooserDialog could not show the column in correct position. See the bug report here.
    • (Grids) Fixed the IllegalArgumentException issue while collapsing/expanding a node in AggregateTable while having selection. See the bug report here.
    • (Grids) Fixed the issue that ununifyTableColumnSelection() didn't really remove the list selection listeners installed before which causes issues. See the bug report here.
    • (Grids) Fixed to avoid unnecessary selection adjustment while expanding a row prior to a selected row in TreeTable. See the bug report here.
    • (Pivot) Fixed the AIOOBE issue while the original table model fires table data changed event if setAutoUpdate(true), setCacheEnabled(true) and setComputeAffectedCellOnUpdate(true).
    • (Pivot) Fixed so that CalculatedTableModel could support dynamically adding/removing columns by firing table structure change events.
    • (Pivot) Fixed so that PivotTablePane use expanded/collapsed icon icon for Gtk L&F.
    • (Pivot) Fixed the header table painting issue while show subtotal as child and show subtotal location is before. See the bug report here.

    Backward Compatibility

    • (Editor) The meaning of offsetToX, xToOffset, etc. are redefined. Please see related javadoc for details and how you should adjust your code to Grids,E,EditorStyleTableModel,Added EditorStyleTableModel to support three different editor styles in editable cells,,no End,,,,, .
    • October 25, 2010 - 2.10.1  (Regular Release, changes from 2.10.0)

      Enhancement Requests

      • (Charts) Rotated tick labels that do not fit in the space available are now truncated and an ellipsis is added instead of not displaying them at all.
      • (Charts) Introduced a method that returns the shape used to render a point in the model.
      • (Charts) You can now set an outline color and an outline stroke on an IntervalMarker.
      • (Charts) Added SimpleNumericTickCalculator to make it easier to create custom ticks on a numeric axis.
      • (Charts) Added a TimePosition class to make it easier to specify times on a TimeAxis.
      • (Common) Provided JideCursors#setPredefinedCursor(int, Cursor) for customizing the cursor as needed.
      • (Common) Added client properties to support window opaque, opacity and shape on JDk6u10 and later.
      • (Dock) Provided allowActivate() API so that the customer could customize the activation behavior when necesssary. See the enhancement request here.
      • (Editor) Added Overlayable to show the loading process for lazy loading scenario.
      • (Editor) Fixed so that key operations would not freeze the UI because of page loading.
      • (Grids) Added API setTableModel() so that it's possible to reuse AutoFilterBox for hidden columns.
      • (Grids) Added GroupTableHeader for easier grouping in UI.
      • (Grids) Made IPTextField#addFocusListener() work to help customers determin if the editing of IPTextField is starting or stopping.
      • (Grids) Provided NestedTableHeader#rowAtPoint() API.
      • (Grids) Added setDefaultResetIcon etc methods to allow user to change the icons to match their L&F.
      • (Grids) Added rollover icon for the filter reset button in QuickFilterField.
      • (Grids) Added an option to use DualList in TableColumnChooserDialog.
      • (Grids) Added a new TransposeTableModel for table row/column transpose purpose. See the enhancement request here.
      • (Grids) Provided APIs to get the children count, child index, child and children list in any ITreeTableModel level. See the enhancement request here.
      • (Grids) Added renderer for vertical text.

      Bug Fixes

      • (Charts) You can now use a highlight on a point to set it to be not visible.
      • (Charts) Fixed an inconsistency in the behaviour of horizontal vs. vertical bar charts.
      • (Charts) Fixed a concurrency problem on modifications to the y axes.
      • (Charts) More precise positioning of the x axis tick labels.
      • (Charts) Fixes a problem in displaying large regions such as those stretching to Double.MAX_VALUE.
      • (Common) Delayed the invocation to createHintsComponent() so that the customer could override this method easier. See the bug report here.
      • (Common) Fixed fromString method didn't convert correctly.
      • (Common) Fixed the issue that a StyledLabel based cell renderer may not truncate the text correctly in some scenarios. See the bug report here.
      • (Common) Fixed so that the item could be selected if the mouse is clicked on the list item even if isClickInCheckBoxOnly() returns false.
      • (Common) Fixed the regression since 2.9.0 which makes MultilineLabel not work with GridsBagLayout. See the bug report here.
      • (Common) Fixed RangeSlider not working on GTK L&F.
      • (Component) Fixed so that TimeStatusBarItem would update the time label inside EventDispatcherThread.
      • (Components) Fixed CollapsiblePane title pane has the same background as the panel background under Metal L&F.
      • (Dashboard) Fixed a potential NPE if the customer tries to maximize a gadget component which does not exist in current Dashboard at all. See the bug report here.
      • (Dashboard) Fixed DashboardTabbedPane cannot be instantiated in NB. See the bug report here.
      • (Dashboard) Changed API names for hideGadget/maximizeGadget/restoreGadget to avoid confusion. See the bug report here.
      • (Dock) Fixed so that the customers could get the exact autohide side and index while they receive dockable frame autohidden event.
      • (Dock) Fixed a potential NPE issue while closing a DockableFrame. See the bug report here.
      • (Dock) Fixed the issue that showing floated frame from menu could not let the frame get focus if the floating container type is frame.
      • (Dock) Fixed the issue that dragging dockable frame slowly out of the main window causes the cursor keep in resize status. See the bug report here.
      • (Dock) Fixed to make sure the autohidden event is fired correctly while the customer try to autohide a autohideshowing frame to another side.
      • (Dock) Fixed so that the loadInitialLayout() be thread safe. See the bug report here.
      • (Dock) Fixed so that TABHIDDEN event could be fired while loading layout.
      • (Dock) Fixed the focus issue for floating frames. See the bug report here.
      • (Dock) Fixed a potential NPE. See the bug report here.
      • (Dock) Added IllegalStateException if there is nothing in the DockedFrameContainer when saving layout.
      • (Dock) Fixed so that FrameContainer#setSelectedIndex() would not activate frame directly. See the bug report here.
      • (Editor) Fixed the regression that IntelliHints didn't add selected text correctly. See the bug report here.
      • (Editor) Fixed the issue that the hints were inserted in incorrect position while getting the hints at a virtual space.
      • (Editor) Fixed so that commenting block action makes more sense if there are comments inside the selected text.
      • (Editor) Fixed the threading issue that the line style painting could be incorrect while loading huge files.
      • (Editor) Fixed a potential bad location error while looking for matching bracket to highlight. See the bug report here.
      • (Example) Fixed the JDK5 compilation issue at CodeEditorDemo.
      • (Gantt) Fixed so that DefaultGanttEntry#setRange(null) could work and paint an empty row. See the bug report here.
      • (Grids) Fixed so that CheckBoxListComboBox would not fire action event until the OK button gets clicked.
      • (Grids) Fixed the potential StackOverFlowError if the customer listen to the AbstractComboBox's item selected listener then try to setSelectedItem() again.
      • (Grids) Fixed compatible issue with JDK5 on Mac.
      • (Grids) Fixed the issue that installing AutoFilterTableHeader on SortableTable made the SortableTable#isEnsureSelectedRowVisibleOnTogglingSort() does not take effect any more. See the bug report here.
      • (Grids) Deprecated setFilterIndicatorVisible() and setFilterButtonVisible() methods. See the bug report here.
      • (Grids) Fixed the ClassCastException in JDK1.5 while installing AutoFilterUtils over a JTable. See the bug report here.
      • (Grids) Fixed so that drop lines could be painted correctly while span is on. See the bug report here.
      • (Grids) Fixed the tree line painting issue if isRespectRendererPreferredHeight() returns false. See the bug report here.
      • (Grids) Fixed the tree line painting issue if the JideTable has various row heights. See the bug report here.
      • (Grids) Fixed the tree line painting issue if a expanded row actually does not have any visible children row. See the bug report here.
      • (Grids) Fixed so that the collapse icon will be hidden if a parent row is expanded and its children are all filtered out.
      • (Grids) Improved performance of tree line painting. See the bug report here.
      • (Grids) Fixed so that the AbstractComboBox based cell renderer could respect the background in the table's stripe color provider while the table is disabled.
      • (Grids) Fixed so that the AbstractComboBoxEditor could respect the background in the table's stripe color provider while the table is disabled.
      • (Grids) Fixed the issue that clicking none button in ColorChooserPanel could not stop editing in JTable.
      • (Grids) Fixed a regression in 2.10.0 that DateCellEditor could not choose a valid date with mouse click if its start value is set to null.
      • (Grids) Fixed a potential infinite loop issue if group columns is kept visible.
      • (Grids) Fixed so that grouping a column in GroupTable could only fire 1 table structure changed event on non-sorted scenario and 1 more table data changed event for sorted scenario. See the bug report here.
      • (Grids) Fixed the issue that inserting node in the original tree model may cause AIOOBE while a FilterableTreeModel is installed and filtering.
      • (Grids) Fixed java doc. See the bug report here.
      • (Grids) Fixed several translation issue. See the bug report here.
      • (Grids) Fixed arrow keys don't work in GroupList under Synthetica L&F.
      • (Grids) Polished the message to print out while loading POI classes encounters any issue. See the bug report here.
      • (Grids) Fixed the JDK5 compatibility issue. See the bug report here.
      • (Grids) Fixed so that AUTO_RESIZE_FILL could work well with RTL orientation.
      • (Grids) Fixed the issue that overriding AutoFilterBox#customizeList() to configure the Searchable installed on the CheckBoxList were overwritten again unexpectedly in MultiSelectListChooserPanel.
      • (Grids) Fixed the Russian translation issue. See the bug report here.
      • (Grids) Fixed so that SpinnerCellEditor by default has the autoStopCellEditing flag as false.
      • (Grids) Fixed the issue that hiding then showing a column which the customer invoked TableColumn#setIdentifier could not show the column in correct position. See the bug report here.
      • (Grids) Added javadoc for public/protected fields. See the bug report here.
      • (Grids) Fixed the issue that losing focus would cause the viewport reset its view position to 0 if the TableScrollPane does not have footer columns and TableScrollPane#setCorner() is invoked. See the bug report here.
      • (Grids) Fixed the issue that VerticalTableCellRenderer was not compatible with JDK5. See the bug report here.
      • (Pivot) Fixed the issue that modifying running summary could not fire property change event correctly. See the bug report here.
      • (Pivot) Fixed the potential NPE if the customer happens to initialize a HeaderTable with a non-HeaderTableModel.
      • (Pivot) Fixed the potential ConcurrentModificationException.

      Backward Compatibility

      • (Grids) JideTable#getAutoResizeMode() would not return AUTO_RESIZE_FILL any more. Please check JideTable#isFillEmptyArea() to check if AUTO_RESIZE_FILL is configured.
      • (Grids) The default UI of TableColumnChooserDialog is changed. You could set TableColumnChooser#CLIENT_PROPERTY_TRADITIONAL_COLUMN_CHOOSER_DIALOG to your table with true to get the original behavior back.

      October 4, 2010 - 2.10.0  (Regular Release, changes from 2.9.5)

      Enhancement Requests

      • (Action) Moved screen menu bar fixing code from AquaCommandBarUI to BasicCommandBarUI so that the screen menu bar is available on other L&F under Mac.
      • (Charts) Added the arrow class which can be used to point out features of a chart.
      • (Charts) AutoPositionedLabel instances can now also contain rich text markup.
      • (Charts) Can now specify padding around axis labels.
      • (Charts) Made it possible to mark discontinuities in a line chart.
      • (Charts) Added a new constructor to improve ease of use of ChartCrossHair class.
      • (Charts) ChartCrossHair can now snap to points of the ChartModel.
      • (Charts) Added support for html markup on ChartLabel like JLabel.
      • (Charts) Added a method to support the creation of thumbnails.
      • (Charts) Made it easier to customise the text shown in a ChartValueReporter. See the enhancement request here.
      • (Charts) Updated DifferenceMarker to enable smooth curves to denote the edge of the region.
      • (Charts) It is now possible to add a Legend to a Chart as a Drawable.
      • (Charts) Can now limit zooming and panning. See the enhancement request here.
      • (Charts) It is now possible to change the pan direction properties of the MouseDragPanner after it has been created.
      • (Charts) Can now discover the rendered shape underneath a pixel point (if any).
      • (Charts) Added new StripePaint class.
      • (Common) Provided a ratio parameter in the constructor for resize the animation bars. See the enhancement request here.
      • (Common) Make InsetsConverter constructor public and added one supporting separator.
      • (Common) Added an option so that JideTabbedPane could layout the tab trailing component after the default buttons. See the enhancement request here.
      • (Common) Added setTabInsets, setTabAreaInsets, setTabAlignment methods to JideTabbedPane.
      • (Common) A redesigned RangeSlider.
      • (Common) Supports click on the RangeSlider to adjust handle.
      • (Common) Added a method to generate a new range by adding a margin to a CombinedNumericRange.
      • (Common) Move the logic of highlightAll to Searchable so that Searchable could choose lazy searching if the target is too big to search.
      • (Components) Added set/getToggleAction methods to CollapsiblePane.
      • (Components) Added set/getContentBorderVisible methods to CollapsiblePane.
      • (Dashboard) Provided validateGadgetDragging with one more parameter to help the customer determine if the dragging is allowed.
      • (Dashboard) Added an API gadgetButtonDoubleClicked for easy customizing.
      • (Dashboard) Added addGadgets() and removeGadgets() to improve the performance on batch adding gadgets.
      • (Dashboard) Provided API so that the customer could set the layout of the container which contains the gadget buttons.
      • (Dashboard) Support multiple rows of gadget buttons in a gadget palette.
      • (Data) Provided the createPageTableModel() API for overriding.
      • (Dock) Added "Contour.backgroud" in UIDefaults for customer to customize the background of the contour in full outline mode.
      • (Dock) Supported dragging to dock a frame to the side of ContainerContainer as a new option instead of just the side of FrameContainer.
      • (Dock) Added a "docking.freezeFloatingWhileNotRearrangable" property to control if a floating frame is draggable if rearrangable flag is false.
      • (Dock) Provided the APIs to save current state as previous state for easier later restoring.
      • (Editor) Added lazy loading features for non-editable CodeEditor.
      • (Editor) Support international character input well.
      • (Example) Improved the NotRaphaelDemo to use a Drawable for tooltips.
      • (Example) Added a new demo for Sparklines in a JTable.
      • (Example) added a demo to show display of step charts and use of new discontinuous line chart feature.
      • (Gantt) Added column in GanttModelEvent so that it contains the sub entry index information. See the enhancement request here.
      • (Gantt) Added a flag to configure if entry drag and move is allowed in a GanttChart level. See the enhancement request here.
      • (Gantt) Made each sub entry have its own renderer. See the enhancement request here.
      • (Gantt) Support tooltip text for sub entries. See the enhancement request here.
      • (Gantt) Fixed so that mouse pointing at GanttChart could trigger a tool tip. See the enhancement request here.
      • (Grids) Provided createListChooserPanel/createCheckBoxListChooserPanel for user to customize. See the enhancement request here.
      • (Grids) Provided isAllowMultipleValues(int) so that the multiple values control could be realized in column level instead of table level. See the enhancement request here.
      • (Grids) Improved so that the tree line painting could make more sense while TreeTable works with PageNavigationBar.
      • (Grids) Added support to null value in CustomFilterEditor. See the enhancement request here.
      • (Grids) Add Russian translations. See the enhancement request here.
      • (Grids) Added allow duplicates flag in DualList.
      • (Grids) Added addFilter and removeFilter for user to override to apply the same Filter to several FilterableTableModels.
      • (Grids) Fixed so that user could choose some rows and columns to export a TableScrollPane to excel.
      • (Grids) Improved so that the preferred size of ListComboBox will consider the width of all its items if prototypeDisplayValue is not configured. See the enhancement request here.
      • (Grids) Added a flag so that the customer could choose if JScrollPane needs to scroll to make current selected rows visible on mouse clicking the table header to sort. See the enhancement request here.
      • (Grids) Provided reorderColumns() to programmatically reorder the table columns with a quick solution.
      • (Grids) Added clear filter button to TableCustomFilterEditor.
      • (Grids) Added "select all" option as a new field transferred mode.
      • (Grids) Added getRowCount(boolean includeChildren) to get the total row count including all their children. See the enhancement request here.
      • (Grids) Provided expandRows() and collapseRows() to expand/collapse designated rows. See the enhancement request here.
      • (Pivot) Support running summary in XML save and loading APIs.

      Bug Fixes

      • (Action) Fixed the NPE while Chevron is not present at CommandBar. See the bug report here.
      • (Action) Fixed so that the dockable bar will not be floatable while running in JApplet. See the bug report here.
      • (Charts) Fixed a problem in the initialisation of the default font for labels.
      • (Charts) Fixed an indexing problem in the generation of bar positions for grouped bar charts.
      • (Charts) Fixes an assertion error generated when the chart is first displayed with a size of zero.
      • (Charts) Made it possible to set a stroke for ticks and fixed an issue with font size calculations on tick labels.
      • (Charts) Fixed problem with equals methods on styles.
      • (Charts) Made the code more robust to the case where a Category is used with a CategoryRange.
      • (Charts) Fixed possible NPE when using DefaultPointRenderer on multi-dimensional data.
      • (Charts) Fixed a problem in the use of time zones when generating ticks. See the bug report here.
      • (Charts) Fixes NPE that was caused by a subsequent change in one of the observed models .
      • (Charts) relaxed the assumption that to find an approximate y value a model must be ordered by increasing x.
      • (Charts) Legend now updated following call to setFont.
      • (Charts) Fixes clip problem for showing points with larger point size.
      • (Charts) Fixes a bug in vertical panning on numerical ranges.
      • (Charts) no longer necessary to add a mousewheelzoomer as a MouseMotionListener for zoom events to be fired.
      • (Charts) Fixes a rendering problem when a segment had a size of less than half a degree.
      • (Common) Large icon property is not changed in ActionSupportForJDK5.
      • (Common) Do not trim the separator when splitting the string in ArrayConverter.
      • (Common) Fixed so that JideSplitButton could support mnemonic correctly. See the bug report here.
      • (Common) Fixed the issue clicking on tab trailing component may trigger select the tab "hidden" behind. See the bug report here.
      • (Common) Fixed that the tooltip of list button was not correct.
      • (Common) Fixed a regression in 2.9.5 regarding content border painting. See the bug report here.
      • (Common) Fixed the maximized layout calculation error in ButtonPanelLayout which caused the component dialog example in JideOptionPanelDemo painting incorrectly.
      • (Common) Fixed so that clicking 2+8=* will be continous calculating instead of two done calculation. See the bug report here.
      • (Common) CategoryRange now ignores attempts to add duplicate categories.
      • (Common) Fixed the issue that pressing refresh button in the FolderChooser makes invisible buttons visible again. See the bug report here.
      • (Common) Throws exception if the image file not found.
      • (Common) Fixed so that the minimum size of the new inserted component would not be reset. See the bug report here.
      • (Common) Fixed so that TimeRange could accept NULL input. See the bug report here.
      • (Common) Fixed so that TimeRange does not accept null as input for its start or end date. See the bug report here.
      • (Common) Fixed gripper paints incorrectly on Mac for some styles.
      • (Common) Fixed the issue that moving mouse on the JPopupMenu would cause the JPopupMenu invisible if the JPopupMenu overlaps with its parent menu item like JideSplitButton. See the bug report here.
      • (Component) Fixed so that ButtonStatusBarItem#setToolTipText(String) could work as expected. See the bug report here.
      • (Component) Fixed the threading issue while removing and adding the same TimeStatusBarItem instance in UI. See the bug report here.
      • (Dashboard) Fixed the regression in 2.9.5 that the gadget component could be dropped in a GadgetContainer with empty space above.
      • (Dashboard) Fixed so that the component inside a GadgetComponent could also be dragged to drag the entire GadgetComponent if the customer register the GadgetMouseListener to that component.
      • (Dialog) Fixed so that the selection background of JavaStepsPane could be respected.
      • (Dock) Fixed so that the the current dock side is updated while firing the dockable frame event for auto hidden.
      • (Dock) Fixed the contour stuck issue while the outline mode is set to HW_OUTLINE_MODE.
      • (Dock) Fixed so that toggleState() would only take the "single" parameter into consideration. See the bug report here.
      • (Dock) Fixed a potential flickering issue while a frame container contains multipe dockable frames.
      • (Dock) Fixed so that ContainerContainer could be created as less as we can to keep the original split priority.
      • (Dock) Fixed the regression in 2.9.5 that the last cross dragged frame could not be dragged any more. See the bug report here.
      • (Dock) Fixed so that closing a maximized frame would not restore all maximized frames if isMaximizedAllTabs() returns true. See the bug report here.
      • (Dock) Fixed so that the floating frames not in the major monitor could be visible after loading layout. See the bug report here.
      • (Dock) Fixed so that the customers could disable/enable the maximum/hide/float/autohide actions easier. See the bug report here.
      • (Dock) Fixed so that the dockable frame events would be fired properly while loading or reseting layout. See the bug report here.
      • (Dock) Fixed notifyFrame doesn't work for unselected frames which are in the same tab of the active frame. See the bug report here.
      • (Editor) Fixed so that the IntelliHints works correctly while in the end of a line.
      • (Editor) Updated the javadoc of CodeEditor.
      • (Editor) Fixed the issue that removing CodeEditor from view didn't stop caret blinking timer.
      • (Editor) Fixed the issue that mouse clicking on a long line starting with '\t' caused the caret shift right.
      • (Editor) Fixed so that pasting on column selection mode would past on current selection. See the bug report here.
      • (Editor) Fixed so that adding a token like "/*" will automatically refresh all the lines impacted by this token. See the bug report here.
      • (Editor) Fixed the performance issue on inserting chars while folding spans are configured.
      • (Editor) Fixed so that the font size spinner is better rendered in Mac.
      • (Editor) Fixed so that the current font in use is selected automatically for the font combo box.
      • (Editor) Fixed AltGr key doesn't work. See the bug report here.
      • (Editor) Fixed the issue that pressing function keys caused incorrect character input. See the bug report here.
      • (Editor) Fixed the issue that while changing font for styles may cause the caret painted in previous style which caused inconsistent behavior visually.
      • (Example) Fixed so that the list in IntelliHints is sorted in the CodeEditorDemo.
      • (Example) Fixed the demo issue for deleting rows after sorting the table. See the bug report here.
      • (Example) Fixed so that expanding the child table would repaint the main table correctly.
      • (Gantt) Fixed possible NPE when removing the last child of a DefaultGanttEntry.
      • (Gantt) Fixed so that expanding/collapsing the rows would not scroll the current selected row back to visible. See the bug report here.
      • (Gantt) Fixed an NPE in getChildEntries when there is no children. See the bug report here.
      • (Grids) Fixed so that the Esc key could still work to cancel even if the PopupPanel#isNeedButtons() returns false. See the bug report here.
      • (Grids) Fixed so that invoking AbstractComboBox#showPopup() will not request focus for the combo box any more.
      • (Grids) Removed the unnecessary action event while retrieving value from DateComboBox if it's still null. See the bug report here.
      • (Grids) Fixed so that removing the selected item in ComboBoxModel of ListComboBox will fire state change and action events. See the bug report here.
      • (Grids) Switched the default value of preferSelectedValues to true so that the value list in the popup panel could be recreated more intuitively.
      • (Grids) Fixed so that pressing ENTER or '=' will not calculate continuously in CalculatorComboBox like it does in Caculator. See the bug report here.
      • (Grids) Fixed so that pressing number key could still work after overflow in CalculatorComboBox. See the bug report here.
      • (Grids) Fixed so that the background of ColorCellRenderer could be painted respecting the selection. See the bug report here.
      • (Grids) Fixed the issue that setting a non-null color then a null color could not reset the ColorCellRenderer back to null. See the bug report here.
      • (Grids) Fixed so that ColorComboBox will respect the color value/icon visible flags when it's not editable. See the bug report here.
      • (Grids) Fixed the week lable calculation issue in some scenarios while first day of week is not 1. See the bug report here.
      • (Grids) Fixed so that DateComboBox has more consistent behavior with JComboBox while pressing arrow key to navigate within DateChooserPanel to change the value of selected date. See the bug report here.
      • (Grids) Fixed the beep issue while initiate DateSpinnerComboBox. See the bug report here.
      • (Grids) Fixed to make table inserted or table deleted event from original table model would not cause DefaultGroupTableModel fire table structure change event if there is no group column in place.
      • (Grids) Fixed the issue that firing table cell updated event would cause the GroupTable get table structure changed event while no grouping.
      • (Grids) Fixed to remove the redundant table data changed event while invoking DefaultGroupTableModel#groupAndRefresh(). See the bug report here.
      • (Grids) Fixed the potential ConcurrentModificationException in DefaultGroupTableModel on frequently updating the original table model. See the bug report here.
      • (Grids) Fixed so that DefaultGroupTableModel will not fire table structure change events while getting table data change events from its underlying table model.
      • (Grids) Fixed command arrow doesn't change table focus in DualTable.
      • (Grids) Fixed so that FilterableTableModel would not do filtering on table datae changed events if isFilteringPaused() returns true and row count in original table model is not changed.
      • (Grids) Fixed the AIOOBE issue on deleting rows in original table model if the upper FilterableTableModel#setFilteringPaused(true) and does have filter. See the bug report here.
      • (Grids) Fixed so that in most cases insert/remove a node will not trigger a structure change event in FilterableTreeModel. See the bug report here.
      • (Grids) Fixed so that deleting the last expanded row will destroy the child component correctly.
      • (Grids) Fixed the regression in 2.9.4 so that resizing the child component will redo layout of HierarchicalTable to make sure correct painting.
      • (Grids) Added the feature that the column width in the output excel will be proportional with that in the original table. See the bug report here.
      • (Grids) Fixed so that IPTextField gets repainted while any of its IP field receives focus events.
      • (Grids) Fixed some special keys don't trigger cell editing in JideTable. See the bug report here.
      • (Grids) Fixed to adapt the possibility that a customized cell editor returns true on its stopCellEditing() however keep the editing not stopped.
      • (Grids) Fixed so that the RendererWrapper will paint correctly respecting the enable property of JTable. See the bug report here.
      • (Grids) Overrided JTable#getDefaultRenderer() to fix a potential NPE inside JTable#AccessibleJTable#getAccessibleChild().
      • (Grids) Deprecated calculateAutoResizedRowHeights.
      • (Grids) Fixed a typo in MultipleEnumCellEditor.
      • (Grids) Fixed so that getSelectedObjects() would returns an empty array instead of null which may cause NPE. See the bug report here.
      • (Grids) Fixed so that the AbstractComboBox based renderers could respect the background setting provided by cell style provider or table style provider even if the property is disabled.
      • (Grids) Fixed the sorting issue if the values in the column have different object classes.
      • (Grids) Added NPE protection for event handlers. See the bug report here.
      • (Grids) Fixed the issue that rearranging the columns in TableColumnChooserDialog would cause the invisible hidden columns to be visible unexpectedly. See the bug report here.
      • (Grids) Fixed the CCE issue while showing a column with its column identifier is a class other than String. See the bug report here.
      • (Grids) Fixed removing the first filter cause the filter label disappear.
      • (Grids) Made the _filterPanels protected so that the customer could get the FilterPanel easier to customize. See the bug report here.
      • (Grids) Fixed so that the customer could let their table model implement IndexChangeEventGenerator.
      • (Grids) Fixed the unnecessary getChildCount() invocation for lazy load tree table model. See the bug report here.
      • (Grids) Fixed so that if getRowAt() with a invalid row index could returns -1 correctly.
      • (Grids) Fixed the issue that unselecting leading rows then fire table data changed would cause the unselected rows selected again unexpectedly.
      • (Grids) Fixed the issue that hiding a column, grouping/ungrouping another column, showing the hidden column would cause the column shown with an incorrect model index. See the bug report here.
      • (Grids) Improve javadoc of getRows().
      • (Pivot) Fixed so that AggregateTablePane could work well with customized row footer table. See the bug report here.
      • (Pivot) Fixed so that the PivotDataModel in AggregateTableModel will not consider the hideExpandIconOnSingleRow flag. See the bug report here.
      • (Pivot) Fixed so that TreeTable could paint line well with PageNavigationBar.
      • (Pivot) Do not paint border for Mac because of an NPE in Mac JDK code.
      • (Pivot) Fixed so that hide a column in row header table then collapse all could work as expected. See the bug report here.
      • (Pivot) Fixed so that dynamically adding/removing rows in original table model will update the PivotTablePane correctly if grand total value is displayed.
      • (Pivot) Fixed the issue that the header table did not combine similar keys if no PivotField is on sorting while initialize the PivotTablePane.
      • (Pivot) Fixed so that PivotField.LOCATION_BEFORE could work correctly regarding the cell span calculation. See the bug report here.
      • (Pivot) Fixed an NPE issue while exporting a PivotTablePane to excel with a null cell value converter. See the bug report here.
      • (Pivot) Fixed so that the exporting to excel could work at jdk 1.4 as well.
      • (Pivot) Fixed French translation. See the bug report here.
      • (Pivot) Fixed to make autoResizeAllColumns() thread safe.
      • (Pivot) Fixed the regression since 2.8.1 that the scroll bar does not work when there is nothing in the column header table and data table area.

      Backward Compatibility

      • (Editor) Don't use class LineInfo and field lineInfo any more to reduce the memory usage which may impact those customers who extends TokenMarker.
      • (Gantt) Added a new method in the GanttEntryRenderer interface. See the enhancement request here.

      September 17, 2010 - 2.9.7  (Maintenance Release, changes from 2.9.6)

      Enhancement Requests

      • (Charts) Improved the NotRaphaelDemo to use a Drawable for tooltips.
      • (Pivot) Support running summary in XML save and loading APIs.

      Bug Fixes

      • (Action) Fixed the NPE while Chevron is not present at CommandBar. See the bug report here.
      • (Charts) Fixed an indexing problem in the generation of bar positions for grouped bar charts.
      • (Charts) Made the code more robust to the case where a Category is used with a CategoryRange.
      • (Charts) Fixes clip problem for showing points with larger point size.
      • (Charts) Fixes a rendering problem when a segment had a size of less than half a degree.
      • (Component) Fixed the threading issue while removing and adding the same TimeStatusBarItem instance in UI. See the bug report here.
      • (Dashboard) Fixed the regression in 2.9.5 that the gadget component could be dropped in a GadgetContainer with empty space above.
      • (Editor) Fixed so that the IntelliHints works correctly while in the end of a line.
      • (Example) Fixed the demo issue for deleting rows after sorting the table. See the bug report here.
      • (Grids) Switched the default value of preferSelectedValues to true so that the value list in the popup panel could be recreated more intuitively.
      • (Grids) Fixed so that the background of ColorCellRenderer could be painted respecting the selection. See the bug report here.
      • (Grids) Fixed to adapt the possibility that a customized cell editor returns true on its stopCellEditing() however keep the editing not stopped.
      • (Pivot) Fixed the issue that the header table did not combine similar keys if no PivotField is on sorting while initialize the PivotTablePane.
      • (Pivot) Fixed the regression since 2.8.1 that the scroll bar does not work when there is nothing in the column header table and data table area.

      August 20, 2010 - 2.9.6  (Maintenance Release, changes from 2.9.5)

      Bug Fixes

      • (Charts) Fixes NPE that was caused by a subsequent change in one of the observed models.
      • (Common) Fixed that the tooltip of list button was not correct.
      • (Common) Fixed a regression in 2.9.5 regarding content border painting. See the bug report here.
      • (Dock) Fixed the regression in 2.9.5 that the last cross dragged frame could not be dragged any more. See the bug report here.
      • (Dock) Fixed so that closing a maximized frame would not restore all maximized frames if isMaximizedAllTabs() returns true. See the bug report here.
      • (Grids) Fixed so that ColorComboBox will respect the color value/icon visible flags when it's not editable. See the bug report here.
      • (Grids) Fixed to remove the redundant table data changed event while invoking DefaultGroupTableModel#groupAndRefresh(). See the bug report here.
      • (Grids) Fixed the AIOOBE issue on deleting rows in original table model if the upper FilterableTableModel#setFilteringPaused(true) and does have filter. See the bug report here.
      • (Grids) Fixed the regression in 2.9.4 so that resizing the child component will redo layout of HierarchicalTable to make sure correct painting.
      • (Grids) Added NPE protection for event handlers. See the bug report here.
      • (Grids) Fixed the CCE issue while showing a column with its column identifier is a class other than String. See the bug report here.
      • (Pivot) Do not paint border for Mac because of an NPE in Mac JDK code.
      • (Pivot) Fixed so that PivotField.LOCATION_BEFORE could work correctly regarding the cell span calculation. See the bug report here.
      • (Pivot) Fixed an NPE issue while exporting a PivotTablePane to excel with a null cell value converter. See the bug report here.

      July 26, 2010 - 2.9.5  (Regular Release, changes from 2.9.4)

      Enhancement Requests

      • (Charts) Supports minor ticks on numeric axes.
      • (Charts) Added a method to make it easy to copy a Chart (or other component) to the clipboard.
      • (Charts) Updated ConfigurableChartDemo and ScatterChartDemo to demonstrate use of minor ticks.
      • (Common) Remove the requirement that tab trailing/leading component has to be an instance of UIResource.
      • (Dashboard) Added ResizableGadgetContainer so that the gadget components could be resized with no intention to show a scroll bar.
      • (Grids) Added allow input mode to AutoFilterTableHeader.
      • (Grids) Made CustomFilterEditor use JComboBox instead of ListComboBox.
      • (Grids) Added FilterableCheckBoxList for filtering then check the list. See the enhancement request here.
      • (Grids) Added FocusDisplayName property for Property class. See the enhancement request here.
      • (Grids) Added setTablePane() for QuickFilterPane so that the customer could easier use QuickFilterPane with TableScrollPane. See the enhancement request here.
      • (Grids) Provided setLeftMargin() API to customize the pixels reserved for expand icon. See the enhancement request here.

      Bug Fixes

      • (Charts) Changed rendering code so that an axis length of zero is no longer a problem.
      • (Charts) Fixes possible NPE when computing axis label position.
      • (Charts) corrected event firing on tickLength property change.
      • (Charts) Fixes a problem with selection in bar charts.
      • (Charts) Fixed incorrect event firing on call to removeModel.This affected the correct operation of the Legend class.
      • (Charts) Fixes NPE in getRange methods that use leading or trailing margin.
      • (Charts) Fixed a possible NPE in IntervalMarker.
      • (Charts) Fixed possible NPE.
      • (Charts) Fixes an issue where the number of updates provided in the constructor was not used.
      • (Common) Fixed to make the border of JideSplitButton consistent with JideButton on TOOLBOX_STYLE.
      • (Common) Fixed so that the cache would not keep a reference of the class while all its contents are removed.
      • (Common) Fixed a regression since 2.8.0 that isCheckBoxEnabled(TreePath) did not actually prohibit the mouse press event to take effect. See the bug report here.
      • (Common) Fixed compilation error on JDK7 because of the same erasure. See the bug report here.
      • (Component) Fixed so that the behaviors regarding setSelectedItem() and addItem() make more common sense. See the bug report here.
      • (Component) Fixed so that the floating document container could remain open while setAllowClosing(false) is invoked. See the bug report here.
      • (Component) Improved javadoc regarding the ProgressStatusBarItem's preferred width. See the bug report here.
      • (Dashboard) Fixed so that loading layout for SingleDashboardHolder could also restore the column width correctly if column is resizable.
      • (Dialog) Fixed so that the steps pane in java could still shows "Steps" instead of "Wizard.steps".
      • (Dock) Fixed so that dragging frame inside a floating container in Eclipse L&F could update the cursors accordingly. See the bug report here.
      • (Dock) Fixed so that dragging to resize the autohide frame would not impact the user's glasspane currently in use.
      • (Dock) Fixed the issue that the cursor is not a resizing cursor while dragging to resize the autohide frame.
      • (Dock) Fixed so that clicking on JColorChooser inside a DockableFrame will be able to switch focus for DockableFrame. See the bug report here.
      • (Dock) Fixed to dispose the floating container if all the frames inside it is hidden. See the bug report here.
      • (Dock) Fixed the issue that showing a hidden floated frame caused the maximized frame to be restored unnecessarily. See the bug report here.
      • (Dock) Fixed the issue that the floating container has its border greyed out when floated to the second monitor by toggling floating state. See the bug report here.
      • (Dock) Throw exception with detailed message when loading a layout while the top level window is not available.
      • (Editor) Fixed so that the IntelliHints would not block the action map when the intelli hint popup is not visible.
      • (Editor) Fixed the AIOOBE issue if pressing CTRL+SPACE to trigger intelli hints on the virtual space.
      • (Editor) Fixed the issue that pressing backspace char in CodeEditor at Windows system didn't delete '\r' in the document as well.
      • (Editor) Fixed the issue that Alt+number could not be input in CodeEditor which is a regression in 2.9.3. See the bug report here.
      • (Editor) Fixed so that the key pressed event would not be consumed if the action is not actually executed.
      • (Gantt) Fix double events fired by DefaultGanttEntry and DefaultGanttModel. See the bug report here.
      • (Grids) Fixed the issue that adding more than 1 rows to an expanded parent row would renderer the new added rows to a wrong place. See the bug report here.
      • (Grids) Fixed so that BooleanCheckBoxCellRenderer will be painted with respect of if the cell is editable.
      • (Grids) Fixed so that the line between week number and the days would not be painted any more if isShowWeekNumbers() returns false.
      • (Grids) Fixed the issue that DateComboBox#getCalendar() may fire action events incorrectly. See the bug report here.
      • (Grids) Fixed so that removeNullGrouper could work. See the bug report here.
      • (Grids) Fixed the regression since 2.9.1 that the custom subtotal type list is not correct in field setting dialog.
      • (Grids) Added protection code for NPE.
      • (Grids) Fixed so that the customer could override to provide a new component listener.
      • (Grids) Fixed the issue that HierarchicalTable could not render MultiLineCellRenderer correctly if isRowAutoResizes() returns true.
      • (Grids) Fixed so that removing/inserting rows would correctly refresh the update status in HierarchicalTable with page navigation bar installed.
      • (Grids) Reversed the logic of JideTable#isValidCellEditingKey(). See the bug report here.
      • (Grids) Fixed so that the row height would be recalculated if a column is hidden or shown if isRowAutoResizes() returns true.
      • (Grids) Fixed so that LuceneFilterTableModel could work well while column names contain space. See the bug report here.
      • (Grids) Fixed so that invoking QuickFilterPane#setUseCheckBoxList() would automatically refresh the table's model if getTable() is not null.
      • (Grids) Fixed the check box list updating issue while using check box list.
      • (Grids) Fixed the NPE issue while adding a row in the original table model after reseting the column indices of QuickFilterPane. See the bug report here.
      • (Grids) Fixed so that updating a cell value on sorting would be able to persist current table selections. See the bug report here.
      • (Grids) Fixed the issue that tree node removed event could be fired twice. See the bug report here.
      • (Pivot) Fixed so that the cache in CompoundKey is thread safe. See the bug report here.
      • (Pivot) Fixed so that the cell value converter will convert cells in header tables as well.
      • (Pivot) Fixed so that AggregateTable would display the aggregated result while the row is collapsed even if it only contains one child row. See the bug report here.

      Backward Compatibility

      • (Common) max(List) and min(List) are deleted to comply with latest compilation regulation, please use minDates and minCalendars instead. We cant' deprecate first because it will cause compilation error as well so we have to renew the methods without keeping the background compatible.. See the bug report here.
      • (Grids) CustomFilterEditor now use JComboBox instead of ListComboBox which will make any customer code override to retrieve ListComboBox broken.
      • (Grids) Added another method getFocusDisplayName() which may causes compilation error. See the enhancement request here.

      July 15, 2010 - 2.8.8  (Maintenance Release, changes from 2.8.7)

      Bug Fixes

      • (Charts) Changed rendering code so that an axis length of zero is no longer a problem.
      • (Charts) Fixes possible NPE when computing axis label position.
      • (Charts) Fixed problem that caused the lazy renderer to fail after removeDrawables has been called.
      • (Charts) Fixes a bug in the drawing of x axis labels when text is rotated or used in a multi-chart context.
      • (Charts) Corrects the positioning of the x axis label when a border is used on the chart.
      • (Charts) Can now display a title on a pie chart. See the bug report here.
      • (Charts) Corrected the position of the axis label for logarithmic scale. See the bug report here.
      • (Charts) Removed overridden implementations of hashcode and equals. See the bug report here.
      • (Charts) Fixes a bug where the x axis label was being painted even when visibility had been set to false. See the bug report here.
      • (Charts) Fixes a NPE that can occur during hit testing.
      • (Charts) Fixed a problem where tick labels were not repainted correctly when chart embedded in a panel in a scrollpane.
      • (Charts) Fires PropertyChange on setting VerticalGridLines property.
      • (Charts) Fixes a formatting error in the toString method of ChartPoint.
      • (Charts) added missing usage of fireUpdate parameter in one of the addPoint methods.
      • (Charts) Fixes a bug where the position of the tooltip did not update if the chart was resized while the tooltip was displayed. See the bug report here.
      • (Charts) PointSelection was returning the square of the distance rather than the actual distance for a hit point test.
      • (Charts) Fixed a problem with the up triangle where one side was not being drawn in an outline.
      • (Common) Fixed the issue that installing AutoCompletion on a JTextField would incorrectly disable the document filter configured previously.
      • (Common) Fixed the issue that the arrow button of JideComboBox could get focus incorrectly.
      • (Common) Fixes a bug in recomputing min and max after a new range has been added to the combined range.
      • (Common) Fixed the issue that the proportion was incorrectly set to the first pane occupying all the space while removing the third pane of a JideSplitPane.
      • (Dashboard) Fixed a potential "divide by zero" exception if the visible column count happens to be zero. See the bug report here.
      • (Dashboard) Fixed so that loading layout for SingleDashboardHolder could also restore the column width correctly if column is resizable.
      • (Dashboard) Made the load process thread safe.
      • (Dashboard) Fixed the AIOOBE issue while invoking GadgetManager#showGadget() if GadgetManager#isColumnResizable() returns false.
      • (Data) Fixed so that changing page will stop the cell editing if a PageNavigationBar is installed on a JideTable.
      • (Dock) Fixed the issue that right click on the side pane caused the autohidden dockable frame to show up incorrectly. See the bug report here.
      • (Dock) Fixed the issue that showing a hidden floated frame caused the maximized frame to be restored unnecessarily. See the bug report here.
      • (Dock) Fixed the issue that loading layout continuously would cause the floating frames not visible if isShowInitial() returns false.
      • (Dock) Fixed a regression since 2.8.3 that the menu inside the main frame of DockableHolder could not get focus while a floating frame gets focus and the floating container type is frame.
      • (Dock) Fixed a potential NPE issue.
      • (Dock) Fixed the issue that an incorrect dockableFrameFloating event was fired while dragging a frame to a nested docking mangers while the inner one does not accept cross droping. See the bug report here.
      • (Dock) Fixed the NPE issue while DefaultDockingManager#dispose() is invoked the second time. See the bug report here.
      • (Dock) Made DockableFrame#setLastFocusedComponent() public. See the bug report here.
      • (Dock) Deprecated the APIs for autoActivateFocusOwner due to new focus management mechanism in DefaultDockingManager. See the bug report here.
      • (Editor) Fixed the bug that default language definition for XMLTokenMarker is incorrect for the block comment.
      • (Example) Fixed the demo scrolling issue while adding more than four gadget components in one column.
      • (Example) Fixed the issue that the ALL_DEMO frame could not be shown by menu after hiding it. See the bug report here.
      • (Example) Make ResizableGadgetComponent work with CollapsiblePaneSingleDashboardDemo.
      • (Grids) Fixed the issue that clicking OK button in the popup dialog of AbstractComboBox didnot let the dialog return a correct result as RESULT_AFFIRMED.
      • (Grids) Fixed the issue that invoking AutoFilterBox#setTitleConverter() sometimes did not update the title correctly.
      • (Grids) Fixed the issue that installing cell style on PivotTablePane then removing cell style .
      • (Grids) Fixed the French translation issue. See the bug report here.
      • (Grids) Fixed a French translation error.
      • (Grids) Fixed so that the line between week number and the days would not be painted any more if isShowWeekNumbers() returns false.
      • (Grids) Fixed so that TreeTable could get table cell updated event with correct column information while invoking DefaultExpandableRow#setValueAt(int). See the bug report here.
      • (Grids) Added protection code for NPE.
      • (Grids) Fixed the issue that firing table rows updated or cell updated events in original table model could not update UI if a FilterableTableModel is installed and FilterableTableModel#isFilteringPaused() returns true. See the bug report here.
      • (Grids) Fixed change andMode doesn't refresh the filtering result.
      • (Grids) Fixed the French translation issue. See the bug report here.
      • (Grids) Fixed so that removing/inserting rows would correctly refresh the update status in HierarchicalTable with page navigation bar installed.
      • (Grids) Fixed the issue that the expanded panel is not displayed after page down then page up operation if a HierarchicalTable works together with a PageNavigationBar.
      • (Grids) Fixed the issue that inserting a row between two expanded rows made the smaller expanded row collapsed incorrectly.
      • (Grids) Fixed the potential StackOverflowException while invoking TableScrollPane#setTableModel().
      • (Grids) Fixed the issue that inserting rows in an empty table did not trigger the calculation of row height even if JideTable#setRowAutoResize(true).
      • (Grids) Fixed the issue that JideTable could try to get tooltip text for its table header with a column index as -2 while the auto resize mode is AUTO_RESIZE_FILL. See the bug report here.
      • (Grids) Fixed the issue that each time initializing a LuceneFilterableTableModel caused the max clause configuration of BooleanQuery reset. See the bug report here.
      • (Grids) Fixed the issue that invoking Property#setValue() for the sub-level properties could not update UI immediately. See the bug report here.
      • (Grids) Changed the default value of QuickTreeFilterField#isHideEmptyParentNode() to true instead of false. See the bug report here.
      • (Grids) Made the SpinnerCellEditor respect the autoStopEditing flag. See the bug report here.
      • (Grids) Fixed a javadoc issue. See the bug report here.
      • (Pivot) Fixed the issue that the utility methods in TableModelWrapperUtils could not work correctly with AggregateTableModel. See the bug report here.
      • (Pivot) Fixed some French translation issue.
      • (Pivot) Fixed french translation error. See the bug report here.
      • (Pivot) Fixed a translation issue. See the bug report here.
      • (Pivot) Fixed so that AggregateTable would display the aggregated result while the row is collapsed even if it only contains one child row. See the bug report here.
      • (Pivot) Fixed an NPE issue while setRespectFieldPreferredWidth(true) then move all data fields to unassiged area.

      July 6, 2010 - 2.9.4  (Regular Release, changes from 2.9.3)

      Enhancement Requests

      • (Charts) Can now specify a gap between a tick and its corresponding label.
      • (Charts) Improves threading protection against model changes during the painting of the component.
      • (Charts) Performance improvement to getXRange() and getYRange().
      • (Charts) Now supports continuous panning for an iPhone-like experience panning across a chart.
      • (Charts) Limit panning for a CategoryRange to prevent straying off into areas where there are no data points.
      • (Charts) Made it possible to zoom from the location of the mouse cursor rather than just from the centre of the chart. See the enhancement request here.
      • (Charts) Added a new PanIndicator class that can be used to indicate the direction of data when panning.
      • (Common) Provided API so that the customer could customize the CheckBox easier. See the enhancement request here.
      • (Common) Made createCheckBox() protected so that the check box could be customized.
      • (Common) Provided getResourceString() method in JideTabbedPane to customize the tooltip of the buttons easier. See the enhancement request here.
      • (Component) Provided getResourceString() for CollapsiblePane to easier localization. See the enhancement request here.
      • (Component) Provided APIs for customers to configure the height of the bottom panel. See the enhancement request here.
      • (Components) Added setCollasedPercentage to CollapsiblePane.
      • (Editor) Made several field protected for customer to extend. See the enhancement request here.
      • (Gantt) Made the TaskBar colors easier to configure. See the enhancement request here.
      • (Grids) Provided API so that the customers could move the rows to upper level if the last grouper values are null. See the enhancement request here.
      • (Grids) Provided APIs for PropertyTable to hide the left margin area if necessary. See the enhancement request here.
      • (Grids) Added an API to get all category rows. See the enhancement request here.
      • (Grids) Added an API so that the customer could customize the painting behavior of the horizontal leg of tree line for each row.
      • (Pivot) Improved the performance of CalculatedPivotDataModel to match PivotDataModel. See the enhancement request here.
      • (Pivot) Improved the performance of field rearrangement for PivotTablePane. See the enhancement request here.
      • (Pivot) Improved performance for original table data update/delete/insert scenarios. See the enhancement request here.
      • (Shortcut) Added API to configure a new shortcut for the same action would be inserted at the first or the last of the existing list.

      Bug Fixes

      • (Charts) Fixed panning and zooming on a chart with a logarithmic axis. See the bug report here.
      • (Charts) Addresses a threading issue when painting bars under lazy rendering.
      • (Charts) Addresses a potential synchronisation issue when using multiple y axes.
      • (Charts) Fixed problem that caused the lazy renderer to fail after removeDrawables has been called.
      • (Charts) Fixes a bug in the drawing of x axis labels when text is rotated or used in a multi-chart context.
      • (Charts) lazily rendered charts can have shadows.
      • (Charts) Only draws the lazy chart image when lazy rendering active.
      • (Charts) Fixed a problem with the up triangle where one side was not being drawn in an outline.
      • (Charts) fixes problem with chart models with less than three points.
      • (Common) Fixed the issue that the arrow button of JideComboBox could get focus incorrectly.
      • (Common) guarded against adding nulls as a range.
      • (Common) Fixes a bug in recomputing min and max after a new range has been added to the combined range.
      • (Common) Fixed the issue that the proportion was incorrectly set to the first pane occupying all the space while removing the third pane of a JideSplitPane.
      • (Common) Added release number information on the popup dialog of evaluation package. See the bug report here.
      • (Component) Fixed the title pane not painted correctly when sliding direction is not SOUTH.
      • (Component) Fixed so that the "floating" menu item in the document's context menu will always float the document in a new window without respecting its previous floating state.
      • (Dashboard) Fixed a potential "divide by zero" exception if the visible column count happens to be zero. See the bug report here.
      • (Dashboard) Made the load process thread safe.
      • (Diff) Fixed the issue that moving lines from the left pane to the right pane selected the lines in the left pane.
      • (Diff) Fixed the issue that clicking on the right pane of difference other than delete could also delete the line.
      • (Diff) Fixed the issue that the different lines were painted with red and bold after comparing.
      • (Dock) Fixed the issue that right click on the side pane caused the autohidden dockable frame to show up incorrectly. See the bug report here.
      • (Dock) Fixed the issue that loading layout continuously would cause the floating frames not visible if isShowInitial() returns false.
      • (Dock) Fixed the issue that the floated frames could be invisible after undo/redo if DockingManager#isShowInitial() returns false.
      • (Dock) Fixed a regression since 2.8.3 that the menu inside the main frame of DockableHolder could not get focus while a floating frame gets focus and the floating container type is frame.
      • (Dock) Fixed the issue that loading initial layout may cause the show title bar flag not configurable. See the bug report here.
      • (Dock) Fixed a potential NPE issue.
      • (Dock) Fixed the regression in 2.9.3 that clicking the title of DockableFrame under the tab may cause flickering if the tab placement of FrameContainer is TOP. See the bug report here.
      • (Dock) Fixed the issue that an incorrect dockableFrameFloating event was fired while dragging a frame to a nested docking mangers while the inner one does not accept cross droping. See the bug report here.
      • (Dock) Fixed the NPE issue while DefaultDockingManager#dispose() is invoked the second time. See the bug report here.
      • (Editor) Fixed some shortcut keys will print out special char on Mac OSX.
      • (Editor) Fixed the issue that pressing CTR+C in an empty CodeEditor put a "null" string to the clipboard incorrectly.
      • (Editor) Fixed so that CodeEditor supports system selection to be copied out.
      • (Editor) Fixed the bug that default language definition for XMLTokenMarker is incorrect for the block comment.
      • (Example) Fixed the demo scrolling issue while adding more than four gadget components in one column.
      • (Example) Make ResizableGadgetComponent work with CollapsiblePaneSingleDashboardDemo.
      • (Gantt) Fixed exception because of retainAll call in ScaleArea setScaleModel method.
      • (Grids) Fixed cell renderer painting issue on TreeTable. See the bug report here.
      • (Grids) Fixed so that TreeTable could get table cell updated event with correct column information while invoking DefaultExpandableRow#setValueAt(int). See the bug report here.
      • (Grids) Fixed performance issue when expandAllRows.
      • (Grids) Fixed the issue that exporting a PivotTablePane with hidden columns in row header table could trigger a POI exception. See the bug report here.
      • (Grids) Fixed the potential StackOverflowException while invoking TableScrollPane#setTableModel().
      • (Grids) Fixed the issue that invoking JTable#clearSelection() explicitly then sorting will make the cleared selections appear again incorrectly.
      • (Grids) Fixed the issue that invoking getCellRect(-1, column, false) caused the first row of table growing if table.isRowAutoResize() returns true. See the bug report here.
      • (Grids) Fixed the regression since 2.9.2 that the valueIsAdjust flag of the selection model is true incorrectly when a JideTable is initiated.
      • (Grids) Fixed the issue that invoking Property#setValue() for the sub-level properties could not update UI immediately. See the bug report here.
      • (Grids) Fixed the NPE issue while invoke JideTable#setColumnAutoResize(true) after setting its table header to null. See the bug report here.
      • (Grids) Fixed the issue that returning a non-string identifier in ColumnIdentifierTableModel caused showing hidden column in a messed order. See the bug report here.
      • (Grids) Fixed so that "reset to default" or "show all" menu items would show the hidden getHiddenColumns() any more.
      • (Grids) Fixed the issue that the sorting was not synchronized while AutoFilterTableHeader works with TableSplitPane. See the bug report here.
      • (Grids) Fixed the issue that invoking TableUtils#setTablePreference() may cause the column footer table invisible if the column identifier is not a string. See the bug report here.
      • (Grids) Fixed a javadoc issue. See the bug report here.
      • (Pivot) Fixed so that an empty cell would be displayed if a header cell was collapsed and the column of the header cell is hidden. See the bug report here.
      • (Pivot) Fixed some French translation issue.
      • (Pivot) Fixed a translation issue. See the bug report here.
      • (Pivot) Fixed so that invoking RowHeaderTableModel#setExpansionState() will not fire table structure change event for DataTable. See the bug report here.
      • (Pivot) Fixed so that DummyValues would be reported in PivotValueProviderEvent.INFO_AFFECTED_VALUES event instead of an empty DefaultValues if there is no column field. See the bug report here.
      • (Pivot) Fixed so that hiding a column then adding a new column field could still hide those columns. See the bug report here.
      • (Pivot) Fixed the issue that hiding the first column of a node in DataTable then collapsing its parent would cause the collapsed column have a small width. See the bug report here.
      • (Pivot) Fixed the issue that invoking HeaderTableModel#setExpansionState() caused the hidden column in row header table shows up incorrectly. See the bug report here.
      • (Pivot) Fixed so that updating original table model would not make the popuped check list panel from FieldBox invisible. See the bug report here.
      • (Pivot) Improve the javadoc. See the bug report here.

      June 11, 2010 - 2.9.3  (Regular Release, changes from 2.9.2)

      Enhancement Requests

      • (Action) Added DockableBarManager#setDoubleClickAction() to enable the customer to customize the double click behavior.
      • (Charts) Added methods so you can retrieve y axes from chart object when more than one.
      • (Common) Added a "System.stopBeepNotify" property in UIManager to enable the customer to silent the beep.
      • (Dashboard) Added APIs to check if a gadget is currently displayed in any Dashboard in GadgetManager. See the enhancement request here.
      • (Dialog) Added getBackAction() and getNextAction() APIs to retrieve the currect button actions. See the enhancement request here.
      • (Editor) Added the feature so that mouse draggin on the LineMargin area would be able to select the lines between. See the enhancement request here.
      • (Editor) Added default transfer handler for CodeEditor to handle system selection paste feature in Linux.
      • (Editor) Allow user to define style and associate it with a painter.
      • (Grids) Fixed so that AutoFilterBox would try to get the comparator context defined in the SortableTableModel to sort the possible values.
      • (Grids) Provided an API at CellStyleTable so that the customer could customize the background painting behavior while auto resize mode is AUTO_RESIZE_FILL.
      • (Grids) Improved the performance of row calculation while JideTable#setRowAutoResize(true) by calculating visible area only.
      • (Grids) Provided an API to get what a Lucene Query is applying to the original table model. See the enhancement request here.
      • (Grids) Added another filter editor style to TableCustomFilterEditor.
      • (Grids) Fixed so that QuickTableFilterField#setDisplayNames() could work as expected if QuicktableFilterField#setColumnIndices() was not invoked. See the enhancement request here.
      • (Pivot) Improved performance for computing impacted cells on data updating. See the enhancement request here.
      • (Pivot) Added old value and new value information in the event INFO_AFFECTED_VALUES. See the enhancement request here.
      • (Pivot) Provided a new API so that the customer could customize the exported Workbook as they wish. See the enhancement request here.

      Bug Fixes

      • (Charts) Corrects the positioning of the x axis label when a border is used on the chart.
      • (Charts) Can now display a title on a pie chart. See the bug report here.
      • (Charts) Corrected the position of the axis label for logarithmic scale. See the bug report here.
      • (Charts) Removed overridden implementations of hashcode and equals. See the bug report here.
      • (Charts) Fixes a bug where the x axis label was being painted even when visibility had been set to false. See the bug report here.
      • (Charts) Fixes a NPE that can occur during hit testing.
      • (Charts) Fixed a problem where tick labels were not repainted correctly when chart embedded in a panel in a scrollpane.
      • (Charts) Fixes a formatting error in the toString method of ChartPoint.
      • (Charts) Fires PropertyChange on setting VerticalGridLines property.
      • (Charts) added missing usage of fireUpdate parameter in one of the addPoint methods.
      • (Charts) Fixes a bug where the position of the tooltip did not update if the chart was resized while the tooltip was displayed. See the bug report here.
      • (Charts) PointSelection was returning the square of the distance rather than the actual distance for a hit point test.
      • (Common) Fixed the issue that installing AutoCompletion on a JTextField would incorrectly disable the document filter configured previously.
      • (Common) Fixed the issue that the selected item was not converted to String correctly while AutoCompletion works with JList.
      • (Common) Check if the button is still pressed while trying to execute the button action repeatedly.
      • (Common) Fixed a JideTabbedPane layout issue while tab placed at LEFT or RIGHT. See the bug report here.
      • (Common) Fixed a code error while passing value to an actual list cell renderer. See the bug report here.
      • (Common) Fixed the French translation issue. See the bug report here.
      • (Common) Fixed a French translation error.
      • (Dashboard) Fixed so that the GadgetManager will not show the gadget again if the gadget is already shown and GadgetManager#isAllowMultipleGadgetInstances() returns false. See the bug report here.
      • (Dashboard) Fixed the AIOOBE issue while invoking GadgetManager#showGadget() if GadgetManager#isColumnResizable() returns false.
      • (Data) Fixed so that changing page will stop the cell editing if a PageNavigationBar is installed on a JideTable.
      • (Dock) Fixed the issue that clicking on a non-selected tab in another FrameContainer caused the focus to switch to the current selected tab then the clicked tab which is redundant. See the bug report here.
      • (Dock) Added removeNotify() before dispose() to avoid an exception like "Can't dispose InputContext while it's active".
      • (Dock) Fixed so that the sensitive area will be searched from outside layer of the screen to inside. See the bug report here.
      • (Dock) Fixed the issue that new created ContainerContainer may have the original DockingManager other than the target DockingManager while dragging frame between DockingManager's. See the bug report here.
      • (Dock) Fixed the IllegalStateException while dragging a DockableFrame while setDockable(false).
      • (Dock) Makde DockableFrame#setLastFocusedComponent() public. See the bug report here.
      • (Dock) Deprecated the APIs for autoActivateFocusOwner due to new focus management mechanism in DefaultDockingManager. See the bug report here.
      • (Editor) Fixed the issue that click on the CodeEditor caused the cursor change position while the CodeEditor is empty and allow virtual space. See the bug report here.
      • (Editor) Fixed the issue that semicolon was duplicated if it was at the end of a line and a quote was input before it. See the bug report here.
      • (Example) Fixed the issue that the ALL_DEMO frame could not be shown by menu after hiding it. See the bug report here.
      • (Grids) Fixed the issue that clicking OK button in the popup dialog of AbstractComboBox didnot let the dialog return a correct result as RESULT_AFFIRMED.
      • (Grids) Fixed the issue that invoking AutoFilterBox#setTitleConverter() sometimes did not update the title correctly.
      • (Grids) Fixed the filtering issue if the table has different converters in a same column.
      • (Grids) Fixed the regression in 2.9.0 that AutoFilterTableHeader did not work well with GroupTable while AutoFilterTableHeader#setAllowMultipleValues(true). See the bug report here.
      • (Grids) Fixed the issue that a gap displays while TableScrollPane works with NestedTableHeader. See the bug report here.
      • (Grids) Fixed the issue that ungrouped columns between groups could be dragged inside the groups which messes the header painting. See the bug report here.
      • (Grids) Fixed the issue that firing table rows updated or cell updated events in original table model could not update UI if a FilterableTableModel is installed and FilterableTableModel#isFilteringPaused() returns true. See the bug report here.
      • (Grids) Fixed change andMode doesn't refresh the filtering result.
      • (Grids) Fixed the French translation issue. See the bug report here.
      • (Grids) Fixed the issue that the expanded panel is not displayed after page down then page up operation if a HierarchicalTable works together with a PageNavigationBar.
      • (Grids) Fixed so that clicking the expand/collapse icon would not work in AggregateTable, TreeTable and HierarchicalTable while the table is disabled. See the bug report here.
      • (Grids) Fixed so that disabling HierarchicalTable would disable all its child components. See the bug report here.
      • (Grids) Fixed the issue that inserting a row between two expanded rows made the smaller expanded row collapsed incorrectly.
      • (Grids) Fixed the issue that inserting rows in an empty table did not trigger the calculation of row height even if JideTable#setRowAutoResize(true).
      • (Grids) Fixed the issue that JideTable could try to get tooltip text for its table header with a column index as -2 while the auto resize mode is AUTO_RESIZE_FILL. See the bug report here.
      • (Grids) Fixed the issue that each time initializing a LuceneFilterableTableModel caused the max clause configuration of BooleanQuery reset. See the bug report here.
      • (Grids) Changed the default value of QuickTreeFilterField#isHideEmptyParentNode() to true instead of false. See the bug report here.
      • (Grids) Fixed so that the 'hide nodes without children' menu item would be disabled if isMatchesLeafNodeOnly() returns false. See the bug report here.
      • (Grids) Made the SpinnerCellEditor respect the autoStopEditing flag. See the bug report here.
      • (Grids) Fixed the issue that TableUtils#setTablePreferenceByName() did not work correctly while the customer set a non-String column identifier. See the bug report here.
      • (Pivot) Fixed the issue that the utility methods in TableModelWrapperUtils could not work correctly with AggregateTableModel. See the bug report here.
      • (Pivot) Fixed so that AggregateTableModel#getColumnClass() could return correct class type. See the bug report here.
      • (Pivot) Fixed the issue that updating original table model could not update AggregateTable accordingly even if PivotDataModel#isAutoUpdate() returns true which is a regression since 2.9.0. See the bug report here.
      • (Pivot) Fixed the issue that exporting PivotTablePane to Csv file could not display the grand total and other subtotal cells correctly.
      • (Pivot) Fixed so that the hidden columns would not be visible in the exported CSV file. See the bug report here.
      • (Pivot) Fixed so that changing the column width by dragging between columns in header table would not select the cells in DataTable. See the bug report here.
      • (Pivot) Fixed so that the hidden columns would not be visible in the exported excel file. See the bug report here.
      • (Pivot) Fixed the issue that the values in HeaderTable of PivotTablePane were forced to convert to String while exporting to excel which is not necessary. See the bug report here.
      • (Pivot) Fixed french translation error. See the bug report here.
      • (Pivot) Improved performance for row insertion/deleted/updated in original table model by firing CALCULATION_END_ONLY_RESULT_UPDATED instead of CALCULATION_END_WITH_STRUCTURE_CHANGED in many cases. See the bug report here.
      • (Pivot) Fixed an NPE issue while setRespectFieldPreferredWidth(true) then move all data fields to unassiged area.
      • (Pivot) Fixed the issue that the selection in the header table would be changed on data update if the selection is not on the leaf node. See the bug report here.
      • (Pivot) Fixed the issue that configuring fields made the hidden columns in row header table appear incorrectly. See the bug report here.
      • (Pivot) Fixed the regression in 2.9.2 that filtering in unassigned field area didn't update the addTo button correctly. See the bug report here.
      • (Pivot) Fixed the issue that adding hidden row fields then removing it didn't keep the original field width. See the bug report here.

      Backward Compatibility

      • (Pivot) you would get compilation error if you ever override PivotDataModel#tableRowsInserted()/tableRowsDeleted()/tableRowsUpdated()/tableCellsUpdated(), please just change the return type. See the bug report here.

      May 20, 2010 - 2.9.2  (Regular Release, changes from 2.9.1)

      Enhancement Requests

      • (Action) Added a menu item for LookAndFeelCommandBar to restore the L&F to system default L&F and install the JIDE extension over it.
      • (Charts) Made it possible to set a point renderer or a line renderer on a per model basis. See the enhancement request here.
      • (Charts) Added a MaxBarWidth property to improve the appearance if there are very few bars (for example, 1).
      • (Charts) Legend class now uses weak references to Chart objects.
      • (Charts) Made it possible to specify whether marker objects should be in front of the chart models. See the enhancement request here.
      • (Charts) Made an AffineTransform available that includes the translation portion. Note that this should not be used with Time Series charts. See the enhancement request here.
      • (Dialogs) Added protected getResourceString method so that user can customize the string used by JavaStepsPane.
      • (Grids) Added DefaultGroupTableModel#setDisplaySeparateGroupColumn(boolean) to enable a new layout of GroupTable.
      • (Pivot) Fixed so that the customer could not hide the last column from the context menu of DataTable. See the enhancement request here.
      • (Pivot) Added property event firing mechanism for show grand total settings. See the enhancement request here.
      • (Pivot) Added "Show All Hidden Items" in PivotTablePane level to show all columns/values in the PivotTablePane. See the enhancement request here.
      • (Pivot) Provided APIs for hiding/showing columns in row header table in PivotTablePane. See the enhancement request here.

      Bug Fixes

      • (Charts) Fixed error in removePropertyChangeListener. See the bug report here.
      • (Charts) Fixes an issue where a discontinuity was sometimes visible in the rendering of pie segments of larger angles.
      • (Charts) Removed dependency on Batik from ShapeFactory class.
      • (Common) Fixed a potential memory leak issue in AbstractIntelliHints.
      • (Common) Fixed so that the upper right and lower right part of JideScrollPane would not extend to the area corresponding to the vertical scroll bar. See the bug report here.
      • (Common) Fixed the issue that StatusBar was painted with a ResizableIcon by default in Synthetica L&F. See the bug report here.
      • (Dashboard) Fixed a NPE in 2.9.1 while implementing SingleDashboardHolder.
      • (Diff) Fixed the color in the divider doesn't match with that of the line highlighter in DiffMergePane.
      • (Dock) Fixed the issue that loading layout for unavialble frames didn't layout the unavailable frames correctly later on. See the bug report here.
      • (Dock) Fixed the issue that floating out a dockable frame with tailing component and close button caused the frame invisible. See the bug report here.
      • (Dock) Fixed the issue that adding a new frame with dock side as CENTER did not fire tab shown event.
      • (Dock) Enable DockableFrame#getFrameIcon() could return a null value if not configured.
      • (Dock) Fixed ConcurrentModificationException in DockingManager. See the bug report here.
      • (Dock) Do not request focus if the clicked component has isRequestFocusEnabled false. See the bug report here.
      • (Grid) Fixed the filter shifts when there is AbstractDynamicTableFilter in AutoFilterTableHeader. See the bug report here.
      • (Grid) Fixed the tooltip is wrong when the columns are rearranged. See the bug report here.
      • (Grid) Respect autoScrolls property of table when loadSelection. See the bug report here.
      • (Grid) Added addSeparatorIfNecessary to ListPopupMenuInstaller and TreePopupMenuInstaller. See the bug report here.
      • (Grids) Fixed enter key doesn't work when the okay button has focus on a ButtonPopupPanel such as FontComboBox.
      • (Grids) Fixed so that the node remove event could be fired correctly no matter there is a filter applied or not. See the bug report here.
      • (Grids) Fixed the issue that FilterableTreeModel fired wrong event while getting tree node removed events from underlying tree model. See the bug report here.
      • (Grids) Added pt_BR translation for grid. See the bug report here.
      • (Grids) Fixed the issue that sorting in a SortableTable caused the table selection model firing empty selections in the middle of the process. See the bug report here.
      • (Grids) Fixed the issue that "Reset to default" menu item didn't work very well with TableScrollPane. See the bug report here.
      • (Grids) Updated javadoc of TableUtils#saveSelection() to describe the output array.
      • (Grids) Fixed the issue that left arrow key could not collapse the row if the lead selection index is in a cell span which is not the expandable view index of the TreeTable. See the bug report here.
      • (Pivot) Fixed the issue that the average calculation is not correct in 2.9.1.
      • (Pivot) Fixed the issue that CalculatedPivotDataModel#getDataAt() didn't return correct value. See the bug report here.
      • (Pivot) Added a new event to report affected cells so that the event would be accurate even if new rows or columns were added during the data update. See the bug report here.
      • (Pivot) Fixed the issue that sorting at a custom total in the last row fields didn't sort properly. See the bug report here.
      • (Pivot) Fixed the issue that the exported excel file is not aligned between column header table and data table while the row header table is invisible. See the bug report here.
      • (Pivot) Fixed that the sort arrow in field box is painted incorrectly while it's unsort then fieldsUpdated() is invoked. See the bug report here.
      • (Pivot) Fixed so that all other PivotValueProvider listener will be invoked after the PivotTablePane finish its handling so that every table model has been refreshed already. See the bug report here.
      • (Pivot) Fixed NPE when toggle grand total when there are no data fields. See the bug report here.
      • (Pivot) Fixed so that the "AddTo" button could be disabled if there is no unassigned field in place. See the bug report here.
      • (Pivot) Fixed the issue that expanding/collapsing a node caused a strange resizing behavior which is a regression in 2.9.1. See the bug report here.
      • (Pivot) Fixed so that selection could be persisted on data update even if the header selection mode is to select the header table. See the bug report here.

      Backward Compatibility

      • (Dock) DockableFrame#getFrameIcon() could return a null value which may cause NPE if customer's application did not check it.

      May 20, 2010 - 2.8.7  (Maintenance Release, changes from 2.8.6)

      Enhancement Requests

      • (Grids) Added pt_BR translation for grid. See the enhancement request here.

      Bug Fixes

      • (Charts) Fixed error in removePropertyChangeListener. See the bug report here.
      • (Charts) Fixed a memory leak issue in lazy rendering mode.
      • (Charts) Fixed a problem with negative heights for vertical bar charts.
      • (Charts) Chart component now respects border setting.
      • (Charts) Fixed a problem where ChartLabels were rendered behind the bars of a chart when shadows were being used. See the bug report here.
      • (Charts) Fixes an issue where a discontinuity was sometimes visible in the rendering of pie segments of larger angles.
      • (Charts) Removed dependency on Batik from ShapeFactory class.
      • (Common) Fixed a potential memory leak issue in AbstractIntelliHints.
      • (Common) Fixed a NPE issue while clicking cancel button after popuping a create new folder dialog. See the bug report here.
      • (Common) Fixed a potential NPE issue while clicking mouse on a tab.
      • (Common) Provided APIs in BooleanConverter to enable the customers to customize the string.
      • (Common) Fixed a potential AIOOBE issue for JideTabbedPane working at Eclipse3x L&F.
      • (Common) Fixed a potential AIOOBE issue if the customer floated the editing frame on editing started event. See the bug report here.
      • (Common) Fixed the issue that StatusBar was painted with a ResizableIcon by default in Synthetica L&F. See the bug report here.
      • (Common) Fixed so that JIDE would not install unnecessary look and feel classes.
      • (Common) Fixed the issue while NumberComparator comparing big Long values.
      • (Component) Fixed the issue that update the title of a floating document did not update the title of the floating window immediately.
      • (Component) Fixed the issue that moving tabs by the option dialog then reset did not actually reset the order of the tabs. See the bug report here.
      • (Dashboard) Fixed the potential IllegalArgumentException issue while invoking GadgetManager#setActiveDashboardKey().
      • (Dock) Fixed the issue that adding a new frame with dock side as CENTER did not fire tab shown event.
      • (Dock) Fixed so that the title of the decorated floating container would be updated after dragging frame.
      • (Dock) Fixed the issue that invoking toggleAutohideState() then dockFrame() caused the side pane stay visible incorrectly.
      • (Dock) Fixed ConcurrentModificationException in DockingManager. See the bug report here.
      • (Editor) Fixed the issue that moving left behavior is not correct in an empty document while virtual space is allowed. See the bug report here.
      • (Editor) Fixed the issue that pressing BACKSPACE only deleted '\n' with '\r' left in the raw text. See the bug report here.
      • (Editor) Fixed the issue that MarkerArea had issue supporting multiple line tooltip.
      • (Grid) Fixed the filter shifts when there is AbstractDynamicTableFilter in AutoFilterTableHeader. See the bug report here.
      • (Grid) Fixed the tooltip is wrong when the columns are rearranged. See the bug report here.
      • (Grid) Respect autoScrolls property of table when loadSelection. See the bug report here.
      • (Grids) Fixed enter key doesn't work when the okay button has focus on a ButtonPopupPanel such as FontComboBox.
      • (Grids) Added a protection for IllegalComponentStateException in AbstractComboBox.
      • (Grids) Fixed the issue that sometimes CellStyleTable could not release the background of cell renderer correctly which messes the latter painting. See the bug report here.
      • (Grids) Added NPE check for cell style collecting.
      • (Grids) Fixed a CustomFilterEditor issue while the value type is int and expect value type is Integer.
      • (Grids) Fixed so that DefaultTableModelWrapper is serializable. See the bug report here.
      • (Grids) Fixed the issue that parent node could not be selected if isDigIn() returns false and there is a filter applied on the CheckBoxTree.
      • (Grids) Fixed the issue that the "All" item was rendered incorrectly in QuickFilterPane which is a regression since 2.8.3. See the bug report here.
      • (Grids) Fixed the issue that HierarchicalTable's selection and expansion state could change while updating data with filtering in place.
      • (Grids) Fixed the issue that exporting BigDecimal cells to excel could not respect the configured data format. See the bug report here.
      • (Grids) Fixed a cell style exporting to excel error.
      • (Grids) Made IFilterableTableModel#FilterItem serializable. See the bug report here.
      • (Grids) Fixed the issue that the JTextField in AbstractComboBoxEditor may grab focus incorrectly while popuping the panel which causes the searchable does not work.
      • (Grids) Fixed the issue that invoking TableScrollPane#getRowHeaderTable()#setAutoResizeMode(JTable#AUTO_RESIZE_OFF) caused the main table invisible. See the bug report here.
      • (Grids) Update javadoc to state the incompatibility between JideTable and sorter. See the bug report here.
      • (Grids) Fixed the issue that selecting a category row caused wrong focus border painting while PropertyTable#setUseTableRendererForCategoryRow(true). See the bug report here.
      • (Grids) Fixed the issue that "Reset to default" menu item didn't work very well with TableScrollPane. See the bug report here.
      • (Grids) Fixed the issue that showing column works incorrectly if all columns in AggregateTable are aggregated columns.
      • (Grids) Fixed the issue that TableShrinkSearchableSupport did not work correct while searching on multiple columns. See the bug report here.
      • (Grids) Fixed the issue that saving row header table in TableScrollPane with getTablePreferenceByName() could not restore the hidden column correctly. See the bug report here.
      • (Grids) Fixed the issue that autoResizeAllRows() may try to set row height to 0 if the cell renderer's size is small enough. See the bug report here.
      • (Grids) Fixed the issue that left arrow key could not collapse the row if the lead selection index is in a cell span which is not the expandable view index of the TreeTable. See the bug report here.
      • (Pivot) Fixed the issue that sorting at a custom total in the last row fields didn't sort properly. See the bug report here.
      • (Pivot) Fixed the issue that aggregated columns are not painted correctly while setting a bigger row height for the aggregate table. See the bug report here.
      • (Pivot) Fixed the issue that setting sort by column keys before constructing PivotTablePane caused incorrect sort arrow painting. See the bug report here.
      • (Pivot) Fixed the CCE issue while installing a corner table extending from HeaderTable.
      • (Pivot) Updated Javadoc for two confusing methods. See the bug report here.

      May 5, 2010 - 2.9.1  (Regular Release, changes from 2.9.0)

      New Product

      • (Diff) Introduce JIDE Diff (beta release).

      Enhancement Requests

      • (Charts) Made it possible to configure the intensity of the spotlight effect in the Pie3DRenderer.
      • (Charts) Added a SmoothLineRenderer that uses Bezier curves to join the points of a model.
      • (Common) Made the components installed in the UI protected for customizing. See the enhancement request here.
      • (Common) Provided an API so that the customer could display JideMenu anyway even if it is empty.
      • (Dialog) Added getBackAction() and getNextAction() APIs to retrieve the currect button actions. See the enhancement request here.
      • (Dock) Improved so that moveFrame() will autohide the frame if the destination frame is in autohide mode.
      • (Dock) Added a flag in DockableFrame so that the frame would stay in the tabbed pane while being dragged. See the enhancement request here.
      • (Editor) Provided an option so that the customer could configure to show tooltip while mouse hovering over highlighted text.
      • (Editor) Support dynamic keyword setting in CTokenMarker.
      • (Grids) Made AutoFilterTableHeader show the icon directly if the header value of a column is an instance of icon. See the enhancement request here.
      • (Grids) Provided an API to check if a cell is currently a focused cell.
      • (Grids) Improved the performance for adding rows while QuickFilterPane is installed. See the enhancement request here.
      • (Grids) Provided getSlider() method to get JSlider used in the SliderCellEditor for better customization. See the enhancement request here.
      • (Grids) Added TreePopupMenuInstaller and ListPopupMenuInstaller for customer to install popup menu in JTree and JList. See the enhancement request here.
      • (Pivot) Fixed so that AggregateTable could retrieve header tool tip text information from the table model which implements ToolTipSupport. See the enhancement request here.
      • (Pivot) Added an option to provide the affected values within PivotValueProviderEvent. See the enhancement request here.
      • (Pivot) Fixed so that FieldSettingsPanel will respect the SummaryCalculator#getAllowedSummaries() while providing the subtotal options for the PivotField. See the enhancement request here.
      • (Pivot) Fire PivotValueProviderEvent on collapsing/expanding with status changed nodes. See the enhancement request here.
      • (Pivot) Added the feature so that the customer could hide columns in row header table of PivotTablePane. See the enhancement request here.
      • (Pivot) Added an option to configure if PivotTablePane should scroll the selection to visible on updating. See the enhancement request here.
      • (Pivot) Made FieldBox support DynamicTableFilter. See the enhancement request here.
      • (Pivot) Improved so that the node would be expanded if the node only has one child node in a row. See the enhancement request here.
      • (Pivot) Added a new method in SummaryCalculator to provide row and column values to the calculator. See the enhancement request here.

      Bug Fixes

      • (Charts) Chart component now respects border setting.
      • (Charts) Fixed a problem where ChartLabels were rendered behind the bars of a chart when shadows were being used. See the bug report here.
      • (Charts) Fixed a painting problem that occurred when zooming in on a chart with a difference marker. See the bug report here.
      • (Common) Fixed a NPE issue while clicking cancel button after popuping a create new folder dialog. See the bug report here.
      • (Common) Fixed a potential NPE issue while clicking mouse on a tab.
      • (Common) Tried to let JideTabbedPane#updateUI() be more thread safe.
      • (Common) Fixed a potential AIOOBE issue if the customer floated the editing frame on editing started event. See the bug report here.
      • (Common) Fixed the issue while NumberComparator comparing big Long values.
      • (Component) Made the components inside MemoryStatusBarItem protected so that the customer could better customize it. See the bug report here.
      • (Component) Fixed the issue that moving tabs by the option dialog then reset did not actually reset the order of the tabs. See the bug report here.
      • (Dashboard) Fixed the potential IllegalArgumentException issue while invoking GadgetManager#setActiveDashboardKey().
      • (Dock) Changed the HashMap to LinkedHashMap for additional buttons.
      • (Dock) Fixed the issue that loading a saved layout with unavailable frames may layout those frames incorrectly. See the bug report here.
      • (Dock) Fixed so that the title of the decorated floating container would be updated after dragging frame.
      • (Dock) Fixed so that DefaultDockingManager will not change the setting of DockableFrame#isShowTitleBar() as long as the use ever invoked DockableFrame#setShowTitleBar() explicitly.
      • (Editor) Fixed the issue that moving left behavior is not correct in an empty document while virtual space is allowed. See the bug report here.
      • (Editor) Fixed the issue that pressing BACKSPACE only deleted '\n' with '\r' left in the raw text. See the bug report here.
      • (Editor) Fixed the issue that MarkerArea had issue supporting multiple line tooltip.
      • (Grids) Fixed the issue that some settings of CellStyle were not respected in PropertyTable. See the bug report here.
      • (Grids) Fixed the issue that sometimes CellStyleTable could not release the background of cell renderer correctly which messes the latter painting. See the bug report here.
      • (Grids) Fixed a CustomFilterEditor issue while the value type is int and expect value type is Integer.
      • (Grids) Fixed a regression in 2.9.0 which caused GroupTable not able to group the last several columns.
      • (Grids) Fixed the issue that the "All" item was rendered incorrectly in QuickFilterPane which is a regression since 2.8.3. See the bug report here.
      • (Grids) Fixed the issue that HierarchicalTable's selection and expansion state could change while updating data with filtering in place.
      • (Grids) Fixed the issue that exporting BigDecimal cells to excel could not respect the configured data format. See the bug report here.
      • (Grids) Fixed the issue that exporting many cell styles caused excel could not read the exported file.
      • (Grids) Made IFilterableTableModel#FilterItem serializable. See the bug report here.
      • (Grids) Fixed an issue where JideTable could not stop editting properly.
      • (Grids) Fixed the issue that the JTextField in AbstractComboBoxEditor may grab focus incorrectly while popuping the panel which causes the searchable does not work.
      • (Grids) Fixed the issue that selecting a category row caused wrong focus border painting while PropertyTable#setUseTableRendererForCategoryRow(true). See the bug report here.
      • (Grids) Fixed the regression in 2.9.1 that PropertyTable displays the table header unnecessarily. See the bug report here.
      • (Grids) Fixed the issue that showing column works incorrectly if all columns in AggregateTable are aggregated columns.
      • (Grids) Fixed the issue that TableShrinkSearchableSupport did not work correct while searching on multiple columns. See the bug report here.
      • (Grids) Fixed a potential AIOOBE while fire table structure change to add columns in TableScrollPane with column footer table. See the bug report here.
      • (Grids) Fixed the issue that saving row header table in TableScrollPane with getTablePreferenceByName() could not restore the hidden column correctly. See the bug report here.
      • (Pivot) Fixed the issue that CalculatedPivotDataModel#getDataAt() could not return correct value as wished. See the bug report here.
      • (Pivot) Fixed the issue that CalculatedPivotDataModel#setSummaryCalculator() could not make the summary calculator working correctly. See the bug report here.
      • (Pivot) Consider the visibility while exporting PivotTablePane. See the bug report here.
      • (Pivot) Fixed the issue that setting sort by column keys before constructing PivotTablePane caused incorrect sort arrow painting. See the bug report here.
      • (Pivot) Fixed so that the column width in PivotTablePane could be kept on data updating. See the bug report here.
      • (Pivot) Updated Javadoc for two confusing methods. See the bug report here.

      Backward Compatibility

      April 20, 2010 - 2.9.0  (Regular Release, changes from 2.8.4)

      New Product

      • (Gantt) JIDE Gantt Chart is formally released.

      Enhancement Requests

      • (Action) Provided API so that the customer could customize the shrink order of the DockableBars in the same row. See the enhancement request here.
      • (Charts) Made it possible to pan and zoom on a categorical bar chart.
      • (Charts) AxisComponent partially works with an x axis.
      • (Charts) Added new visual axis component that can be used as a rowHeaderView in a JScrollPane.
      • (Charts) Added information to the event objects for panning and zooming.
      • (Charts) Improved the ChartCrossHair class so that it fires a property change event when the model under the cross hair changes.
      • (Charts) Can now specify a pixel offset from the computed user coordinates. See the enhancement request here.
      • (Charts) Added a demo of a Difference Chart.
      • (Charts) added DifferenceMarker class for generating difference charts.
      • (Charts) Made it possible to specify whether a Drawable should appear behind or in front of the ChartModels.
      • (Charts) Improved information content of exceptions generated from FunctionMap.
      • (Charts) Removed the isHighlight() method from the Highlightable interface and added some JavaDoc.
      • (Charts) Made it possible to create a legend for categorical bar charts.
      • (Charts) Enhanced the Legend class so that it works with pie charts.
      • (Charts) Added the ability to specify textual labels for a LineMarker IntervalMarker or RectangularRegionMarker.
      • (Charts) Added a new ModelMorpher class that manages a smooth transition from one ChartModel to another.
      • (Charts) Added the ability to specify the height of the candy bar for the RaisedBarRenderer.
      • (Charts) Added the ability to set the paint on a RectangularRegionMarker.
      • (Charts) Can now choose to zoom either just vertically, just horizontally or both horizontally and vertically.
      • (Charts) Can now specify color and outline for rubber band as well as whether to keep width/height ratio of chart.
      • (Charts) Can now register as a property listener on a SimplePieLabelRenderer.
      • (Charts) Made the SimplePieLabelRenderer more configurable so you can set the background or outlineColor.
      • (Common) Added a method that enables you to create an enlarged copy of a NumericRange by supplying an enlargement factor.
      • (Common) Provided APIs so that the customer could customize the preferred size and location of the popup window of CornerScroller. See the enhancement request here.
      • (Common) Provided an API so that the customer could display JideMenu anyway even if it is empty.
      • (Common) Provided an API JideTabbedPane#isHideTrailingWhileNoButtons() to control if the trailing component should be hidden if no tab buttons are visible. See the enhancement request here.
      • (Common) Provided API for the customer to customize the location of the popup. See the enhancement request here.
      • (Common) Made class ScrollPaneOverview public for further customization. See the enhancement request here.
      • (Component) Added a flag so that the customer could get freeze effect for designated DocumentComponents.
      • (Dashboard) Provided GadgetManager#validateGadgetDragging() so that the customer could customize the behavior before a Gadget is dropped to a Dashboard.
      • (Dock) Added DOCKABLE_FRAME_TRANSFERRED event fired while dockable frame dragged between docking managers. See the enhancement request here.
      • (Dock) Improved performance of DefaultDockingManager by not doing layout while the parent container is not visible. See the enhancement request here.
      • (Editor) Added ListDataCodeEditorIntelliHints so that CodeEditor could utilize IntelliHints.
      • (Grids) Improved performance so that the same custom filter would not be applied again if the new filter from CustomFilterEditorDialog doesn't have any change.
      • (Grids) Added an option so that the customer could choose if the new added value should be filtered away or not while filtering is already on site. See the enhancement request here.
      • (Grids) Provided getExpandedIcon(int)/getCollapsedIcon(int) at TreeTable so that the customer could have different icons in different rows. See the enhancement request here.
      • (Grids) Added an API in ContextSensitiveCellEditor so that the editor could use different converter context with the cell to converter the value. See the enhancement request here.
      • (Grids) Added CsvTableUtils and CsvTableScrollPaneUtils to output JTable and TableScrollPane to CSV format file.
      • (Grids) Made the child components in CustomFilterEditor and ValueEditor protected so that the customer could better customize it. See the enhancement request here.
      • (Grids) Added so that DateComboBox could compare time as well as date while time is displayed in DateComboBox. See the enhancement request here.
      • (Grids) Provided APIs for customers to control the sorting of group rows. See the enhancement request here.
      • (Grids) Made getExpansionState()/setExpansionState() be able to use even after invoking groupAndRefresh(). See the enhancement request here.
      • (Grids) Added not between filter entry by default for Number class. See the enhancement request here.
      • (Grids) Added IPTextField for the customer to customize the key input to navigate to next available field. See the enhancement request here.
      • (Grids) Added so that pressing SPACE key in IPTextField will trigger navigation to next available field. See the enhancement request here.
      • (Grids) Fixed so that IPAddressCellEditor would enter editing status on F2 key. See the enhancement request here.
      • (Grids) Added AUTO_RESIZE_NEXT_COLUMN_FILL to match AUTO_RESIZE_NEXT_COLUMN and so on. See the enhancement request here.
      • (Grids) Fixed so that the customer could have a solution to clear the table selections without being restored in table model events.
      • (Grids) Added regular expression support for QuickFilterField. See the enhancement request here.
      • (Grids) Support multiple line display in SortableTableHeader. See the enhancement request here.
      • (Grids) Paint the icon directly if the header value returns an Icon object. See the enhancement request here.
      • (Grids) Provided alignment setting for SortTableHeaderRenderer. See the enhancement request here.
      • (Grids) Added API so that correct item number could be displayed in GroupTableDemo. See the enhancement request here.
      • (Grids) Added API to convert column index between model index and view index in TableScrollPane level. See the enhancement request here.
      • (Grids) Added maximum width parameter for autoResizeColumn and autoResizeAllColumns. See the enhancement request here.
      • (Grids) Made TableUtils#setTablePreferenceByName() work with GroupTable while isKeepColumnOrder() returns true. See the enhancement request here.
      • (Grids) Added an option to enable double clicking to expand the tree path instead of to select the path. See the enhancement request here.
      • (Grids) Added the feature so that the target row would be expanded while dragging rows to a collapsed row.
      • (Pivot) Provided a solution to cache the calculation result of PivotTablePane to improve the performance.
      • (Pivot) Provided running summary feature for PivotTablePane.
      • (Pivot) Changed AVERAGE calculation to running statistics type so that the customer could better customize its calculation.
      • (Pivot) Changed the default behavior of selecting possible values from including selected values only to excluding all non-selected values.
      • (Pivot) Made the components protected so that the customers could better customize the behavior of FieldSettingsPanel. See the enhancement request here.
      • (Pivot) Added APIs so that the customers could have a single point to customize the collapse/expand behavior. See the enhancement request here.
      • (Pivot) Provided PivotValueProvideEvent so that the customer could listen to those events before and after the data update.
      • (Pivot) Provided PivotValueProvider so that the customers could do calculatioin in a separate thread to avoid blocking UI.
      • (Pivot) Provided a solution so that the customers could move the heavy calculation task to a separate thread without blocking the UI.
      • (Shortcut) Provided createShortcutField() API so that it could be customized. See the enhancement request here.

      Bug Fixes

      • (Action) Changed the default DockableBar shrinking behavior to the right first. See the bug report here.
      • (Charts) Fixed a bug where the shape of a highlighted point was not being realised.
      • (Charts) Made the perspective direction of the 3d axis the same as the 3d bar renderer.
      • (Charts) Fixed the placement of the axis label when used as a row header view in a JScrollPane.
      • (Charts) Fixed a memory leak issue in lazy rendering mode.
      • (Charts) Fixed a problem for stacked bar charts in the horizontal orientation.
      • (Charts) Fixed a problem with negative heights for vertical bar charts.
      • (Charts) Fixed a bug that occurred when painting bar charts and there is a single bar on a numeric axis.
      • (Charts) Improved the painting of bars in a bar chart.
      • (Charts) Prevented bar charts with fixed width bars from rendering the bars as overlapping.
      • (Charts) Improved consistency of width of candlestick bars - looks better for narrow bars. See the bug report here.
      • (Charts) Fixed a bug in computing the numeric range of an empty category range. See the bug report here.
      • (Charts) Annotations are now painted later to make sure that they appear over bars lines and points.
      • (Charts) Chart now also updates itself in response in Range.MIN and Range.MAX property change events.
      • (Charts) Fixed a problem with 3d pie charts when a segment straddled the 90 degree and 270 degree lines .
      • (Charts) Can now display tick labels when grid lines are not visible. Can also specify an outline color that always shows for the bars of a bar chart .
      • (Charts) ChartUtils class now uses the actual size of a component rather than its preferred size when creating an image.
      • (Charts) Made it so that cylinders with a height of zero are not painted.
      • (Charts) Fixed more jitter behaviour when panning at around a time span of a few weeks.
      • (Charts) Fixed a jitter problem with chart panning on a time axis with a span of ten years.
      • (Charts) Fixed a bug that would sometimes shorten a time range instead of lengthen and simplify it.
      • (Charts) Can now reverse the order in which legend items are listed which is necessary for vertical stacked bar charts. See the bug report here.
      • (Charts) removed logging from MouseWheelZoomer and updated some test classes.
      • (Charts) Fixed a rendering problem where an unwanted horizontal line was sometimes visible when the pie chart contained a single data point.
      • (Charts) Fixed an exception that occurred when a 3d pie chart was shrunk to size zero.
      • (Charts) Fixed a null pointer exception that occurred in an assertion.
      • (Common) Reverted change to support null object in ArrayConverter so that the customer could customize their null object behavior. See the bug report here.
      • (Common) Added some translations into the project.
      • (Common) Fixed the issue that JideComboBox changed to editable after updating UI. See the bug report here.
      • (Common) Fixed so that buttons in tab area in JideTabbedPane will not be displayed if it only contains one tab with a long title. See the bug report here.
      • (Common) Fixed the issue that inserting new tab before a tab which is in editing mode may cause AIOOBE issue if the close button is visible. See the bug report here.
      • (Common) Fixed the memory leak issue after closing the last tab of JideTabbedPane. See the bug report here.
      • (Common) Provided APIs in BooleanConverter to enable the customers to customize the string.
      • (Common) CategoryRange was not firing property change event on changes of minimum/maximum properties.
      • (Common) Fixes an error that occurred when retrieving the size of a empty CategoryRange.
      • (Common) Fixed inconsistency in getSize() method between CategoryRange and other Range classes.
      • (Common) Fixed so that invoking CheckBoxList#setModel() will clear the current check box selections.
      • (Common) Fixed so that the customer could add path selections during the selection change events. See the bug report here.
      • (Common) Fixed the stack overflow issue while programmatically making selection in CheckBoxTree. See the bug report here.
      • (Common) Added a NPE protection in restoreAction().
      • (Common) Update developer guide. See the bug report here.
      • (Common) Fixed a potential AIOOBE issue for JideTabbedPane working at Eclipse3x L&F.
      • (Common) Fixed so that the icon could be displayed in the message area while banner area is invisible.
      • (Common) Provided JideOptionPane#getResourceString(String) so that the string displayed in JideOptionPane could be customized.
      • (Common) Fixed the regression that loading layout caused a DockableFrame in the second monitor move to the primary monitor. See the bug report here.
      • (Common) Considered the owner's screen bound when showing the popup. See the bug report here.
      • (Common) Fixed so that invoking JideScrollPane#setViewport() would still keep the view synchronization. See the bug report here.
      • (Common) Fixed the issue that setting action to enable could not turn the JideSplitButton to enable status.
      • (Common) Fixed so that JIDE would not install unnecessary look and feel classes.
      • (Common) Fixed the issue that DatabaseTableModelDemo could not be resized smaller after resizing it bigger.
      • (Common) Fixed so that in Office2003Painter the CollapsiblePanes background would be painted from light to dark.
      • (Common) Fixed the issue that the border of StatusBarItem wasn't painted correctly if jide_dock.jar is not in the class path and L&F set to Office2003 style.
      • (Common) Changed a field _resizablePanel to protected so that the customer could create their own instances. See the bug report here.
      • (Common) Updated javadoc about how the customer could add a StandardDialogPane into a parent container other than StandardDialog. See the bug report here.
      • (Common) Fixed Xerto style's collapsible pane title background color on Metal or Plastic3D L&F. See the bug report here.
      • (Component) Fixed the NPE issue if updating the title of CollapsiblePane while collapsing/expanding.
      • (Component) Fixed the racing issue while invoking DocumentPane#closeDocument() in multiple threads simultaneously. See the bug report here.
      • (Component) Fixed the issue that update the title of a floating document did not update the title of the floating window immediately.
      • (Component) Proved getResourceString() method for easy localizing in OutlookTabbedPane.
      • (Component) Fixed the issue that changing the system time caused TimeStatusBarItem not updating the time any more.
      • (Dashboard) Fixed the issue that invoking DashboardTabbedPane#removeTabAt() explicitly may cause AIOOBE issue.
      • (Dialog) Added a new constructor for TipOfTheDayDialogPane to accept TipOfTheDaySource parameter. See the bug report here.
      • (Dock) Fixed so that right clicking on the side pane could popup the context menu even DockingManager#setSidebarRollover(false). See the bug report here.
      • (Dock) Fixed the issue that invoking toggleAutohideState() then dockFrame() caused the side pane stay visible incorrectly.
      • (Dock) Fixed the NPE issue while dragging the last DockableFrame out from a DockingManager then dispose that DockingManager. See the bug report here.
      • (Dock) Fixed so that the ContainerContainer's height could be persisted on hiding all frames in the container.
      • (Dock) Fixed the heavy weight component painting issue after restoring the DockableFrame containing the heavy weight component in JDK 1.6.0_12 or later releases.
      • (Dock) Added protection code for the potential CCE issue while a dockableFrame is floated. See the bug report here.
      • (Dock) Fixed the regression since 2.8.1 that clicking in the inside workspace could not deactivate the selected DockableFrame in NestedDockingFramework scenario. See the bug report here.
      • (Dock) Exposed an API for the customer to handle layout data error or exception scenario. See the bug report here.
      • (Dock) Fixed a ConcurrentModificationException in multiple DockingManager scenario.
      • (Dock) Fixed the issue that adding a component other than DockableFrame to a FloatingFrameContainer caused incorrect layout file. See the bug report here.
      • (Dock) Added a NPE check for DefaultDockingManager#removeFrame(). See the bug report here.
      • (Dock) Fixed a potential stack overflow issue while showing auto hidden frame. See the bug report here.
      • (Dock) Fixed the issue that multiple layout loading continuouly could cause auto hidden frame not visible if the frame is in dock mode during the previous load. See the bug report here.
      • (Dock) Improved performance while dragging DockableFrame around. See the bug report here.
      • (Dock) Fixed the issue that loading layout after a dialog moved the JFrame to the primary monitor even if it was saved in a secondary monitor. See the bug report here.
      • (Dock) Fixed the issue that DockableFrame#setNotified(false) didn't set the background to normal status. See the bug report here.
      • (Dock) Fixed so that property change event of availability and visibility could be fired correctly. See the bug report here.
      • (Dock) Fixed so that DockableFrame would not create a number new Action instances although they could be garbage collected later on.
      • (Dock) Remove DockableFrame from its parent container in the dispose() method so that it will not be able to gain focus then throw NPE. See the bug report here.
      • (Dock) Included customer's code for addition button in DockableFrame.
      • (Dock) Fixed the issue that closing a floating frame container with two or more DockableFrame's inside would cause the undo behavior incorrectly.
      • (Dock) Fixed so that title bar will not show up while the DockableFrame is in auto hidden showing status and DockableManager#isShowTitleBar() returns false. See the bug report here.
      • (Dock) Fixed so that tabbed DockableFrame will first use getToolTipText() to get it's tip instead of getTitle() directly. See the bug report here.
      • (Editor) Fixed the issue that the caret keeps blinking on pressing right arrow key if isVirtualSpaceAllowed() returns falsse.
      • (Editor) Fixed the issue that looking for a string ending with "\" could cause AIOOBE issue". See the bug report here.
      • (Editor) Fixed backspaceChar only works every second time.
      • (Editor) Fixed the issue that splitting CodeEditorDocumentPane caused the cloned CodeEditorDocumentComponent not be the customized class any more.
      • (Editor) Fixed a ConcurrentModificationException while folding span is turned on.
      • (Editor) Fixed so that MarkerArea's height would be vertical scroll bar's height substract the down arrow button's height.
      • (Editor) Fixed a potential AIOOBE issue in CodeEditor.
      • (Editor) Made the token marker process thread safe.
      • (Example) Fixed the description about hssf.jar. See the bug report here.
      • (Example) Removed some special characters to ease compilation in linux 64 machines.
      • (Grids) Added a protection for IllegalComponentStateException in AbstractComboBox.
      • (Grids) Fixed so that AutoFilterTableHeader could work well with GroupTable while an existing FilterableTableModel is installed before DefaultGroupTableModel. See the bug report here.
      • (Grids) Fixed so that the grid line inside the MarginExpandablePanel of HierarchicalTable will use the color of margin background by default.
      • (Grids) Fixed an AIOOBE issue if the expandable column is hidden.
      • (Grids) Fixed the tree line painting issue while in multiple screen scenario. See the bug report here.
      • (Grids) Fixed the issue that popuping a dialog by overriding BooleanCheckBoxCellEditor#stopCellEditing() caused the value could not be changed to true.
      • (Grids) Fixed so that pressing PGUP/PGDN on a CellSpanTable with first column has cross-row spans could get more smooth behavior.
      • (Grids) Added NPE check for cell style collecting.
      • (Grids) Fixed the issue that installing cell style on HierarchicalTable then removing cell style could not remove the previous configured background.
      • (Grids) Fixed the issue that the options in the condition comboBox in CustomFilterEditorDialog did not follow the locale change correctly. See the bug report here.
      • (Grids) Fixed the issue that setLocal() could not change the display string correctly in CustomFilterEditorDialog. See the bug report here.
      • (Grids) Fixed the issue that year spinner in DateChooserPanel could be edited while running from applet application. See the bug report here.
      • (Grids) Fixed so that clicking on an invalid date in DateChooserPanel will not impact anything including the selection and the value set in the DateComboBox.
      • (Grids) Fixed the issue that DateComboBox#setFormat() may causes the previous string in the EditorComponent be parsed as an invalid date.
      • (Grids) Fixed so that DefaultTableModelWrapper is serializable. See the bug report here.
      • (Grids) Fixed so that DualList.setEnabled(false) would disabled all its child components as expected.
      • (Grids) Fixed the issue that the original selections are cleared incorrectly after filtering and clearing the filter. See the bug report here.
      • (Grids) Fixed the issue that parent node could not be selected if isDigIn() returns false and there is a filter applied on the CheckBoxTree.
      • (Grids) Fixed a filtering issue in FilterableTreeTableModel while isKeepParentNode() returns true.
      • (Grids) Fixed the issue that sometimes the available filter of Date.class has two MARCH approach without FEBRUARY. See the bug report here.
      • (Grids) Added default converter and filter factory for Enum.class.
      • (Grids) Fixed so that FolderChooserPanel would have its default focus component so that Escape key press could always exit the dialog.
      • (Grids) Fixed the issue that FolderChooser#setDialogTitle() did not update the title of FolderChooserPanel.
      • (Grids) Fixed so that FolderChooserPanel would have its default focus component so that Escape key press could always exit the dialog.
      • (Grids) Fixed a translation error. See the bug report here.
      • (Grids) Fixed the issue that getHierarchicalColumnViewIndex returns 0 even if HierarchicalTable's table model does not have a HierarchicalTableModel.
      • (Grids) Fixed the issue that pressing right arrow could not navigate to next cell if the row is not expandable.
      • (Grids) Fixed the issue that inserting a row to a small row index may cause incorrect expanding status in HierarchicalTable if two continuous rows after that row index are expanded.
      • (Grids) Fixed the issue that expanding state was not updated correctly while removing a row in a sorted HierarchicalTable.
      • (Grids) Fixed the issue that invoking TableScrollPane#getRowHeaderTable()#setAutoResizeMode(JTable#AUTO_RESIZE_OFF) caused the main table invisible. See the bug report here.
      • (Grids) Fixed the issue that editing could not start in one mouse click if another cell is on editing status.
      • (Grids) Update javadoc to state the incompatibility between JideTable and sorter. See the bug report here.
      • (Grids) Fixed so that FormattedTextFieldCellEditor works better with PropertyTable even in complicated focus control scenario. See the bug report here.
      • (Grids) Fixed so that header dragging behavior would be more smooth while using the dragged column.
      • (Grids) Fixed the issue that AUTO_RESIZE_FILL working with AutoFilterTableHeader painted the filter icon in the filler incorrectly. See the bug report here.
      • (Grids) Fixed a table selection persistence logic issue in TableScrollPane while selecting a row then toggling sorting.
      • (Grids) Fixed so that AUTO_RESIZE_FILL could work like AUTO_RESIZE_OFF in most other cases than painting.
      • (Grids) Fixed so that switching auto resize mode between AUTO_RESIZE_FILL or not would not impact the change listener registered to the original JViewport. See the bug report here.
      • (Grids) Fixed the issue that double clicking at a disabled item still could choose that item in CheckBoxListComboBox. See the bug report here.
      • (Grids) Fixed the regression in 2.8.5 that PropertyTableModel#getOriginalProperties(true) didn't include the children properties. See the bug report here.
      • (Grids) Fixed the issue that PropertyTableModel#getProperties(true) returns duplicated properties.
      • (Grids) Fixed a potential NPE issue in QuickComboBoxFilterField. See the bug report here.
      • (Grids) Fixed a potential NPE issue in QuickListFilterField. See the bug report here.
      • (Grids) Fixed a potential NPE issue in QuickTreeFilterField. See the bug report here.
      • (Grids) Fixed the issue that table cell update event was changed to table data changed event in SortableTableModel while sorting is paused.
      • (Grids) Improved the performance for SortableTreeModel while inserting new nodes one by one. See the bug report here.
      • (Grids) Fixed the issue that hiding column in a NestedTableHeader before showing caused incorrect grouping while showing the hidden column. See the bug report here.
      • (Grids) Fixed the issue that creating an empty main table then firing structure change to make it have columns caused the main table not focusable any more.
      • (Grids) Fixed the issue that autoResizeAllRows() may try to set row height to 0 if the cell renderer's size is small enough. See the bug report here.
      • (Grids) Fixed so that TableUtils#synchronizeTableColumnWidthNow() will synchronize the min and max width of the TableColumn as well. See the bug report here.
      • (Grids) Updated javadoc for TreeTable. See the bug report here.
      • (Pivot) Fixed the issue that setting subtotal after hiding a column caused the content in the last column not visible. See the bug report here.
      • (Pivot) Fixed the issue that AggregateTable#setIntercellSpacing() caused the aggregated column painting incorrectly. See the bug report here.
      • (Pivot) Fixed the NPE issue while NULL value is allowed in row or column fields.
      • (Pivot) Fixed the issue that firing row update event from original table model caused AggregateTable receive a table structure change event. See the bug report here.
      • (Pivot) Added protection for AIOOBE while PivotTablePane#setHeaderSelectionMode(PivotConstants.HEADER_SELECTION_HEADER_TABLE_ONLY) is invoked. See the bug report here.
      • (Pivot) Fixed the issue that SingleColumn#setObjectGrouper() didn't change the column class of the SingleColumn which will cause painting issue. See the bug report here.
      • (Shortcut) Added CTRL+SHIFT+TAB into the context menu of ShortcutField. See the bug report here.

      Backward Compatibility

      • (Dock) The interface DockableFrameListener added a new method to handle DOCKABLE_FRAME_TRANSFERRED event which may causes compilation error if the customer didn't use DockableFrameAdapter to create their DockableFrameListener. See the enhancement request here.
      • (Grids) Methods in Cacheable are changed. See the enhancement request here.
      • (Grids) Changed the default sorting behavior of GroupTable to SORTABLE_LEAFT_LEVEL. See the enhancement request here.

      April 6, 2010 - 2.8.6  (Maintenance Release, changes from 2.8.5)

      Enhancement Requests

      • (Charts) Made it possible to create a legend for categorical bar charts.
      • (Pivot) Made the components protected so that the customers could better customize the behavior of FieldSettingsPanel. See the enhancement request here.
      • (Shortcut) Provided createShortcutField() API so that it could be customized. See the enhancement request here.

      Bug Fixes

      • (Charts) Improved consistency of width of candlestick bars - looks better for narrow bars. See the bug report here.
      • (Charts) Annotations are now painted later to make sure that they appear over bars lines and points.
      • (Charts) Chart now also updates itself in response in Range.MIN and Range.MAX property change events.
      • (Charts) Can now reverse the order in which legend items are listed which is necessary for vertical stacked bar charts. See the bug report here.
      • (Charts) Fixed a rendering problem where an unwanted horizontal line was sometimes visible when the pie chart contained a single data point.
      • (Common) Fixed the issue that JideComboBox changed to editable after updating UI. See the bug report here.
      • (Common) Fixed so that buttons in tab area in JideTabbedPane will not be displayed if it only contains one tab with a long title. See the bug report here.
      • (Common) Fixed the issue that inserting new tab before a tab which is in editing mode may cause AIOOBE issue if the close button is visible. See the bug report here.
      • (Common) Fixed the memory leak issue after closing the last tab of JideTabbedPane. See the bug report here.
      • (Common) Fixed a bug in computing the numeric range of an empty category range. See the bug report here.
      • (Common) CategoryRange was not firing property change event on changes of minimum/maximum properties.
      • (Common) Fixed the regression that loading layout caused a DockableFrame in the second monitor move to the primary monitor. See the bug report here.
      • (Common) Fixed the issue that the border of StatusBarItem wasn't painted correctly if jide_dock.jar is not in the class path and L&F set to Office2003 style.
      • (Common) Updated javadoc about how the customer could add a StandardDialogPane into a parent container other than StandardDialog. See the bug report here.
      • (Dashboard) Fixed the issue that invoking DashboardTabbedPane#removeTabAt() explicitly may cause AIOOBE issue.
      • (Dock) Fixed so that right clicking on the side pane could popup the context menu even DockingManager#setSidebarRollover(false). See the bug report here.
      • (Dock) Fixed the NPE issue while dragging the last DockableFrame out from a DockingManager then dispose that DockingManager. See the bug report here.
      • (Dock) Fixed so that the ContainerContainer's height could be persisted on hiding all frames in the container.
      • (Dock) Added protection code for the potential CCE issue while a dockableFrame is floated. See the bug report here.
      • (Dock) Fixed the regression since 2.8.1 that clicking in the inside workspace could not deactivate the selected DockableFrame in NestedDockingFramework scenario. See the bug report here.
      • (Dock) Exposed an API for the customer to handle layout data error or exception scenario. See the bug report here.
      • (Dock) Fixed so that property change event for DockableFrame#PROPERTY_VISIBLE will be fired less. See the bug report here.
      • (Dock) Fixed so that DockableFrame would not create a number new Action instances although they could be garbage collected later on.
      • (Dock) Fixed the issue that closing a floating frame container with two or more DockableFrame's inside would cause the undo behavior incorrectly.
      • (Dock) Fixed so that tabbed DockableFrame will first use getToolTipText() to get it's tip instead of getTitle() directly. See the bug report here.
      • (Editor) Fixed the issue that the caret keeps blinking on pressing right arrow key if isVirtualSpaceAllowed() returns falsse.
      • (Editor) Fixed the issue that looking for a string ending with "\" could cause AIOOBE issue". See the bug report here.
      • (Editor) Fixed so that MarkerArea's height would be vertical scroll bar's height substract the down arrow button's height.
      • (Editor) Made the token marker process thread safe.
      • (Example) Fixed the description about hssf.jar. See the bug report here.
      • (Grids) Fixed so that the grid line inside the MarginExpandablePanel of HierarchicalTable will use the color of margin background by default.
      • (Grids) Fixed an AIOOBE issue if the expandable column is hidden.
      • (Grids) Fixed the tree line painting issue while in multiple screen scenario. See the bug report here.
      • (Grids) Fixed the issue that the options in the condition comboBox in CustomFilterEditorDialog did not follow the locale change correctly. See the bug report here.
      • (Grids) Fixed so that DefaultTableModelWrapper is serializable. See the bug report here.
      • (Grids) Fixed the issue that the original selections are cleared incorrectly after filtering and clearing the filter. See the bug report here.
      • (Grids) Fixed the issue that sometimes the available filter of Date.class has two MARCH approach without FEBRUARY. See the bug report here.
      • (Grids) Fixed a translation error. See the bug report here.
      • (Grids) Fixed the issue that getHierarchicalColumnViewIndex returns 0 even if HierarchicalTable's table model does not have a HierarchicalTableModel.
      • (Grids) Fixed the issue that pressing right arrow could not navigate to next cell if the row is not expandable.
      • (Grids) Fixed the issue that inserting a row to a small row index may cause incorrect expanding status in HierarchicalTable if two continuous rows after that row index are expanded.
      • (Grids) Fixed the issue that expanding state was not updated correctly while removing a row in a sorted HierarchicalTable.
      • (Grids) Fixed so that FormattedTextFieldCellEditor works better with PropertyTable even in complicated focus control scenario. See the bug report here.
      • (Grids) Fixed the issue that double clicking at a disabled item still could choose that item in CheckBoxListComboBox. See the bug report here.
      • (Grids) Fixed the regression in 2.8.5 that PropertyTableModel#getOriginalProperties(true) didn't include the children properties. See the bug report here.
      • (Grids) Fixed the issue that hiding column in a NestedTableHeader before showing caused incorrect grouping while showing the hidden column. See the bug report here.
      • (Pivot) Fixed the issue that setting subtotal after hiding a column caused the content in the last column not visible. See the bug report here.
      • (Shortcut) Added CTRL+SHIFT+TAB into the context menu of ShortcutField. See the bug report here.

      March 3, 2010 - 2.8.5  (Maintenance Release, changes from 2.8.4)

      Enhancement Requests

      • (Charts) Made it possible to pan and zoom on a categorical bar chart.
      • (Charts) Removed the isHighlight() method from the Highlightable interface and added some JavaDoc.
      • (Charts) Added the ability to set the paint on a RectangularRegionMarker.
      • (Charts) Can now register as a property listener on a SimplePieLabelRenderer.
      • (Charts) Made the SimplePieLabelRenderer more configurable so you can set the background or outlineColor.
      • (Common) Added a method that enables you to create an enlarged copy of a NumericRange by supplying an enlargement factor.
      • (Component) Added a flag so that the customer could get freeze effect for designated DocumentComponents.

      Bug Fixes

      • (Charts) Fixed a bug where the shape of a highlighted point was not being realised.
      • (Charts) Made the perspective direction of the 3d axis the same as the 3d bar renderer.
      • (Charts) Fixed a problem for stacked bar charts in the horizontal orientation.
      • (Charts) Prevented bar charts with fixed width bars from rendering the bars as overlapping.
      • (Charts) Fixed a problem with 3d pie charts when a segment straddled the 90 degree and 270 degree lines .
      • (Charts) Can now display tick labels when grid lines are not visible. Can also specify an outline color that always shows for the bars of a bar chart .
      • (Charts) ChartUtils class now uses the actual size of a component rather than its preferred size when creating an image.
      • (Charts) Made it so that cylinders with a height of zero are not painted.
      • (Charts) Fixed more jitter behaviour when panning at around a time span of a few weeks.
      • (Charts) Fixed a jitter problem with chart panning on a time axis with a span of ten years.
      • (Charts) Fixed a bug that would sometimes shorten a time range instead of lengthen and simplify it.
      • (Charts) Fixed an exception that occurred when a 3d pie chart was shrunk to size zero.
      • (Charts) Fixed a null pointer exception that occurred in an assertion.
      • (Common) Reverted change to support null object in ArrayConverter so that the customer could customize their null object behavior. See the bug report here.
      • (Common) Fixed inconsistency in getSize() method between CategoryRange and other Range classes.
      • (Common) Fixed so that invoking CheckBoxList#setModel() will clear the current check box selections.
      • (Common) Fixed the stack overflow issue while programmatically making selection in CheckBoxTree. See the bug report here.
      • (Common) Fixed so that the customer could add path selections during the selection change events. See the bug report here.
      • (Common) Added a NPE protection in restoreAction().
      • (Common) Fixed so that the icon could be displayed in the message area while banner area is invisible.
      • (Common) Provided JideOptionPane#getResourceString(String) so that the string displayed in JideOptionPane could be customized.
      • (Common) Considered the owner's screen bound when showing the popup. See the bug report here.
      • (Common) Fixed so that invoking JideScrollPane#setViewport() would still keep the view synchronization. See the bug report here.
      • (Common) Fixed the issue that setting action to enable could not turn the JideSplitButton to enable status.
      • (Common) Fixed so that in Office2003Painter the CollapsiblePanes background would be painted from light to dark.
      • (Common) Changed a field _resizablePanel to protected so that the customer could create their own instances. See the bug report here.
      • (Common) Fixed Xerto style's collapsible pane title background color on Metal or Plastic3D L&F. See the bug report here.
      • (Component) Fixed the NPE issue if updating the title of CollapsiblePane while collapsing/expanding.
      • (Component) Fixed the racing issue while invoking DocumentPane#closeDocument() in multiple threads simultaneously. See the bug report here.
      • (Component) Provided getResourceString() method for easy localizing in OutlookTabbedPane.
      • (Dialog) Added a new constructor for TipOfTheDayDialogPane to accept TipOfTheDaySource parameter. See the bug report here.
      • (Dock) Fixed a ConcurrentModificationException in multiple DockingManager scenario.
      • (Dock) Added a NPE check for DefaultDockingManager#removeFrame(). See the bug report here.
      • (Dock) Fixed the issue that adding a component other than DockableFrame to a FloatingFrameContainer caused incorrect layout file. See the bug report here.
      • (Dock) Fixed a potential stack overflow issue while showing auto hidden frame. See the bug report here.
      • (Dock) Fixed the issue that multiple layout loading continuouly could cause auto hidden frame not visible if the frame is in dock mode during the previous load. See the bug report here.
      • (Dock) Improved performance while dragging DockableFrame around. See the bug report here.
      • (Dock) Fixed the issue that multiple layout loading continuouly could cause auto hidden frame not visible if the frame is in dock mode during the previous load. See the bug report here.
      • (Dock) Fixed so that title bar will not show up while the DockableFrame is in auto hidden showing status and DockableManager#isShowTitleBar() returns false. See the bug report here.
      • (Editor) Fixed backspaceChar only works every second time.
      • (Editor) Fixed a ConcurrentModificationException while folding span is turned on.
      • (Editor) Fixed a potential AIOOBE issue in CodeEditor.
      • (Grids) Fixed so that AutoFilterTableHeader could work well with GroupTable while an existing FilterableTableModel is installed before DefaultGroupTableModel. See the bug report here.
      • (Grids) Fixed the issue that setLocal() could not change the display string correctly in CustomFilterEditorDialog. See the bug report here.
      • (Grids) Fixed so that clicking on an invalid date in DateChooserPanel will not impact anything including the selection and the value set in the DateComboBox.
      • (Grids) Fixed the issue that DateComboBox#setFormat() may causes the previous string in the EditorComponent be parsed as an invalid date.
      • (Grids) Added default converter and filter factory for Enum.class.
      • (Grids) Fixed so that FolderChooserPanel would have its default focus component so that Escape key press could always exit the dialog.
      • (Grids) Fixed the issue that FolderChooser#setDialogTitle() did not update the title of FolderChooserPanel.
      • (Grids) Fixed the issue that AUTO_RESIZE_FILL working with AutoFilterTableHeader painted the filter icon in the filler incorrectly. See the bug report here.
      • (Grids) Fixed a table selection persistence logic issue in TableScrollPane while selecting a row then toggling sorting.
      • (Grids) Fixed so that AUTO_RESIZE_FILL could work like AUTO_RESIZE_OFF in most other cases than painting.
      • (Grids) Fixed so that switching auto resize mode between AUTO_RESIZE_FILL or not would not impact the change listener registered to the original JViewport. See the bug report here.
      • (Grids) Fixed the issue that PropertyTableModel#getProperties(true) returns duplicated properties.
      • (Grids) Fixed a potential NPE issue in QuickComboBoxFilterField. See the bug report here.
      • (Grids) Fixed a potential NPE issue in QuickListFilterField. See the bug report here.
      • (Grids) Fixed a potential NPE issue in QuickTreeFilterField. See the bug report here.
      • (Grids) Fixed the issue that creating an empty main table then firing structure change to make it have columns caused the main table not focusable any more.
      • (Grids) Fixed so that TableUtils#synchronizeTableColumnWidthNow() will synchronize the min and max width of the TableColumn as well. See the bug report here.
      • (Grids) Updated javadoc for TreeTable. See the bug report here.
      • (Pivot) Fixed the NPE issue while NULL value is allowed in row or column fields.
      • (Pivot) Fixed the issue that firing row update event from original table model caused AggregateTable receive a table structure change event. See the bug report here.
      • (Pivot) Added protection for AIOOBE while PivotTablePane#setHeaderSelectionMode(PivotConstants.HEADER_SELECTION_HEADER_TABLE_ONLY) is invoked. See the bug report here.
      • (Pivot) Fixed the issue that SingleColumn#setObjectGrouper() didn't change the column class of the SingleColumn which will cause painting issue. See the bug report here.

      February 5, 2010 - 2.8.4  (Regular Release, changes from 2.8.3)

      Enhancement Requests

      • (Charts) Added the missing rectangular point class.
      • (Charts) Added a RectangularPointRenderer and a ChartPointOHLC class.
      • (Common) Added PROPERTY_SELECTED_INDEX for JideTabbedPane. See the enhancement request here.
      • (Dock) Improved the tab dragging feature so that dragging to an empty tab area of a FrameContainer also means tab the dragged DockableFrame into the FrameContainer. See the enhancement request here.

      Bug Fixes

      • (Charts) Fixed bug in constructor and the line style of candlestick now has a scaling width.
      • (Charts) Fixed a NPE that showed up on the PieChartDemo.
      • (Charts) Corrected a bug in ChartLabel where the color was not always being initialised and the label was therefore sometimes invisible.
      • (Common) Fixed the issue that the buttons in disables status were painted its background incorrectly which is a regression in 2.8.3.
      • (Common) Fixed the issue that inputing negative number in ColorComboBox may cause IAE under some JDK releases. See the bug report here.
      • (Common) Fixed the memory leak issue for StandardDialog. See the bug report here.
      • (Dashboard) Fixed the issue that restoring a non-column-resizable XML file caused the GadgetContainer no longer grow its size.
      • (Designer) Added new flags into VisualDesigner.
      • (Dock) Added debug information for corrupted layout file. See the bug report here.
      • (Dock) Fixed the issue that the context menu of DockableFrame does not follow RTL orientation if set the DockableHolder to RTL orientation. See the bug report here.
      • (Dock) Fixed so that showing or adding a floated DockableFrame would not cause maximized frame restored. See the bug report here.
      • (Editor) Fixed the issue that mouse wheel could scroll the CodeEditor beyond the end of the last visible line if any folding span is collapsed. See the bug report here.
      • (Editor) Completed keywords in JavaScriptTokenMarker.
      • (Example) Fixed the issue that resizing the height of a ResizableGadgetComponent would shrink the height of other components incorrectly.
      • (Grids) Fixed so that CellStyleTable invokes CellStyleProvider#getCellStyleAt() with model column index instead of view column index. See the bug report here.
      • (Grids) Added a protection for NPE if the customer tries to use CustomerFilterEditor for a non-registered class in FilterFactoryManager.
      • (Grids) Fixed the translation issue. See the bug report here.
      • (Grids) Fixed the issue that GroupTable could not filter correctly if all filtering columns are grouped. See the bug report here.
      • (Grids) Fixed so that AUTO_RESIZE_FILL would not override the customized corner component.
      • (Grids) Fixed so that setEditorAutoCompletionMode setting will not affect the setAutoSelectTextWhenStartsEditing setting. See the bug report here.
      • (Grids) Fixed so that AUTO_RESIZE_FILL could work well with RTL orientation.
      • (Grids) Fixed the issue that GroupTable with filter enabled could have wrong filtering while the original table model fire table structure change event. See the bug report here.
      • (Grids) Fixed the issue that QuickTableFilterField#setFromStart(true) may cause incorrect filter. See the bug report here.
      • (Grids) Fixed the issue that toggling sorting order in TreeTable or AggregateTable caused incorrect sorting which is a regression in 2.8.3.
      • (Grids) Fixed so that the class could work well with JDK releases earlier than 1.6.
      • (Grids) Fixed the issue that the expanding column stays painted enabled while TreeTable#setEnabled(false) is invoked.
      • (Pivot) Updated javadoc to distinguish the two confusing mouse listener creator in AggregateTable. See the bug report here.
      • (Pivot) Fixed the issue that any cell with row index bigger than column count of an AggregateTable with no aggregated column could not be in edit mode. See the bug report here.
      • (Shortcut) Added Japaneses translation for shortcut editor. See the bug report here.

      February 5, 2010 - 2.7.8  (Maintenance Release, changes from 2.7.7)

      Enhancement Requests

      • (Common) To use VSNET_STYLE_WITHOUT_MENU by default if jide-action.jar is not in the class path. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed a possible AIOOBE issue. See the bug report here.
      • (Common) Fixed the potential ConcurrentModificationException in StyledLabel. See the bug report here.
      • (Common) Fixed the memory leak issue for StandardDialog. See the bug report here.
      • (Dock) Fixed the issue that JTable could scroll incorrectly while it resides in a nested docking frame.
      • (Dock) Fixed the dragging issue while workspace is not visible and only two DockableFrame's are dragged around. See the bug report here.
      • (Dock) Fixed the issue that DockableFrame could be in autoHideShowing state while the side pane does not have its information.
      • (Dock) Fixed sometimes it needs two clicks to select the tab in Docking Framework. See the bug report here.
      • (Dock) Added instance of check before casting the component to DockableHolder. See the bug report here.
      • (Dock) Fixed the frame doesn't tab with the existing floating frame when it is set unavailable then back to available. See the bug report here.
      • (Grids) Fixed the translation issue. See the bug report here.
      • (Grids) Fixed the issue that QuickTableFilterField#setFromStart(true) may cause incorrect filter. See the bug report here.
      • (Pivot) Fixed the translation issue. See the bug report here.
      • (Pivot) Fixed the issue that invoking rowFieldsUpdated() only may cause the column width not synchronized between the column header table and the data table. See the bug report here.
      • (Pivot) Fixed the possible AIOOBE issue while firing table data change event with less rows in PivotDataModel's original table model. See the bug report here.

      February 1, 2010 - 2.8.3  (Regular Release, changes from 2.8.2)

      Enhancement Requests

      • (Charts) Candlestick renderer now supports line style of rendering.
      • (Charts) Made it possible to set the Stroke of the grid lines for an XY chart.
      • (Charts) Improved performance (surprisingly!) by replacing calls to Graphics.drawPolyline() with multiple calls to Graphics.drawLine().
      • (Charts) Made changes to the event model as a first step to improving performance.
      • (Charts) Bar selection now works on the Mac as well as on Windows.
      • (Charts) Improved selection behaviour.
      • (Charts) ChartValueReporter now supports time axes as well as numeric axes.
      • (Charts) Made the ChartValueReporter class more flexible.
      • (Common) Added APIs to control if the check box could be checked even if the mouse event is not over the check box directly.
      • (Common) Added setClickInCheckBoxOnly() API in CheckBoxTree to be consistent with CheckBoxList. See the enhancement request here.
      • (Common) To use VSNET_STYLE_WITHOUT_MENU by default if jide-action.jar is not in the class path. See the enhancement request here.
      • (Data) Exposed DatabaseTableModel#createOrderStatement() for the customer to customize the SQL code for ordering.
      • (Editor) Fixed so that the folding span will be adjusted according to the document insert/remove events.
      • (Editor) Added document field so that TokenMarker could retrieve the information which Document currently it is parsing.
      • (Grids) Added the feature so that AutoFilterTableHeader could accept different ConverterContext in the same column. See the enhancement request here.
      • (Grids) Improved performance while only one column sorting is toggled reversely by not invoking resort() again. See the enhancement request here.
      • (Grids) Provided the needResort() interface so that the customer could customize the sorting behavior on row update/insert/delete and cell update events. See the enhancement request here.
      • (Grids) Added getVisibleColumns(Jtable, boolean) to provide an option to get visible columns of the table itself only while residing in a TableScrollPane. See the enhancement request here.
      • (Grids) Added an API to control the indent of each row in TreeTable. See the enhancement request here.
      • (Grids) Added APIs to add/set/remove row selection by Row in single or batch mode. See the enhancement request here.
      • (Pivot) Enabled the feature that pressing ENTER while selecting "(Custom..)" triggers the popup of CustomFilterEditorDialog.
      • (Pivot) Provided the capability to filter data fields on summary cells only. See the enhancement request here.
      • (Pivot) Added API so that the summary values could be hidden in the case all its children values are hidden.
      • (Pivot) Added getHiddenColumns() API to retrieve the hidden columns information. See the enhancement request here.
      • (Pivot) Added setDeselectedPossibleValues() interface in PivotField to enable new data showing up after filtering. See the enhancement request here.
      • (Pivot) Added a flag so that the customer could choose to hide the expand icon in HeaderTable if the row only has one child row.

      Bug Fixes

      • (Charts) Corrected error in Eclipse classpath.
      • (Charts) Fixed a bug where a chart was not shown immediately when part of a tabbed pane inside a dockable frame.
      • (Charts) Fixed rendering problem with diagonal tick labels partially hidden underneath a rendered axis.
      • (Charts) Fixed tooltip rendering problem when shadows are enabled .
      • (Charts) Made more robust to nulls supplied from delegate TableModel.
      • (Common) Changed the layout of FolderChooser to JideBoxLayout so that the vertical resizing works better. See the bug report here.
      • (Common) Fixed so that the JideButton will paint correct background while in FLAT STYLE. See the bug report here.
      • (Common) Fixed the issue that the close button did not get updated with the closable property of each tab while selecting the tabs in JideTabbedPane.
      • (Common) Fixed a possible AIOOBE issue. See the bug report here.
      • (Common) Fixed the issue that closing a selected tab caused the next selected tab invisible in the tab area. See the bug report here.
      • (Common) Fixed a JideTabbedPane RTL painting issue while selecting the last tab.
      • (Common) Fixed color issues under high contrast theme on Windows.
      • (Common) Fixed the potential ConcurrentModificationException in StyledLabel. See the bug report here.
      • (Common) Fixed so that CheckBoxList work better with Aqua L&F. See the bug report here.
      • (Common) Fixed the stack overflow issue while programmatically making selection in CheckBoxTree. See the bug report here.
      • (Common) Fixed the regression since 2.8.2 that resizing the column width caused the filtering button invisible. See the bug report here.
      • (Common) Fixed the issue that showing popup menu which dynamically changed its size from bigger to smaller would show the popup from a wrong location.
      • (Common) Fixed the issue that adding a component after invoking JideSplitPane#setOneTouchExpandable(true) caused the component could not be hidden while collapsing it. See the bug report here.
      • (Common) Fixed the issue that the opaque property cannot be set to true any more after invoking JideSwingUtilities#setOpaqueRecursively(false). See the bug report here.
      • (Component) Fixed the issue that the location of the BalloonTip is not correct if it contains a JTextArea with setLineWrap(true). See the bug report here.
      • (Component) Add APIs to define the gap before title label component. See the bug report here.
      • (Component) Fixed the issue that updating closable property of DocumentComponent did not update the close button in UI immediately.
      • (Component) Fixed the issue that activating a floated document in a iconized JFrame could not show up the document.
      • (Dashboard) Provided an interface so that the customer could change the default behavior that every child components of GadgetPallete has Opaque property set to false. See the bug report here.
      • (Dock) Fixed the issue that JTable could scroll incorrectly while it resides in a nested docking frame.
      • (Dock) Fixed a regression since 2.8.1 that dragging a DockableFrame to tab to an existing FrameContainer could not make the dragged DockableFrame be active while setFloatingContainerType(FLOATING_CONTAINER_TYPE_FRAME). See the bug report here.
      • (Dock) Fixed the regression since 2.8.1 that focus could not be switched between two DockingManagers in the same DockingManagerGroup. See the bug report here.
      • (Dock) Fixed so that dragging DockableFrame to the tab area of the FrameContainer would tab the dragged DockableFrame to that FrameContainer. See the bug report here.
      • (Dock) Fixed the dragging issue while workspace is not visible and only two DockableFrame's are dragged around. See the bug report here.
      • (Dock) Fixed the issue that mouse over a inactive autoHideShowing frame in a nested DockingManager hierarchy system caused the frame disappear unexpectedly.
      • (Dock) Fixed the issue that loading layout into an active DockingManager may cause unavailable dockable frames shown out incorrectly if the frame was visible before loading layout.
      • (Dock) Fixed the issue that DockableFrame could be in autoHideShowing state while the side pane does not have its information.
      • (Dock) Fixed possible NPE when adding a frame with currentMode set unexpectly.
      • (Dock) Fixed the NPE issue while closing a floating DockableFrame which is a regression in 2.8.3(01292010).
      • (Dock) Added instance of check before casting the component to DockableHolder. See the bug report here.
      • (Dock) Fixed the frame doesn't tab with the existing floating frame when it is set unavailable then back to available. See the bug report here.
      • (Dock) Fixed workspace grabs focus when floating a DocumentComponent.
      • (Editor) Fixed so that pressing "DELETE" key after the end of a line when virtual space is allowed behaves correctly.
      • (Editor) Fixed Mac OS X to use LF as line break.
      • (Editor) Fixed the issue that pressing Backspace key in a virtual place after the line end deleted the last character of the line incorrectly.
      • (Editor) Fixed the issue that deleting a block in column selection model while selecting the block from right to left did not delete any character at all. See the bug report here.
      • (Editor) Fixed the issue that the string before ":" was parsed as LABEL incorrectly in CTokenMarker.
      • (Editor) Fixed the issue that MarkerArea extended its height to the horizontal scroll bar area of CodeEditor.
      • (Example) Fixed the issue that expand/collapse button icon didn't get updated while clicking on the title of the gadget component. See the bug report here.
      • (Example) Fixed the issue that the collapsed gadget still occupies the space as if it's expanding after loading Dashboard layout.
      • (Example) Fixed the issue that firing table structure change caused AIOOBE issue in TableScrollPaneDemo.
      • (Gantt) Fixed gantt chart doens't handle the multiple selection correctly on Mac beacuse of the key usage difference. See the bug report here.
      • (Grids) Do not recreate the child components in AutoFilterBox when setTableModel is called.
      • (Grids) Fixed the issue that the value editors are always invisible no matter if the first filter needs value editor. See the bug report here.
      • (Grids) Fixed possible AIOOBE in DefaultListModelWrapper.
      • (Grids) Fixed the issue that grouping/ungrouping a column caused the sorting columns shift. See the bug report here.
      • (Grids) Fixed the issue that HierarchicalTable#setActualRowHeight() didn't invoke JTable#setRowHeight() which causes painting issue.
      • (Grids) Fixed the issue that the rows in different tables in TableScrollPane were not aligned correctly while exporting the TableScrollPane to excel if the TableScrollPane defines different nested table headers for different table.
      • (Grids) Fixed the painting issue while column 0 is being dragged and getAutoResizeMode() is AUTO_RESIZE_FILL.
      • (Grids) Improved the performance so that TableUtils#autoResizeRows() do not get unnecessary duplicated call on table data change event.
      • (Grids) Fixed so that Shift+Navigation Key will extend the current selection to the next navigable rows/columns. See the bug report here.
      • (Grids) Fixed so that the value list in QuickFilterPane displays the same as displayed in the filter targeting table.
      • (Grids) Fixed so that the sorting columns would be reset after firing table structure change event from SortableTableModel. See the bug report here.
      • (Grids) Fixed the issue so that wrapping a JoinTableModel over DatabaseTableModel would not create another SortableTableModel while creating a SortableTable.
      • (Grids) Fixed so that the customer could configure SortTableHeaderRenderer to not show the sort arrow. See the bug report here.
      • (Grids) Fixed so that TableScrollPane#getSelectedRow() could return correct values even in cell selection mode. See the bug report here.
      • (Pivot) Fixed so that HeaderTableModel#setExpansionState() could work. See the bug report here.
      • (Pivot) Fixed so that HeaderTable instead of HeaderTableModel provides the getValueAtInString() method to customize the summary or grand total cells.
      • (Pivot) Deprecated HssfAggregateTableUtils and HssfAggregateTablePaneUtils.
      • (Pivot) Fixed the translation issue. See the bug report here.
      • (Pivot) Fixed so that row update/cell update events from original table model could update the PivotTablePane correctly while autoUpdate() is on and filtering is applied. See the bug report here.
      • (Pivot) Fixed so that the selected values would stay in the drop down list even if the values are not existing in the table model any more. See the bug report here.
      • (Pivot) Fixed the issue that updating the original table model while isAutoUpdate() returns true didn't update the possible values filtering list accordingly. See the bug report here.
      • (Pivot) Fixed the issue that deleting rows on filtered table model caused the deleted rows sticked in the UI of PivotTablePane. See the bug report here.
      • (Pivot) Fixed the issue that invoking rowFieldsUpdated() only may cause the column width not synchronized between the column header table and the data table. See the bug report here.
      • (Pivot) Fixed the issue that setting empty as unselected values would possibly cause the empty value displayed twice while dropping down the filter panel next time. See the bug report here.
      • (Pivot) Fixed the possible AIOOBE issue while firing table data change event with less rows in PivotDataModel's original table model. See the bug report here.

      Backward Compatibility

      • (Pivot) The summary values will be hidden if all its related values are hidden which is a different behavior with releases earlier than 2.8.3.

      December 22, 2009 - 2.8.2  (Regular Release, changes from 2.8.1)

      Enhancement Requests

      • (Charts) Made it possible to set an angle of rotation for tick labels.
      • (Charts) Added class to customize UIDefaults .
      • (Common) Provided disable feature for TREE_STYLE MultiplePageDialog. See the enhancement request here.
      • (Component) Added createPopup method so that user can override to create a custom instance of JidePopup that is used by the balloon tip.
      • (Dashboard) Provided get/setSettings() API in GadgetContainer. See the enhancement request here.
      • (Grids) Added ChildBeanProperty class to create child bean property easier.
      • (Grids) Provided APIS in DualList to get original and selected JList. See the enhancement request here.
      • (Grids) Made TableScrollpane tables use AUTO_RESIZE_FILL resize mode by default. See the enhancement request here.
      • (Pivot) Added hide/show column context menu in DataTable. See the enhancement request here.

      Bug Fixes

      • (Charts) Fixed a problem where gridlines could be drawn outside of the chart area if the defaultTickCalculator is overridden..
      • (Charts) Fixed a bug that occurred when converting pixel coordinate to user coordinates on a time axis.
      • (Common) Fixed the painting issue while JideSplitButton working on TOOLBOX_STYLE and RTL orientation. See the bug report here.
      • (Common) Fixed the issue that JideTabbedPane does not work well in RTL orientation. See the bug report here.
      • (Common) Fixed the issue that ButtonPanelLayout didn't layout the buttons in correct button gap while setting "ACH" orders.
      • (Common) Fixed the issue that the layout is incorrect while resizing the StatusBar to a very small width. See the bug report here.
      • (Common) Fixed the potential NPE in JidePopup. See the bug report here.
      • (Common) Reversed the order of checking the new aqua L&F class and the old one to fix an AccessControlException on webstart.
      • (Data) Fixed the issue that DatabaseTableModel#setColumnMapping() caused the database query using incorrect column name. See the bug report here.
      • (Data) Fixed the issue that installing PageNavigationBar on JideTable would lose the functionality of converterContext and editorContext.
      • (Dock) Fixed so that the customer is able to add other components inside the floating container without side effect. See the bug report here.
      • (Dock) Fixed the issue that floating one frame in the autohidden frame group caused the other autohidden frames in the same group docked. See the bug report here.
      • (Dock) Fixed the issue that the mouse remained in resize cursor inside the auto hidden frame after resizing it.
      • (Dock) Fixed the NPE issue while invoking moveFrame() to move a frame to a non-existent frame.
      • (Dock) Fixed possible NPE when showing a non-dockable DockableFrame.
      • (Dock) Fixed the potential AIOOBE issue on multiple thread scenario.
      • (Dock) Fixed the issue that selecting frame by tab popup menu sometimes cannot select the designated frame. See the bug report here.
      • (Dock) Fixed the issue that FrameFloatingContainer did not update title while adding some other components like StatusBar to its contentPane. See the bug report here.
      • (Dock) Added a catch for Error in setupContainer method.
      • (Editor) Fixed the issue that there was empty area in the end of the document if any folding span is collapsed in CodeEditor.
      • (Editor) Fixed so that CodeEditor will expand impacted folding spans first before inserting characters.
      • (Editor) Fixed the issue so that the caret move makes more sense while there are real TABs in the document.
      • (Editor) Fixed the issue that inputing a character in column selection model ret caused incorrect inserting while there are real TABs in the document.
      • (Editor) Fixed the issue that pasting a column selection in the end of the document didn't insert new lines and paste all texts in the clipboard.
      • (Editor) Fixed the AIOOBE issue while double mouse click on the word on the same visual line of a collapsed folding span.
      • (Editor) Fixed the issue that triple mouse click selected incorrect line while a folding span is collapsed.
      • (Editor) Fixed so that folding span include the character in end offset.
      • (Editor) Fixed the issue that the folding span was painted incorrectly while the span only contains part of one line.
      • (Editor) Fixed so that folding span include the character in end offset.
      • (Editor) Fixed the issue that the folding span was painted incorrectly while the span only contains part of one line.
      • (Editor) Fixed the issue that adding folder span from the start of a line caused error painting while collapse the span.
      • (Editor) Fixed the issue that tool tip of LineNumberMargin is incorrect while any folding span is collapsed.
      • (Gadget) Fixed the issue that the scroll bar would not shrink after loading gadget from XML. See the bug report here.
      • (Grids) Fixed a memory leak issue on AbstractComboBox.
      • (Grids) Fixed the AbstractComboBox appears change after the Aqua L&F package changes. See the bug report here.
      • (Grids) Improved performance for TreeTableModel to add rows. See the bug report here.
      • (Grids) Fixed so that AutoFilterTableHeader could work with AUTO_RESIZE_FILL correctly. See the bug report here.
      • (Grids) Fixed the issue that referencing the same column multiple times in an expression of ExpressionCalculatedColumn caused incorrect depending columns calculation. See the bug report here.
      • (Grids) Fixed so that clearing searching text would trigger applyFilter() immediately even getSearchingDelay() returns -1. See the bug report here.
      • (Grids) Fixed so that QuickTableFilterField#setSearchingColumnIndices(new int[]{}) means no column to be searched. See the bug report here.
      • (Grids) Changed the optimized flag's default value to true to improve performance and solve the selection issue.
      • (Grids) Added protection code for potential AIOOBE issue while invoking TreeTableModel#getExpansionState().
      • (Pivot) Improved the performance while sorting data fields. See the bug report here.
      • (Pivot) Fixed the issue that firing structure change event for CalculatedTableModel caused the converter context and editor context setting in the PivotField lost. See the bug report here.

      Backward Compatibility

      • (Grids) The optimized flag of SortableTableModel changed the default value to true which may cause different behavior of SortableTable in some circumstance.

      December 22, 2009 - 2.7.7  (Maintenance Release, changes from 2.7.6)

      Enhancement Requests

      • (Component) Added createPopup method so that user can override to create a custom instance of JidePopup that is used by the balloon tip.

      Bug Fixes

      • (Common) Fixed the potential NPE in JidePopup. See the bug report here.
      • (Dashboard) Fixed the CCE issue while resizing the gadget container.
      • (Dock) Fixed the issue that Dockable frame is not able to be dragged after toggling auto-hide back and forth. See the bug report here.
      • (Dock) Fixed the uncomplete ConcurrentModificationException issue. See the bug report here.
      • (Dock) Fixed titleBarComponent's position is not correct on Aqua L&F.
      • (Dock) Fixed possible NPE when showing a non-dockable DockableFrame.
      • (Dock) Fixed the issue that selecting frame by tab popup menu sometimes cannot select the designated frame. See the bug report here.
      • (Dock) Fixed a special case that Workspace adjustOpacityOnTheFly doesn't work when there is a JideSplitPane inside another JideSplitPane.
      • (Editor) Fixed so that pressing ENTER in column selection mode has similar behavior with other commercial editors like IntelliJ. See the bug report here.
      • (Grids) Fixed a memory leak issue on AbstractComboBox.
      • (Grids) Fixed the AbstractComboBox appears change after the Aqua L&F package changes. See the bug report here.
      • (Grids) Improved performance for TreeTableModel to add rows. See the bug report here.
      • (Grids) Fixed so that QuickTableFilterField#setSearchingColumnIndices(new int[]{}) means no column to be searched. See the bug report here.
      • (Grids) Added protection code for potential AIOOBE issue while invoking TreeTableModel#getExpansionState().

      December 4, 2009 - 2.8.1  (Regular Release, changes from 2.8.0)

      New Product

      • (Gantt) Introducing JIDE Gantt Chart (beta).

      Enhancement Requests

      • (Charts) Made it easier to create custom time ticks.
      • (Charts) Added a new method to make it more obvious how to calculate pixel coordinates for points not associated with the default y axis..
      • (Charts) Can now create 'Multicharts' that are positioned alongside one another and share an axis .
      • (Charts) Adds Line and Interval markers.
      • (Charts) Can now specify two arbitrary columns and a row interval of interest in the underlying table model.
      • (Charts) Now allows you to set the columns of interest in the underlying table model.
      • (Common) Made DialogPageTreeCellRenderer public for customization. See the enhancement request here.
      • (Common) Changed JideSplitButton's default icon size to large instead of small and provided API to configure if the split button is enable. See the enhancement request here.
      • (Common) Added unsynchronizeView() interface in JideSwingUtilities.
      • (Dashboard) Provided get/setSettings() API in GadgetContainer. See the enhancement request here.
      • (Dock) Save the activate frame information into layout in DefaultDockingManager.
      • (Dock) Added APIs to add additional buttons left to those default buttons in DockableFrame.
      • (Editor) Fixed so that the scroll bar will be invisible if not necessary.
      • (Grids) Added API so that the customer could override AbstractComboBox#listDataChanged() to customize the behavior on data model change events. See the enhancement request here.
      • (Grids) Added setInvalidValueAllowed() API for ColorComboBox. See the enhancement request here.
      • (Grids) Added ColumnWidthTableModel to store column width settings in the table model so that the customer could customize its column appearance in a consistent way with CellStyel, Cell Span, etc.. See the enhancement request here.
      • (Grids) Added APIs for configurations for the selection behavior configuration while mouse clicking on the DayOfWeek label and WeekOfYear label. See the enhancement request here.
      • (Grids) Added GroupTableSearchable to make TableSearchable work better with GroupTable. See the enhancement request here.
      • (Grids) Exposed HssfTableScrollPaneUtils.exportToSheet() API for exporting TableScrollPane to excel and made it work with TreeTable. See the enhancement request here.
      • (Grids) Added group functionality while exporting TreeTable to excel. See the enhancement request here.
      • (Grids) Added getVerticalGridColor to JideTable so that user can customize the vertical grid color per column.
      • (Grids) Added API so that table selections would not be cleared and reset on collapsing/expanding scenario. See the enhancement request here.
      • (Grids) Added support to excel 2007 format export. See the enhancement request here.

      Bug Fixes

      • (Action) Fixed the issue that CommandBarLayout didnot respect the minimum size of the menu items.
      • (Action) Fixed the issue that clicking on the parent menu item in the ContextMenu of DockableBar caused the popup menu invisible. See the bug report here.
      • (Charts) Fixed a concurrency issue while painting bar charts.
      • (Charts) Fixed a layout bug in horizontal charts that occurred when only one basy position on the y axis was used.
      • (Charts) Fixed a bug where points were painted in wrong position when using lazy rendering and a trailing x axis.
      • (Charts) Fixed a bug that meant that ChartLabels were at the top of the plottable region during animation.
      • (Charts) Addressed concurrentModification issue for animation.
      • (Charts) Improved memory behaviour of lazy rendering .
      • (Charts) Fixed a exception generated when the high-quality setting is used and the model contains a single value.
      • (Charts) Fixed a problem where setting the delegate to null caused a null pointer exception.
      • (Common) Fixed so that the customer could customize the expand/collapse icon easier. See the bug report here.
      • (Common) Fixed the issue that keyboard could not trigger the scroll of the JidePopupMenu.
      • (Common) Fixed so that the vertical line will not be painted while selecting the button if JideSplitButton#isAlwaysDropDown() returns true.
      • (Common) Fixed the issue that choosing tab with tab list sometimes cannot enroll the selected tab to visible.
      • (Common) Fixed the issue that DateDayOfWeekGrouper returned null for Saturday. See the bug report here.
      • (Common) Fixed the issue that DateWeekOfMonthGrouper returned null for the dates at the 6th week. See the bug report here.
      • (Common) Fixed so that JideBoxLayout#isAlwaysLayout() returns default value as true to always layout the container even when the minimum size is not meeted at all.
      • (Common) Fixed so that the previous layout will be cleared when the minimum size of container is resized to a too small size when JideBoxLayout#isAlwaysLayout() returns false.
      • (Common) Fixed the issue that JidePopup keeps growing while popup again and again. See the bug report here.
      • (Common) Fixed the issue that JideScrollPane could not work well with Synthetica L&F. See the bug report here.
      • (Common) Fixed the issue that the view of SubColumnHeader is not synchronized correctly with the main table view. See the bug report here.
      • (Common) Fixed setDividerSize doesn't work if the panes are added already to JideSplitPane.
      • (Common) Fixed the issue that state change events were fired duplicatedly while invoking JideTabbedPane#insertTab(). See the bug report here.
      • (Common) Commented out a piece of unused code to fix the compiled inner class name issue. See the bug report here.
      • (Common) Fixed exception when updating the text of a text component that has Searchable installed. See the bug report here.
      • (Common) Fixed the issue that TableSearchable still worked on view index incorrectly while searching on multiple column indices. See the bug report here.
      • (Component) Fixed the issue that invoking CollapsiblePane#setCollapsibleOnTitleClick() caused the mouse release event consumed immediately which caused CollapsiblePangeGadget could not be dragged. See the bug report here.
      • (Component) Fixed the issue that the title text was truncated in CollapsiblePaneTitlePane while the text is long. See the bug report here.
      • (Component) Fixed the issue that CollapsiblePanes still paints its background even isOpaque() returns false. See the bug report here.
      • (Component) Fixed the issue that floating a document to an existing floating container didn't active the correct document.
      • (Component) Fixed the issue that docking a floated document sometimes kept the document in floating status.
      • (Component) Fixed the memory status bar item preferred width is too width.
      • (Component) Fixed setItemVisible(false) makes the hidden StatusBar visible.
      • (Dashboard) Fixed the cursor is wrong when toggle column resizable twice. See the bug report here.
      • (Dashboard) Fixed so that Dashboard#createNormalGadgetContainer() returns a JPanel with isOpaque() as false so that the customer could change the background of Dashboard easier. See the bug report here.
      • (Dashboard) Fixed the issue that GadgetManager#setAllowMultipleGadgetInstances(false) did not restrict the number of gadget instance correctly. See the bug report here.
      • (Dashboard) Fixed the issue that the ResizableGadgetComponent could not be resized after loading layout from xml files. See the bug report here.
      • (Data) Fixed the issue that DatabaseTableModel did not support convert MultipleValuesFilter to WHERE statement which makes it not work with AutoFilterTableHeader with setAllowMultipleValues(true).
      • (Data) Fixed AutoFilterTableHeader to support DatabaseTableModel. See the bug report here.
      • (Dialog) Fixed so that WizardDialog will use its locale to internationlize the buttons instead of using Locale#getDefault(). See the bug report here.
      • (Dock) Fixed the NPE issue if DockableFrame#setFrameIcon(null) is invoked and the dockable frame is autohidden.
      • (Dock) Fixed the issue that floating a maximized DockableFrame could result in docking that frame if the frame was floated before maximized.
      • (Dock) Fixed so that dragging dockable frame inside its parent FrameContainer would also check DockingManager#isDropAllowed() to keep consistence.
      • (Dock) Fixed the issue that showing a hidden frame after reset layout caused another hidden frame in the same area shown up incorrectly.
      • (Dock) Fixed the issue that Dockable frame is not able to be dragged after toggling auto-hide back and forth. See the bug report here.
      • (Dock) Fixed so that DockableFrame#isAvailable() would be respected while loading layout.
      • (Dock) Fixed so that showFrame() could show auto hidden frames as well. See the bug report here.
      • (Dock) Fixed so that floating frame container could be visible when the customer changes DockingManager#getContentContainer()'s visibility.
      • (Dock) Fixed the dancing window issue if DockableFrame#setTitleLabelCompoennt() is invoked and the title label set target to its parent.
      • (Dock) Added additional support so that framedialogcontainers support focus.
      • (Dock) Added a check to ensure that the window zorder was not 'repaired' when the floatingwindowtype was frame because always on top is not enforced and windows os is managing their zorder (unlike with dialog and window).
      • (Dock) Fixed the concurrent modification issue. See the bug report here.
      • (Dock) Fixed floating a document from DocumentPane inside DockingManager's workspace is sent to the back and coverred the main JFrame. See the bug report here.
      • (Dock) Fixed the issue that moving one frame to dock around with setShowWorkspace(false) and setShowDividerGripper(true) caused the gripper shown up incorrectly. See the bug report here.
      • (Dock) Updated logic to better handle lightweight/heavyweight changes.
      • (Dock) Fixed titleBarComponent's position is not correct on Aqua L&F.
      • (Dock) Added defensive null check in DockableFrame#setUndockedBounds(). See the bug report here.
      • (Dock) Fixed so that shouldVetoShowing() acts as its verbal meaning. See the bug report here.
      • (Dock) Fixed maximize/restore action doesn't create an undo entry. See the bug report here.
      • (Dock) Fixed the selected tab is changing when loading layout. See the bug report here.
      • (Dock) Fixed sometimes it needs two clicks to select the tab in Docking Framework.
      • (Dock) Fixed floating container is not resizable under Synthetica L&F. See the bug report here.
      • (Dock) Fixed a special case that Workspace adjustOpacityOnTheFly doesn't work when there is a JideSplitPane inside another JideSplitPane.
      • (Editor) Added protection code for AIOOBE issue while inputint charaters in the line ends on column selection mode.
      • (Editor) Fixed the issue that pressing characters in column selection mode sometimes did not make the input alignment correctly.
      • (Editor) Fixed the issue that editing a multi-line comments did not repaint the lines influenced immediately.
      • (Editor) Fixed the issue that pressing CTRL+B to select a block did not ignore the brackets inside comments.
      • (Editor) Fixed so that pressing ENTER in column selection mode has similar behavior with other commercial editors like IntelliJ. See the bug report here.
      • (Editor) Fixed the issue that pasting a column selection in the end of the document didn't insert new lines and paste all texts in the clipboard.
      • (Editor) Fixed the issue that invoking gotoLineAtView may cause the caret stays at an invalid position while setVirtualSpaceAllowed(false).
      • (Editor) Fixed the issue that searching "?" without checking the "regular expression" option could not find correct match.
      • (Editor) Added validation for invalid regular expression input for search to avoid throwing PatternSyntaxException.
      • (Editor) Fixed the issue that the cursor did not change correctly while MarkerStripe working with folding span. See the bug report here.
      • (Editor) Fixed so that clicking on the error margin would expand the folding span automatically if necessary. See the bug report here.
      • (Grids) Fixed the issue that the date was not reverted correctly when inputing an invalid date in a DateComboBox and pressing ENTER to commit.
      • (Grids) Fixed the issue that cancelling popup menu eventually triggered edittingStopped which could be an issue who listen to the event. See the bug report here.
      • (Grids) Fixed the AIOOBE issue while installing AutoFilterTableHeader for a JideTable and JideTable#setAutoResizeMode(JideTable.AUTO_RESIZE_FILL). See the bug report here.
      • (Grids) Fixed the issue that AutoFilterTableHeader did not show filter icon while working with SYNTHETICA_LNF. See the bug report here.
      • (Grids) Fixed the issue that the IntelliHints showed incorrect list after changing the column order if AutoFilterUtils is installed in a table. See the bug report here.
      • (Grids) Fixed the issue that the tree line did not respect the renderer even TreeTable#isRespectRenderPreferredHeight() returns true after scrolling the table down and up. See the bug report here.
      • (Grids) Fixed the issue invoking CalendarViewer#setSelectionModel() did not really change the selection model accordingly. See the bug report here.
      • (Grids) Fixed possible NPE in CellSpanTable.
      • (Grids) Fixed so that the ItemEvent pair was fired only once on a selection. See the bug report here.
      • (Grids) Fixed the issue that clicking on none button in DateChooserPanel in a DateComboBox could cause StackOverflowException.
      • (Grids) Improved performance for GroupTable while no grouping columns present.
      • (Grids) Fixed the issue that CellStyle sometimes could not be exported to excel correctly.
      • (Grids) Made IconCellRenderer extending ContextSensitiveCellRenderer. See the bug report here.
      • (Grids) Make AutoFilterUtils work with AUTO_RESIZE_FILL.
      • (Grids) Added scroll pane to MultilineTableCellEditor and adjust row height automatically.
      • (Grids) Fixed setCategoryOrder has no use on PropertyTableModel.
      • (Grids) Fixed the issue that QuickTableFilterField had some issues on searching while working with GroupTable. See the bug report here.
      • (Grids) Fixed the issue that QuickTableFilterField searched on incorrect columns after grouping/ungrouping a column in GroupTable. See the bug report here.
      • (Grids) Fixed the issue that filtering result could be incorrect if QuickTableFilterField#setWildcardEnabled(true). See the bug report here.
      • (Grids) Fixed the issue that QuickTreeFilterField did not work with JTree if the JTree's nodes are not instances of TreeNode. See the bug report here.
      • (Pivot) Fixed a potential ConcurrentModificationException in PivotDataModel. See the bug report here.
      • (Pivot) Fixed painting issue when PivotTablePane is in RTL orientation. See the bug report here.

      Backward Compatibility

      • (Action) The painting of shrinked menu bar may be different than before. Please explicity invoke menuItem.setMinimumSize(menuItem.getPreferredSize()) to keep the original behavior..
      • (Dock) if the customer ever used DefaultDockingManager#getAllDockingManagers() and modified the list, the behavior will be changed since we will not return the actual list used inside at all. See the bug report here.
      • (Dock) If any customer has overrided shouldVetoShowing(), please revert the return result to make it work as before.. See the bug report here.

      November 20, 2009 - 2.7.6  (Maintenance Release, changes from 2.7.5)

      Enhancement Requests

      • (Grids) Added getVerticalGridColor to JideTable so that user can customize the vertical grid color per column.
      • (Grids) Added API so that table selections would not be cleared and reset on collapsing/expanding scenario. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed the issue that keyboard could not trigger the scroll of the JidePopupMenu.
      • (Common) Fixed the JDK5 compatibility issue in JidePoupMenu. See the bug report here.
      • (Common) Fixed the issue that JidePopup keeps growing while popup again and again. See the bug report here.
      • (Common) Fixed setDividerSize doesn't work if the panes are added already to JideSplitPane.
      • (Common) Commented out a piece of unused code to fix the compiled inner class name issue. See the bug report here.
      • (Common) Fixed exception when updating the text of a text component that has Searchable installed. See the bug report here.
      • (Common) Fixed the issue that TableSearchable still worked on view index incorrectly while searching on multiple column indices. See the bug report here.
      • (Component) Fixed the issue that the title text was truncated in CollapsiblePaneTitlePane while the text is long. See the bug report here.
      • (Component) Fixed the issue that floating a document to an existing floating container didn't active the correct document.
      • (Component) Fixed the issue that docking a floated document sometimes kept the document in floating status.
      • (Data) Fixed the issue that inserting new rows in invisible pages caused DefaultPageTableModel fire table data changed event instead of row insert event.
      • (Dock) Fixed the NPE issue if DockableFrame#setFrameIcon(null) is invoked and the dockable frame is autohidden.
      • (Dock) Fixed the dancing window issue if DockableFrame#setTitleLabelCompoennt() is invoked and the title label set target to its parent.
      • (Dock) Fixed the concurrent modification issue. See the bug report here.
      • (Dock) Fixed the issue that moving one frame to dock around with setShowWorkspace(false) and setShowDividerGripper(true) caused the gripper shown up incorrectly. See the bug report here.
      • (Dock) Fixed floating frame cannot be resized when it is changed from nested docking mode. See the bug report here.
      • (Dock) Fixed the issue that too many DOCKABLE_FRAME_AUTOHIDESHOWING events were fired while showing auto hiddeng dockable frames. See the bug report here.
      • (Editor) Fixed the issue that searching "?" without checking the "regular expression" option could not find correct match.
      • (Editor) Added validation for invalid regular expression input for search to avoid throwing PatternSyntaxException.
      • (Editor) Fixed the issue that the cursor did not change correctly while MarkerStripe working with folding span. See the bug report here.
      • (Editor) Fixed so that clicking on the error margin would expand the folding span automatically if necessary. See the bug report here.
      • (Grids) Fixed the issue that the date was not reverted correctly when inputing an invalid date in a DateComboBox and pressing ENTER to commit.
      • (Grids) Fixed the issue that AutoFilterTableHeader did not show filter icon while working with SYNTHETICA_LNF. See the bug report here.
      • (Grids) Fixed the issue invoking CalendarViewer#setSelectionModel() did not really change the selection model accordingly. See the bug report here.
      • (Grids) Fixed possible NPE in CellSpanTable.
      • (Grids) Improved performance for CellSpanTable#calculateRowHeight(int).
      • (Grids) Fixed the issue that clicking on none button in DateChooserPanel in a DateComboBox could cause StackOverflowException.
      • (Grids) Made IconRenderer extending ContextSensitiveCellRenderer. See the bug report here.
      • (Grids) Fixed the issue that selectionModel.removeSelectionInterval() was invoked incorrectly while JideTable gets table rows deleted event. See the bug report here.
      • (Grids) Fixed setCategoryOrder has no use on PropertyTableModel.
      • (Grids) Fixed the issue that QuickTableFilterField searched on incorrect columns after grouping/ungrouping a column in GroupTable. See the bug report here.
      • (Grids) Fixed the issue that filtering result could be incorrect if QuickTableFilterField#setWildcardEnabled(true). See the bug report here.
      • (Grids) Fixed the issue that setTablePreferenceByName(String, TableScrollPane, Boolean) did not work correctly while the column in row header table is hidden. See the bug report here.
      • (Pivot) Fixed a potential ConcurrentModificationException in PivotDataModel. See the bug report here.

      Backward Compatibility

      • (Dock) if the customer ever used DefaultDockingManager#getAllDockingManagers() and modified the list, the behavior will be changed since we will not return the actual list used inside at all. See the bug report here.

      November 3, 2009 - 2.8.0  (Regular Release, changes from 2.7.3)

      New Product

      • (Charts) Introducing JIDE Charts.

      New Components

      • (Grids) Added AutoFillTableViewport feature to paint the similar background in the blank area while the JTable contents cannot fill the entire Jviewport. You can setAutoResizeMode(JideTable.AUTO_RESIZE_FILL) to enable it..
      • (Grids) Added AutoFilterUtils to allow multiple column filter working together with NestedTableHeader.

      Enhancement Requests

      • (Charts) Made it possible to specify whether an outline should always be shown for pie charts.
      • (Charts) Added a new (simple) labeling style for pie charts that means the pie chart can occupy less space.
      • (Charts) Made it possible to specify the outline color.
      • (Charts) Can now specify whether to always show outlines for bar charts.
      • (Charts) Refactored so the width of the selection outline is held in one place only.
      • (Charts) Made it possible to make the axes completely invisible.
      • (Charts) The appearance of ChartLabels and ChartImages is now also animated.
      • (Charts) Improved the animation.
      • (Charts) AnimateOnShow can now be switched off.
      • (Charts) Can now use rollover selection and double-click effects on XY point charts.
      • (Charts) Changed the visuals of bar charts and pie charts so that selection is indicated by a border and rollover by a brighter colour. I think this will be a better fit for user expectations.
      • (Charts) Textured fills now possible for bars and pie segments.
      • (Charts) Highlights are now ChartStyles rather than PointStyles.
      • (Charts) Now supports animation.
      • (Charts) First experiments with animation.
      • (Charts) Refactoring to distinguish between rollover and focus.
      • (Charts) Can now dynamically switch selection/rollover and double-click action for bar and pie charts. See ConfigurableBarChartDemo.
      • (Charts) More refactoring to ease use of selection/rollover for bar and pie charts.
      • (Charts) Minor refactoring to prepare for concept of focus point.
      • (Charts) Added peak line and marker region test code.
      • (Charts) Refactoring to move to ListSelectionModel for selecting points/bars/segments.
      • (Charts) Refactoring to remove some compiler warnings.
      • (Charts) moved towards using a ListSelectionModel for the selection of bars points and segments.
      • (Charts) when a bar is selected you can easily discover the chart point and corresponding model .
      • (Charts) Rollover and Selection Support for charts plus updated Category to support a category name.
      • (Charts) Added N-dimensional point support at the model level.
      • (Charts) Improved the layout of the labels.
      • (Charts) Improved layout for labels when large number of segments or small segments close together.
      • (Charts) Made it possible to restrict panning to just horizontal or vertical orientation.
      • (Charts) Made it possible to set the diameter of a pie chart.
      • (Charts) It is now possible to customize the labels for segments of a pie chart.
      • (Common) Added FilenameFilter configuration for FileIntelliHints. See the enhancement request here.
      • (Common) Added API to JidePopup to enable the customer to set the display start location of JidePopup. See the enhancement request here.
      • (Common) Added a new component between column header part and major view part.
      • (Common) Registered ALT_DOWN as the short cut key to show context menu for LabeledTextField and QuickFilterField. See the enhancement request here.
      • (Common) Added APIs to configure if the SearchableBar will highlight all matches. See the enhancement request here.
      • (Common) Added method isWindows7 and isWindowsVistaAbove to SystemInfo. See the enhancement request here.
      • (Component) Added API to control if the CollapsiblePane can be collapsible on mouse clicking on the title. See the enhancement request here.
      • (Dashboard) Support the legacy panel Dashboard while setColumnResizable(false). See the enhancement request here.
      • (Dashboard) Support FlowLayout in Dashboard.
      • (Dashboard) Added getGadgetContainer() API in Dashboard. See the enhancement request here.
      • (Dashboard) Enables GadgetContainer to support GridLayout. See the enhancement request here.
      • (Dashboard) Added APIs to disable multiple gadget instances so that the gadget button will be invisible once a gadget component is created. See the enhancement request here.
      • (Dashboard) Added a flag in GadgetManager to control the gadget dragging behavior between dashboard. See the enhancement request here.
      • (Data) Added CrudDatabaseTableModel for writing back to the database.
      • (Dock) Added accessor for all floating frames. See the enhancement request here.
      • (Dock) Added support for allowing the dockableframes and workspace to support setFocusCycleRoot(false).
      • (Dock) Provided APIs so that the customer can be easier to create FrameFloatingContainer and or so. See the enhancement request here.
      • (Dock) Added shouldVetoShowing() in DockableFrame to allow the user override to show different layout for different customers with the same shared layout file. See the enhancement request here.
      • (Editor) Added the feature that findAll operation hightlights all matched strings.
      • (Editor) Provided API to customize the selection model of CodeEditor.
      • (Grids) Added setAutoUpdate flag to control whether the JLists are updated when the table model is changed.
      • (Grids) Added editable flag to improve performance on read only scenario by not installing property change listeners in BasicTableModel. See the enhancement request here.
      • (Grids) Added API for CalendarViewer to setFirstDayOfWeek. See the enhancement request here.
      • (Grids) Added toggle configuration for easy selection while in multiple interval selection mode. See the enhancement request here.
      • (Grids) Added the feature that clicking on week label or week number label to select the entire column or row of dates. See the enhancement request here.
      • (Grids) Improved so that table selections can be persisted even the selected rows were filtered by a filter criteria. See the enhancement request here.
      • (Grids) Enabled the customer to customize TableColumnChooserDialog while choosing "More..." menu item in TableColumnChooserPopupMenu. See the enhancement request here.
      • (Grids) Added APIs to retrieve the fields in TableScrollPane#TablePosition class. See the enhancement request here.
      • (Pivot) Provided APIs to customize the context menu while right clicking on the cells of AggregateTable. See the enhancement request here.
      • (Pivot) Added the feature so that adding new column in CalculatedTableModel then firing table structure change event could put the new added field into the unassigned field area in PivotTablePane. See the enhancement request here.
      • (Pivot) Added createFilterableTableModel() API for TableModelPivotDataSource. See the enhancement request here.
      • (Synthetica) Fixed the compatible issue with Synthetica 2.9.0 release.

      Bug Fixes

      • (Action) Fixed the RTL issue for DockableBar.
      • (Action) Use DockableBarManager#createDockableBarContainer when loading layout.
      • (Charts) Recent improvement on sorting of bars ready for painting introduced a ConcurrentModificationException on the dynamic chart .
      • (Charts) Forgot to switch off label rendering when painting a pie chart.
      • (Charts) Now render the labels for the y axis later in the rendering cycle so that they cannot be obscured by bar charts such as cylinders that may be partially outside the main chart area..
      • (Charts) Fixed clipping region issue for shadow when displaying pie charts.
      • (Charts) Fixed problem where only one ChartModel could use rollover or selection per chart.
      • (Charts) addressed an issue where the chart was not always updating at the end of an animation sequence.
      • (Charts) Forgot to add ChartFocusListener class.
      • (Charts) Drawables are now always painted on top of other elements regardless of whether shadows are visible.
      • (Charts) Fixed a problem with the labelling of the x axis .
      • (Charts) Removed assertion that disallowed resetting highlight.
      • (Charts) Fixed erroneous assertion and made sure tooltip text nulled when mouse not over point.
      • (Charts) code assumed use of ChartPoint where Chartable interface should have been used.
      • (Charts) Forgot to add new test class.
      • (Charts) Fixed exception when a model has no points.
      • (Charts) Corrected the logic on intensify2.
      • (Charts) DefaultChartModel no longer auto-sorts points as it causes problems for cyclic models. Only one highlight is now supported by Highlightable as supporting many will only pose more questions than it solves about how to deal with multiple highlights. This is possible now because rollover and selection are dealt with elsewhere..
      • (Charts) Fixed an update problem and removed an ugly line that appeared in the rendering of pie charts with the DefaultPieSegmentRenderer.
      • (Charts) Fixed a bug in pie segment hit testing where the offset due to explosion effect was not taken into account .
      • (Charts) Fixed a problem where legend did not initially show the rendered ChartModel style.
      • (Charts) Minor change to ensure that the chart font is used when rendering labels.
      • (Charts) Fixed a buglet where the renderer did not check whether it should render an outline for selected segments.
      • (Charts) Improved the robustness of the label positioning under resizing.
      • (Charts) Fixed a problem where a simple get() did not retrieve from the sorted list. Added unit test. Also allowed natural sort order instead of insisting on using a comparator..
      • (Common) Fixed the JDK5 compatibility issue in JidePoupMenu. See the bug report here.
      • (Common) Fixed the regression at 2.7.2 that JidePopupMenu does not display an arrow button to browse more menu items if it has too many menu items to fit in the screen. See the bug report here.
      • (Common) Fixed the issue that JideSplitButton always layout the text as "..." since 2.6.4.
      • (Common) Fixed the text truncated issue in the tab list popup menu while a tab in JideTabbedPane has a very long name that exceeds the size of the screen. See the bug report here.
      • (Common) Fixed the issue that pressing ENTER key could not active the selected tab while tab list popup menu is triggered. See the bug report here.
      • (Common) Fixed the issue that selecting a tab by popup cannot let the component inside the tab get focus correctly. See the bug report here.
      • (Common) Fixed the painting issue for Xerto menu on RTL scenario.
      • (Common) Fixed the performance issue while batch selecting nodes in CheckBoxTree in or not in digIn mode.
      • (Common) Fixed the NPE issue while DefaultArrayConverter is trying to convert an input string which contains only spaces. See the bug report here.
      • (Common) Made HeaderBox extends JideButton so that its background at rollover or disable state could be configured. See the bug report here.
      • (Common) Added a protection in JideBoxLayout so that it can layout correctly even if the customer set preferred size smaller than minimum size. See the bug report here.
      • (Common) Fixed the divider is drawn at the wrong location when it is inside a JScrollPane.
      • (Common) Fixed the backward compatibility issue that JideSplitPane.PROPERTY_DIVIDER_LOCATION fired Long value instead of int type before 2.6.7.
      • (Common) Fixed the incompatibility with JDK 1.4 issue in JideSplitPane. See the bug report here.
      • (Common) Fixed the memory leak issue on invoking JideTabbedPane#setComponentAt(). See the bug report here.
      • (Common) Fixed the Aqua L&F is not detected on Java Update 6 on Mac OS X. See the bug report here.
      • (Common) Fixed the issue that ComboBoxSearchable will not hide the search popup while selecting an item using the mouse. See the bug report here.
      • (Common) Reverse the direction of the mouse wheel.
      • (Common) Fixed the issue that TableSearchable worked on incorrect column after moving columns. See the bug report here.
      • (Common) Fixed the issue that popup menu was installed black border in XERTO_STYLE_WITHOUT_MENU scenario. See the bug report here.
      • (Component) Fixed the issue that updating component for a DocumentPane with two duplicated titles could update the wrong document. See the bug report here.
      • (Dashboard) Fixed the incorrect scroll then drop gadget behavior in Dashboard. See the bug report here.
      • (Dashboard) Fixed the issue that load Dashboard from XML could not restore the width of GadgetContainer and the height of the gadgets.
      • (Dashboard) Fixed the issue that double clicking palette button did not make the scroll bar of the dashboard updated accordingly. See the bug report here.
      • (Dashboard) Fixed the issue that Dashboard looks crashed when trying to hide a maximized gadget.
      • (Dashboard) Added createGadgetButtonContainer and recreateGadgetButtons method to GadgetPalette so that users can subclass to create their own gadget palette. See the bug report here.
      • (Data) Fixed the NPE issue while appending rows to an empty table with PageNavigationBar.
      • (Data) Fixed the issue that inserting new rows in invisible pages caused DefaultPageTableModel fire table data changed event instead of row insert event.
      • (Dialog) Make the cursor over the page list be HAND_CURSOR. See the bug report here.
      • (Dialog) Fixed so that the radio buttons on the step pane appears as disabled if the step pane is not navigable. See the bug report here.
      • (Dock) Fixed right click on the side pane doesn't work on Mac. See the bug report here.
      • (Dock) Fixed the issues related to context menu showing for auto hide dockable frames. See the bug report here.
      • (Dock) Fixed the issue that floating a tabbed DockableFrame then maximizing and restoring it caused the other DockableFrames in the same FrameContainer floating too. See the bug report here.
      • (Dock) Fixed floating frame cannot be resized when it is changed from nested docking mode. See the bug report here.
      • (Dock) Fixed so that the new added auto hide frames will be added to the side pane separately when DockingManager#setGroupAllowedOnSidePane(false). See the bug report here.
      • (Dock) Fixed the issue that DockingManager#getFloatingContainerCustomizer() was not invoked accordingly in some scenarios which caused the floating container was not customized as expected.
      • (Dock) Fixed the issue that clicking on an autohide DockableFrame while another autohide frame is activated could not activate the clicked frame immediately.
      • (Dock) Fixed the issue that NoSuchMethodError was thrown while running DockingFramework on JDK 1.4 or earlier releases. See the bug report here.
      • (Dock) Fixed the unit test and enabled navigation of focused tabstrips.
      • (Dock) Fixed an CCE issue in DockingManager. See the bug report here.
      • (Dock) Fixed the issue that loading layout sometimes make the DockableFrame have wrong size.
      • (Dock) Fixed the issue that floating frame's location in screen shift left and up each time hiding and showing that frame. See the bug report here.
      • (Dock) Fixed the potential concurrent modification exception happening in multiple DockingManager scenario. See the bug report here.
      • (Dock) Fixed the issue that settin ToolTip for DockableFrame#getTitleLabelComponent() will causes the frame not draggable. See the bug report here.
      • (Dock) Fixed so that When a dockable frame does not have a focusable component it should try to place focus in the frame not return false.
      • (Dock) Fixed the issue that DockableFrame#setTitleBarComponent()/setTitleLabelComponent() caused the DockableFrame not draggable and showing context menu. See the bug report here.
      • (Dock) Fixed the issue that double clicking on a tabbed DockableFrame floating all frames in the same FrameContainer.
      • (Dock) Fixed the issue that too many DOCKABLE_FRAME_AUTOHIDESHOWING events were fired while showing auto hiddeng dockable frames. See the bug report here.
      • (Dock) Added default constructor for DockableHolderPanel. See the bug report here.
      • (Dock) Fixed an unhidable dockable frame can still be hidden when it is in the floating frame as user can use the native window close button to hide.
      • (Dock) Fixed the floating frame cannot be dragged to the second monitor if the second monitor is arranged on top of the first monitor vertically.
      • (Dock) Fixed the issue that cursor is not displayed correctly while dragging a DockableFrame to a FloatingContainer in Eclipse L&F. See the bug report here.
      • (Dock) Fixed the issue that NoSuchMethodError was thrown while running DockingFramework on JDK 1.4 or earlier releases. See the bug report here.
      • (Editor) Fixed the issue that invoking gotoLine may cause the caret stays at an invalid position while setVirtualSpaceAllowed(false).
      • (Editor) Fixed the issue that pressing DELETE or BACKSPACE or CTRL+V in column selection model deleted all lines incorrectly.
      • (Editor) Fixed so that setting scroll bar to invisible could enlarge the editor space.
      • (Editor) Fixed the InternalError exception while pressing ENTER key in the last line and the line is selected entirely. See the bug report here.
      • (Editor) Fixed the issue that searching texts clear the other existing highlights.
      • (Editor) Fixed the issue that the searching behavior was not as generally expected while using wildcards in CodeEditor's FindAndReplace. See the bug report here.
      • (Editor) Fixed the NPE issue when the CodeEditor does not set token marker. See the bug report here.
      • (Editor) Fixed the issue that setting token marker's background had no effect. See the bug report here.
      • (Example) Fixed the NPE issue in ColllapsiblePaneDashboardDocumentPaneDemo while removing "Clock" gadget then remove its gadgetComponent. See the bug report here.
      • (Example) Fixed a demo issue. See the bug report here.
      • (Grids) Fixed the border of the AbstractComboBox button is wrong under XP Classic theme. See the bug report here.
      • (Grids) Fixed the issue that choosing the same date in DateComboBox still fired item changed event incorrectly.
      • (Grids) Do not customize the cell editor component if the table parameter is null.
      • (Grids) Fixed the issue that incorrect vertical tree line was painted while setShowsRootHandles(false) and the expandable column is not column 0. See the bug report here.
      • (Grids) Fixed the tree line painting issue while treeTable#setRespectRenderPreferredHeight(true). See the bug report here.
      • (Grids) add MultiSelectListComboBox and CheckBoxListComboBox to java-bean section of jide-grids.jar. See the bug report here.
      • (Grids) Improved performance for CellSpanTable#calculateRowHeight(int).
      • (Grids) Improved performance at CellSpanTable#getCellRect().
      • (Grids) Fixed the issue that input an integer in a Float type CustomerFilterEditor could not filter the table correctly. See the bug report here.
      • (Grids) Fixed the issue that week of year label didn't count correctly while DateChooserPanel#getFirstDayOfWeek() is other than 1. See the bug report here.
      • (Grids) Fixed the item event is fired even when the same date is selected in the DateComboBox.
      • (Grids) Fixed a potential AIOOBE issue in GroupTable while removing all the rows. See the bug report here.
      • (Grids) Fixed the issue that selection on new added rows could not be kept on sorting/filtering if there is no grouping columns in a GroupTable. See the bug report here.
      • (Grids) Fixed the issue that if there is a wrapped list model in the selectedList of DualList, moveLeft operation will not move correct item. See the bug report here.
      • (Grids) Fixed the issue that FilterableListModel did not update its indexes correctly while getting contents changed event and the size of the list is changed. See the bug report here.
      • (Grids) Fixed the issue that invoking FolderChooserPanel#setCurrentDirectoryPath() didn't synchronize the setting in the FolderChooser instance it contains. See the bug report here.
      • (Grids) Fixed so that when double clicking on the non-expandable rows in HierarchicalTable would not consume the mouse event incorrectly.
      • (Grids) Fixed the issue that deleting rows in sorted HierarchicalTable with page navigation caused wrong child expansion status.
      • (Grids) Fixed the issue that dragging cell border to resize the column made the HierarchicalTable has wrong selection while isColumnResizable() returns true.
      • (Grids) Set the client property of the table to have HSSFWorkbook instance so that CellValueConverter can access the HSSFWorkbook during the value conversion.
      • (Grids) Fixed the issue that selectionModel.removeSelectionInterval() was invoked incorrectly while JideTable gets table rows deleted event. See the bug report here.
      • (Grids) Added isValidcellEditingKey method to JideTable to allow users to override and decide whether the key will put the cell into editing mode. See the bug report here.
      • (Grids) Fixed the issue that sometimes JTextArea cannot obtain focus automatically while JideTable#setAlwaysRequestFocusForEditor(true).
      • (Grids) Fixed the year label on the MonthChooserPanel has a black foreground on XP blue/green theme which should be white.
      • (Grids) Fixed a translation error in pivot_da. See the bug report here.
      • (Grids) Fixed so that Property's getCellEditor() will have the editor context and the converter context set.
      • (Grids) Fixed the issue that invoking QuickFilterField#setFromStart()/setFromEnd() did not trigger filter reapplying while QuickFilterField#setWildcardEnabled(true). See the bug report here.
      • (Grids) Fixed so that we don't call setAndMode to custom FilterableTableModel if user override createFilterableTableModel to create his own mode. See the bug report here.
      • (Grids) Fixed RegexFilter doesn't work correct when it is case insensitive. See the bug report here.
      • (Grids) Fixed the issue that SortableListModel did not sort the updated list as expected while setAutoResort(true). See the bug report here.
      • (Grids) Fixed the issue that SortableTableModel#setSortOrderHandler() did not change the sort order handler as designed. See the bug report here.
      • (Grids) Fixed an NPE issue while tableHeader.getTable() is null when invoking TableColumnGroup#setTableHeader().
      • (Grids) Fixed the issue that TableComboBoxSearchable searched on incorrect column if the customer move the columns.
      • (Grids) Fixed the issue that setTablePreferenceByName(String. See the bug report here.
      • (Grids) Fixed the AIOOBE issue when the column count in model is larger than the column count in column model while invoking TableUtils#setTablePrefereceByName(). See the bug report here.
      • (Grids) Fixed the issue that autoResizeAllColumns did not function as expected in complex span model scenario. See the bug report here.
      • (Grids) Fixed the issue that changeSelection was invoked before edittingStopped incorrectly while using TAB key to navigate through tables in TableScrollPane.
      • (Grids) Added setExpandable to disallow user expand or collapse the rows.
      • (Grids) Fixed the issue that dragging cell border to resize the column made the TreeTable has wrong selection while isColumnResizable() returns true.
      • (Grids) Fixed the AIOOBE issue while invoking TreeTableModel#getExpansionState().
      • (Pivot) Fixed the issue that setting table model(the same instance with previous one) to AggregateTable may cause AIOOBE issue.
      • (Pivot) Fixed the issue that dragging cell border to resize the column made the AggregateTable has wrong selection. See the bug report here.
      • (Pivot) Fixed the AIOOBE issue when deselecting the latter subtotal if currently having two subtotals in one column. See the bug report here.
      • (Pivot) Fixed the issue that AggregateTable gets table structure change event on cell editing at any cell of its grouped columns.
      • (Pivot) Fixed the issue that PivotTablePane#loadSelection should not request focus for DataTable. See the bug report here.
      • (Pivot) Changes the actual tables' row height in PivotTablePane#setRowHeight method.

      Backward Compatibility

      • (Component) DocumentPane#updateComponent(DocumentComponent) will not be invoked.
      • (Dashboard) While Dashboard#setColumnResizable(false), the normal gadget container is not JideSplitPane but JPanel. If any customer tried to use the internal implementation, issues will occur..
      • (Grids) There could be backward Incompatible if user extends JIDE's cell editor and override getTabeCellEditorComponent method without calling super first..

      October 31, 2009 - 2.7.5  (Maintenance Release, changes from 2.7.4)

      Bug Fixes

      • (Common) Fixed the backward compatibility issue that JideSplitPane.PROPERTY_DIVIDER_LOCATION fired Long value instead of int type before 2.6.7.
      • (Common) Fixed the incompatibility with JDK 1.4 issue in JideSplitPane. See the bug report here.
      • (Common) Fixed the Aqua L&F is not detected on Java Update 6 on Mac OS X. See the bug report here.
      • (Data) Fixed the NPE issue while appending rows to an empty table with PageNavigationBar.
      • (Dock) Fixed right click on the side pane doesn't work on Mac. See the bug report here.
      • (Dock) Fixed the issue that clicking on an autohide DockableFrame while another autohide frame is activated could not activate the clicked frame immediately.
      • (Dock) Fixed the issue that title bar component's mouse event cannot be triggered correctly.
      • (Dock) Fixed the issue that DockableFrame#setTitleBarComponent()/setTitleLabelComponent() caused the DockableFrame not draggable and showing context menu. See the bug report here.
      • (Dock) Fixed the issue that double clicking on a tabbed DockableFrame floating all frames in the same FrameContainer.
      • (Editor) Fixed the NPE issue while CodeEditorSearchableBar#setHighlightAll(true).
      • (Editor) Fixed the issue that clearing searching text in CodeEditorSearchableBar removed all existing custom highlights incorrectly.
      • (Editor) Fixed the issue that the searching behavior was not as generally expected while using wildcards in CodeEditor's FindAndReplace. See the bug report here.
      • (Example) Fixed the NPE issue in ColllapsiblePaneDashboardDocumentPaneDemo while removing "Clock" gadget then remove its gadgetComponent. See the bug report here.
      • (Grids) Fixed the issue that incorrect vertical tree line was painted while setShowsRootHandles(false) and the expandable column is not column 0. See the bug report here.
      • (Grids) Improved performance at CellSpanTable#getCellRect().
      • (Grids) Fixed the issue that selection on new added rows could not be kept on sorting/filtering if there is no grouping columns in a GroupTable. See the bug report here.
      • (Grids) Fixed the issue that FilterableListModel did not update its indexes correctly while getting contents changed event and the size of the list is changed. See the bug report here.
      • (Grids) Fixed the issue that invoking QuickFilterField#setFromStart()/setFromEnd() did not trigger filter reapplying while QuickFilterField#setWildcardEnabled(true). See the bug report here.
      • (Grids) Fixed the issue that SortableListModel did not sort the updated list as expected while setAutoResort(true). See the bug report here.
      • (Grids) Fixed the AIOOBE issue when the column count in model is larger than the column count in column model while invoking TableUtils#setTablePrefereceByName(). See the bug report here.
      • (Grids) Fixed the issue that autoResizeAllColumns did not function as expected in complex span model scenario. See the bug report here.
      • (Pivot) Fixed the issue that PivotTablePane#loadSelection should not request focus for DataTable. See the bug report here.

      October 15, 2009 - 2.7.4  (Maintenance Release, changes from 2.7.3)

      Enhancement Requests

      • (Common) Added method isWindows7 and isWindowsVistaAbove to SystemInfo. See the enhancement request here.
      • (Dock) Added accessor for all floating frames. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed the regression at 2.7.2 that JidePopupMenu does not display an arrow button to browse more menu items if it has too many menu items to fit in the screen. See the bug report here.
      • (Common) Fixed the issue that JideSplitButton always layout the text as "..." since 2.6.4.
      • (Common) Fixed the issue that selecting a tab by popup cannot let the component inside the tab get focus correctly. See the bug report here.
      • (Common) Fixed the NPE issue while DefaultArrayConverter is trying to convert an input string which contains only spaces. See the bug report here.
      • (Common) Made HeaderBox extends JideButton so that its background at rollover or disable state could be configured. See the bug report here.
      • (Common) Fixed the divider is drawn at the wrong location when it is inside a JScrollPane.
      • (Common) Fixed the memory leak issue on invoking JideTabbedPane#setComponentAt(). See the bug report here.
      • (Common) Reverse the direction of the mouse wheel.
      • (Common) Fixed the issue that TableSearchable worked on incorrect column after moving columns. See the bug report here.
      • (Common) Fixed the issue that popup menu was installed black border in XERTO_STYLE_WITHOUT_MENU scenario. See the bug report here.
      • (Dashboard) Fixed the issue that Dashboard looks crashed when trying to hide a maximized gadget.
      • (Dialogs) Fixed so that the radio buttons on the step pane appears as disabled if the step pane is not navigable. See the bug report here.
      • (Dock) Fixed the issues related to context menu showing for auto hide dockable frames. See the bug report here.
      • (Dock) Fixed the issue that floating a tabbed DockableFrame then maximizing and restoring it caused the other DockableFrames in the same FrameContainer floating too. See the bug report here.
      • (Dock) Fixed the issue that NoSuchMethodError was thrown while running DockingFramework on JDK 1.4 or earlier releases. See the bug report here.
      • (Dock) Fixed an CCE issue in DockingManager. See the bug report here.
      • (Dock) Fixed the issue that floating frame's location in screen shift left and up each time hiding and showing that frame. See the bug report here.
      • (Dock) Fixed the issue that loading layout sometimes make the DockableFrame have wrong size.
      • (Dock) Fixed the potential concurrent modification exception happening in multiple DockingManager scenario. See the bug report here.
      • (Dock) Fixed the issue that settin ToolTip for DockableFrame#getTitleLabelComponent() will causes the frame not draggable. See the bug report here.
      • (Dock) Added default constructor for DockableHolderPanel. See the bug report here.
      • (Dock) Fixed the floating frame cannot be dragged to the second monitor if the second monitor is arranged on top of the first monitor vertically.
      • (Editor) Fixed the issue that pressing DELETE or BACKSPACE or CTRL+V in column selection model deleted all lines incorrectly.
      • (Editor) Fixed the InternalError exception while pressing ENTER key in the last line and the line is selected entirely. See the bug report here.
      • (Editor) Fixed the issue that searching texts clear the other existing highlights.
      • (Editor) Fixed the NPE issue when the CodeEditor does not set token marker. See the bug report here.
      • (Grids) Fixed the border of the AbstractComboBox button is wrong under XP Classic theme. See the bug report here.
      • (Grids) Fixed the tree line painting issue while treeTable#setRespectRenderPreferredHeight(true). See the bug report here.
      • (Grids) Fixed the issue that input an integer in a Float type CustomerFilterEditor could not filter the table correctly. See the bug report here.
      • (Grids) Fixed the item event is fired even when the same date is selected in the DateComboBox.
      • (Grids) Fixed a potential AIOOBE issue in GroupTable while removing all the rows. See the bug report here.
      • (Grids) Fixed the issue that deleting rows in sorted HierarchicalTable with page navigation caused wrong child expansion status.
      • (Grids) Fixed the issue that dragging cell border to resize the column made the HierarchicalTable has wrong selection while isColumnResizable() returns true.
      • (Grids) Set the client property of the table to have HSSFWorkbook instance so that CellValueConverter can access the HSSFWorkbook during the value conversion.
      • (Grids) Fixed RegexFilter doesn't work correct when it is case insensitive. See the bug report here.
      • (Grids) Fixed the issue that SortableTableModel#setSortOrderHandler() did not change the sort order handler as designed. See the bug report here.
      • (Grids) Fixed an NPE issue while tableHeader.getTable() is null when invoking TableColumnGroup#setTableHeader().
      • (Grids) Fixed the issue that TableComboBoxSearchable searched on incorrect column if the customer move the columns.
      • (Grids) Fixed the issue that changeSelection was invoked before edittingStopped incorrectly while using TAB key to navigate through tables in TableScrollPane.
      • (Grids) Fixed the issue that dragging cell border to resize the column made the TreeTable has wrong selection while isColumnResizable() returns true.
      • (Grids) Fixed the AIOOBE issue while invoking TreeTableModel#getExpansionState().
      • (Pivot) Fixed the issue that setting table model(the same instance with previous one) to AggregateTable may cause AIOOBE issue.
      • (Pivot) Fixed the issue that dragging cell border to resize the column made the AggregateTable has wrong selection. See the bug report here.
      • (Pivot) Fixed the AIOOBE issue when deselecting the latter subtotal if currently having two subtotals in one column. See the bug report here.
      • (Pivot) Fixed the issue that AggregateTable gets table structure change event on cell editing at any cell of its grouped columns.
      • (Pivot) Changes the actual tables' row height in PivotTablePane#setRowHeight method.

      September 9, 2009 - 2.7.3

      Enhancement Requests

      • (Common) Added FontUtils to improve the performance and memory usage of Font#deriveFont().
      • (Common) Provided an API to disable the "jump" feature in JidePopup which makes the popup back to its original location. See the enhancement request here.
      • (Dashboard) Added drag and scroll feature in Dashboard. See the enhancement request here.
      • (Editor) Added isTabAlignment() API to control the behavior while pressing TAB key. See the enhancement request here.
      • (Grids) Added a flag to allow the cell shows normal font color even the table is disabled. See the enhancement request here.
      • (Grids) Added APIs so that you can choose change the style of QuickFilterField while no matching record found. See the enhancement request here.
      • (Pivot) Improved so that overriding HeaderTableModel#getValueAtInString() could customize the displayed string in rowHeaderTable and columnHeaderTable in PivotTablePane and AggregateTable. See the enhancement request here.

      Bug Fixes

      • (Action) Made DockableBarContainer public.
      • (Common) Fixed the issue that BigDecimalConverter could not convert the input string to a valid BigDecimal instance. See the bug report here.
      • (Common) Fixed the issue that set Locale to da_DK did not use the correct grouping and point character. See the bug report here.
      • (Common) Fix possible exception when view component is very large resulting in a very small scale which gave 0 width/height for the buffered image..
      • (Common) Fixed the issue that firing table model events cleared current table selections even when nothing was input in the SearchableBar to search. See the bug report here.
      • (Common) Fixed the DividedByZero exception in TableSearchable while table.getColumnCount() == 0 and TableSearchable.setMainIndex(-1). See the bug report here.
      • (Components) Fixed the previously hidden floating container is shown after loading the layout.
      • (Dashboard) Fixed the issue that after setColumnResizable(false) the cursor would still change to resizable cursor which is confusing. See the bug report here.
      • (Data) Fixed the issue that update a row which is not in current page in DefaultPageTableModel caused incorrect table structure change event.
      • (Dock) Fixed the NPE issue after removing an active frame then disposing it. See the bug report here.
      • (Dock) Added JavaDoc for DockableHolderPanel setLayout method. See the bug report here.
      • (Dock) Fixed the issue that loading layout caused the frame size reset to its preferred size with the following steps: resize frame, hide frame, show frame, save layout then load layout.
      • (Dock) Fixed the issue that autohide a docked frame did not fire tab hide event.
      • (Dock) Fixed the issue that default button in an active frame cannot get executed on pressing "ENTER" key. See the bug report here.
      • (Dock) Fixed so that DOCKABLE_FRAME_TABSHOWN and DOCKABLE_FRAME_TABHIDDEN events could be fired correctly in toggle auto hidden scenario. See the bug report here.
      • (Dock) Added adjustOpacityOnFly flag to Workspace so that the Workspace will change opacity based on whether there are child components.
      • (Editor) Fixed the issue that the caret was not painted correctly after dragging blocks to another line. See the bug report here.
      • (Editor) Fixed the issue that searching message could be placed out of the bound of CodeEditor. See the bug report here.
      • (Editor) Fixed the issue that label is not correctly marked in CTokenMarker if there is any space between the word and ":". See the bug report here.
      • (Editor) Fixed so that the behavior of Shift+Backspace is consistent with other popular editors. See the bug report here.
      • (Editor) Fixed the issue that CodeEditor could not search string contains '+' correctly. See the bug report here.
      • (Editor) Provided an option to customize the behavior of TAB key on selection. See the bug report here.
      • (Grids) Fixed the wrong tree line painting issue. See the bug report here.
      • (Grids) Fixed the issue that CalculatorComboBox cleared the cell value after popup the calculator then cancel it.
      • (Grids) Fixed the issue that InFilter does not work in CustomFilterEditor. See the bug report here.
      • (Grids) Fixed the TreeTable filtering issue while filtering a column then filtering another column which has a smaller column index. See the bug report here.
      • (Grids) Fixed the focus border painting issue for category rows while PropertyPane#setPaintMarginBackground(false).
      • (Grids) Made empty tables not focusable so that always a table contains data gets focus while TableScrollPane is trying to get focus.
      • (Grids) Fixed the issue that setTablePreferenceByName() incorrectly showed up columns which did not exist in table#getColumnModel() however in table#getModel(). See the bug report here.
      • (Grids) Fixed the memory leak issue while invoking TreeTableModel#setOriginalRows(null). See the bug report here.
      • (Pivot) Fixed so that AggregateTable#aggregate() after PivotField#setTitle() will show the new title immediately even the aggregate columns have no change. See the bug report here.
      • (Pivot) Fixed so that the user could customize the XML file via callback. See the bug report here.
      • (Pivot) Fixed the issue that saving wrong persistence after hiding some columns by set its field to unassigned and grouping one column. See the bug report here.
      • (Pivot) Fixed so that the field still can be hidden even PivotTablePane#setHideFieldOnDraggingOut(false) when the customer drags a field to unassigned field panel. See the bug report here.
      • (Pivot) Fixed the NPE issue while hiding a aggregated column with subtotal in AggregateTable. See the bug report here.
      • (pivot) Fixed the issue that adding a raw data which meet the filter criteria however did not exist in the original table in a filtered PivotTablePane cannot show up the new added data immediately. See the bug report here.

      August 26, 2009 - 2.7.2

      New Product

      • (Charts) Beta release of a new product - JIDE Charts.

      Enhancement Requests

      • (Common) Added new OverlayPasswordField component. See the enhancement request here.
      • (Dashboard) Added getColumnIndex and getRowIndex API to get row/column index of a GadgetComponent inside a Dashboard. See the enhancement request here.
      • (Dashboard) Added allowDragOutside flag in GadgetManager so that the customer can choose the behavior while mouse is outside of the Dashboard.
      • (Dialog) Made TipsOfTheDayDialog work more friendly in Applet. See the enhancement request here.
      • (Grids) Improved the update performance on CalendarViewer selection scenario.
      • (Grids) Added showYearSpinner flag to DateChooserPanel.
      • (Grids) Added AutoCompletion feature to JideTable's cell editor so that a text field based editor will automatically have the auto-completion feature.
      • (Grids) Added API to customize the start position of vertical tree line. See the enhancement request here.
      • (Pivot) Added FilterableAggregateTableModel to keep summary rows and grand total rows on filtering. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed the issue that installing AutoCompletion always reset the value of the text component first.
      • (Common) Fixed the issue that the menu item alignment of JidePopupMenu is incorrect in Metal L&F and the JidePopupMenu contains both JCheckBoxMenuItem and JMenuItem.
      • (Common) Fixed the issue that CheckBoxList#getLastVisibleIndex() sometimes returns -1 incorrectly. See the bug report here.
      • (Common) Fixed the popup menu is not shown all the time on Mac. See the bug report here.
      • (Common) Restores the proportion to 1.0 if it is the last proportion in the JideSplitPane.
      • (Common) Fixed the issue that the divider was painted outside of its parent component while JideSplitPane resides in a JScrollPane.
      • (Common) Fixed the issue that Office2007Painter did not respect the button background set by the customer.
      • (Common) Fixed ClassNotFound exception while using Office2007Painter in JDK 1.5.
      • (Common) Fixed the issue that clearing the searching text in SearchableBar didnot clear the highlight correctly.
      • (Common) Fixed the issue that TableSearchable cannot search correct result while setMainIndex(-1) and highLightAll in SearchableBar. See the bug report here.
      • (Component) Fixed the issue that CollapsiblePane could not get focuse while setCollapsible(false). See the bug report here.
      • (Component) Fixed the non-emphasized collapsible pane's title pane foreground looks like disabled.
      • (Component) Fixed accelerator key doesn't work when the focus is in floating document that is detached from a DocumentPane. See the bug report here.
      • (Component) Fixed the painting issue while MemoryStatusBarItem working on Metal L&F. See the bug report here.
      • (Component) Fixed the issue that context menu of the tab could be out of the bounds of the window which may cause painting issues. See the bug report here.
      • (Dashboard) Fixed the issue that GadgetManger#setColumnResizable(false) caused the gadget containers disabled. See the bug report here.
      • (Dashboard) Fixed the issue that sometimes loading dashboard causes the entire GadgetContainer invisible.
      • (Dashboard) Fixed the issue that loading saved layout may cause hidden palette show out again. See the bug report here.
      • (Dashboard) Fixed the key event was consumed incorrectly while pressing ESC.
      • (Dialog) Fixed the issue that the preferred size of GadgetContainer could be set incorrectly while loading from pre-saved documents.
      • (Dock) Fixed the issue that the floating frame size gets larger and larger on hide/show pair of method. See the bug report here.
      • (Dock) Fixed the issue that the bounds of the main frame was reset unexpectedly when it has a nested docking manager. See the bug report here.
      • (Dock) Fixed the NPE issue while invoking setHidable() in a DockingManager with no floating frame. See the bug report here.
      • (Dock) Removed unnecessary logger while logger is turned off in DefaultDockingManager.
      • (Dock) Fixed the painting issue while docking an autoHideable frame in RTL orientation.
      • (Dock) Fixed the issue that sometimes loading layout did not restore correct size of the frames. See the bug report here.
      • (Dock) Fixed the issue that loading layout sometimes made the docked frame bigger. See the bug report here.
      • (Dock) Ignore setLayout call on DockableHolderPanel.
      • (Editor) Fixed the issue that Ctrl+Left/Right did not scroll the window horizontally.
      • (Editor) Fixed the issue that Ctrl+Right could not make the caret go to the next line.
      • (Editor) Fixed the issue that underscore was not treated as part of a word by default.
      • (Editor) Fixed the issue that visible offset is not consistent with the model offset while clicking on the right of the end of a line.
      • (Editor) Fixed so that overwrite mode works as normal editors do.
      • (Example) Fixed the example issue to demonstrate how Chevron can work well with ListComboBox. See the bug report here.
      • (Grids) Fixed the issue that selectedItemReminder did not get updated while firing the item state change event.
      • (Grids) Fixed the issue that invoking AbstractComboBox#setSelectedItem(Object) did not fire the item state change events.
      • (Grids) Added NPE check for null children list. See the bug report here.
      • (Grids) Fixed an internal exception although it get caughted internally.
      • (Grids) Fixed the issue that tree line could be painted out of the bounds of its column.
      • (Grids) Fixed a tree line painting issue.
      • (Grids) Improved the performance to act on table model change events for CellSpanTable while setRowAutoResizes(true).
      • (Grids) Made the CalendarViewer leave the last row blank if there is no day label to display.
      • (Grids) Turn the week number's foreground to gray while there is no day to show in that week row in DateChooserPanel.
      • (Grids) Fixed so that right mouse click will not change the selection in DateChooserPanel.
      • (Grids) Fixed the IAE issue in DateComboBox if the customer input any invalid value in the editor then popup the date chooser panel then cancel the popup.
      • (Grids) Fixed the exception while cancelling the popuped ValueEditor list after inputing error values in the ValueEditor of CustomFilterEditorDialog. See the bug report here.
      • (Grids) Fixed the issue that date cell is not visible while mouse clicking on the cell in AggregateTableDemo while isCellEditable() returns false. See the bug report here.
      • (Grids) Fixed the issue that new inserted row cannot show up in a filtered table if the customer wraps a FilterableTreeTableModel over a non_TreeTablemodel.
      • (Grids) Fixed the issue that set cell renderer to column 0 in GroupTable causes the group row painted incorrectly.
      • (Grids) Fixed the painting issue on HierarchicalTable if the updated cell does not meet the pre-configured filtering criteria any more.
      • (Grids) Fixed the issue that editable JComboBox based cell editor in a JideTable could not get focus immediately on key pressing even setAlwaysRequestFocusForEditor(true). See the bug report here.
      • (Grids) Fixed setShowNonEditable to show name column as disabled doesn't always work.
      • (Grids) Fixed the issue that the sorting is incorrect if SortableTableModel#setAlwaysUseComparator(true). See the bug report here.
      • (Grids) Fixed the issue that tableRowsUpdated event caused the SortableTable resorted even setSortingPaused(true).
      • (Grids) Fixed the NPE issue while invoking TableColumnGroup#getChildren() before adding the columnGroup to a valid table header.
      • (Grids) Fixed so that left/right arrow key will trigger collapse/expand action in TreeTable if needed while the TreeTable resides in a TableScrollPane. See the bug report here.
      • (Grids) Fixed the performance issue while dynamically removing and showing columns in a TableScrollPane with ColumnFooterTable defined. See the bug report here.
      • (Grids) Fixed the issue that clicking an invisible expand/collapse icon sometimes still can change the expand status of the row.
      • (Grids) Fixed the cell painting issue of the first column in TreeTable while it works on Substance L&F. See the bug report here.
      • (Pivot) Fixed the issue that invocation to AggregateTable#aggregate() caused the last column lost after hiding any non-aggregated column. See the bug report here.
      • (Pivot) Fixed the issue that loading a saved layout with no aggregated column kept the existing aggregated column state incorrectly. See the bug report here.
      • (Pivot) Fixed so that change summary in the context menu of AggregateTable changes grand total summary type as well. See the bug report here.
      • (Pivot) Fixed the issue that cell value will be null if PivotDataModel#setShowGrandTotalForColumn(true) for AggregateTable.

      Backward Compatible Issues

      • (Grids) It could break backward compatibility if the user tried to impelment DateSelectionModel directly..
      • (Dashboard) Backward Compatibility:Load Dashboard cannot restore the width of each GadgetContainer any more..

      August 4, 2009 - 2.7.1

      Enhancement Requests

      • (Dock) Added DOUBLE_CLICK_CUSTOM to DockingManager#setDoubleClickAction so that user can call DockableFrame#setCustomDoubleClickAction to define one's own action when the mouse is double clicked on the title pane.
      • (Editor) Added createMarkerStripe, createMarkerEye, getMarkerStripe methods to MarkerArea..
      • (Grids) Added "This Month" button in MonthChooserPanel.
      • (Grids) Added a new MultilineTableCellEditor class for line wrapper editor.

      Bug Fixes

      • (Common) Fixed the issue that IntelliHints did not resize to fit the content required.
      • (Common) Fixed the issue that creating a new folder with blank spaces on the end of the folder name cannot make the new folder visible immediately. See the bug report here.
      • (Common) Fixed so that JideSplitButton could respect the background setting defined in ThemePainter while it's disabled.
      • (Common) Added length check to avoid SIOOBE exception if the length set by styledLabel.addStyleRange() is larger than the actual length of the string. See the bug report here.
      • (Common) Fixed the issue that clicking on the blank area selects the last item in the list which is a default behavior of JList. See the bug report here.
      • (Common) Fixed the issue that showing popup in alert causes the popup window bigger and bigger. See the bug report here.
      • (Common) Fixed the tab area background color is changed in 2.7.0. See the bug report here.
      • (Common) Fixed the issue that setting background of StatusBarItem did not take any effect. See the bug report here.
      • (Common) Fixed the issue that MonthChooserPanel in MonthComboBox painted its title with wrong background. See the bug report here.
      • (Common) Do not paint the status bar background if the opaque property is false.
      • (Dashboard) Fixed the extra gap around Dashboard.
      • (Dashboard) Fixed so that GadgetMouseListener will consume the ESCAPE key event after processing drag cancellation.
      • (Dashboard) Fixed the issue that dragging a gadget below the current gadget sometimes dropped the gadget above the current gadget.
      • (Dialog) Let Next button in TipOfTheDayDialog have focus by default. See the bug report here.
      • (Dialog) Set name for buttons in TipOfTheDayDialog. See the bug report here.
      • (Dialog) Added logger if the customer try to set a page which is not an element of preconfigured pageList by invoking WizardDialogPage#setNextPage(). See the bug report here.
      • (Dock) Fixed DockingManager#setHidable doesn't take effect on the existing floating container. See the bug report here.
      • (Dock) Fixed double click doesn't trigger maximize action or floating action when double clicking on the tab.
      • (Dock) Fixed the DockableFrame cannot be dragged on JDK5.
      • (Editor) Fixed the issue that explicit call to CodeEditor#setMarkerModel() causes the MarkerEye cannot get updated any more.
      • (Editor) Fixed the issue that the selection on the marked text is invisible.
      • (Editor) Fixed the issue that Label is not highlighted correctly if there is any space character in the line before the label. See the bug report here.
      • (Editor) Fixed the issue that the prompt dialog shows outside of the CodeEditor if the matching word is in the bottom of the CodeEditor.
      • (Editor) Added mnemonics for buttons in the repace prompt dialog in CodedEditor.
      • (Editor) Fixed the issue that CodeEditor cannot find correct matching bracket position if there are comments or literal strings which contain the brackets between the bracket pair. See the bug report here.
      • (Example) Fixed the issue that JideDemos had complie error while in JDK 1.5 or lower.
      • (Grid) Fixed shift-tab doesn't work correctly in PropertyTable.
      • (Grids) Fixed so that AbstractComboBox always respect the color setting in UIDefaults for "ComboBox.xxx". See the bug report here.
      • (Grids) Fixed the regression in 2.7.0 that adding new rows after a row which is expanded caused incorrect row insertion and painting in TreeTable.
      • (Grids) Fixed the issue that mouse clicking event was consumed in AutoFilterTableHeader. See the bug report here.
      • (Grids) Fixed the issue that hiding a column in GroupTable caused the tree line under the group row invisible.
      • (Grids) Fixed the issue that navigating color buttons in ColorChooserPanel lost the current alpha value if ColorComboBox#isUseAlphaColorButtons returns false.
      • (Grids) Fixed the issue that custom filter is broken in release 2.7.0.
      • (Grids) Fixed the issue that the color of the date lable in CalendarViewer is not painted correctly which is a regression in 2.7.0.
      • (Grids) Fixed the incorrect selection behavior in DateChooserPanel.
      • (Grids) Fixed so that DefaultGroupTableModel will not send out table structure change event on group/ungroup operation while setKeepColumnOrder(true) in GroupTable. See the bug report here.
      • (Grids) Fixed the issue that the internal row structure is incorrect at no grouping scenario which may cause painting issue. See the bug report here.
      • (Grids) Fixed the CCE issue while implementing TableRowFilter at a TreeTable.
      • (Grids) Fixed the issue that deleting the expanded row in sorted HierarchicalTable with optimize as true and autoResort as false could not remove the child component.
      • (Grids) Fixed the issue that inserting a row right before the expanded row in the inner most table model caused incorrect expand/collapse status update.
      • (Grids) Fixed the issue that invocation of JideTable#setModel() didn't recreate rowHeights instance if the table has various row height.
      • (Grids) Fixed the issue that disable the JideTable didn't remove the active editor which is a behavior inherited from JTable. See the bug report here.
      • (Grids) Added a NPE check in BasicJideTableUIDelegate when prepareRenderer returns null.
      • (Grids) Changed the default popup cancel behavior of ListComboBox to PERSIST which makes the behavior of ListComboBox consistent with JComboBox.
      • (Grids) Fixed the issue that ListComboBoxCellEditor stopped editting incorrectly in item change event from the list. See the bug report here.
      • (Grids) Fixed the issue that updating column group in NestedTableHeader did not repaint the table header immediately.
      • (Grids) Fixed the issue that call to setShowDescription() and setShowToolBar() may causes threading issue.
      • (Grids) Fixed the issue that table selection was changed unexpectedly on deleting a row in a sorted table with optimize and sortingPause flags as true.
      • (Grids) Fixed the issue that the new inserted row cannot show up while FilterableTableModel is wrapping SortableTableModel and both sorting and filtering are paused.
      • (Grids) Fixed the TableScrollPane initialization failure issue while a customer tried to hide some columns in MainTable during initialization stage. See the bug report here.
      • (Grids) Fixed the issue that getTablePreferenceByName(TableScrollPane) saved incorrect column count field in table structure change scenario which could cause AIOOBE issue later on.
      • (Grids) Fixed the tree line and icon painting issue while dragging columns in TreeTable.
      • (Grids) Fixed the issue that tree line was painted incorrectly while expanding the last child of the last child in upper level.
      • (Grids) Fixed the tree line painting issue in PropertyTable which is a regression in release 2.7.0.
      • (Pivot) Fixed the title of the custom filter dialogs show the field name instead of the title.

      Backward Compatible Issues

      • (Grids ) If you ever invoke setKeepColumnOrder(false) in your application, you now need invoke DefaultGroupTableModel#fireTableStructureChange() to make the column really changed.

      July 20, 2009 - 2.7.0  ()

      New Components

      • (Common) Introduce Office 2007 style and use it as the default style for Vista and JDK6+.

      Enhancement Requests

      • (Common) Added CLEAR_DEFAULT_BUTTON event to ButtonEvent.
      • (Component) Enabled floating document floating again or floating to other floating document container directly. See the enhancement request here.
      • (Dashboard) Added horizontal resizable and maximizable feature to GadgetComponent in Dashboard. See the enhancement request here.
      • (Dashboard) Added showGadget(Gadget gadget, Dashboard dashboard, int column, int index) interface in GadgetManager. See the enhancement request here.
      • (Example) Improved CollapsiblePaneDashboardDemo and CollapsiblePaneDashboardDocumentPaneDemo to allow the gadget component resizable. See the enhancement request here.
      • (Grids) Added previous/next year buttons at DateChooserPanel. See the enhancement request here.
      • (Grids) Added getResourceString() API for all menu customizer and TableColumnChooserDialog. See the enhancement request here.
      • (Grids) Added APIs so that TableComboBoxSearchable can search on designated columns or all columns like TableSearchable do. See the enhancement request here.
      • (Pivot) Added show grand total menu items in AggregateTablePopupMenuCustomizer.

      Bug Fixes

      • (Common) Fixed the issue that ComboBoxSearchable hide the popup window incorrectly if setShowPopupDuringSearching(false). See the bug report here.
      • (Common) Added "jide.useImageIO" system to disable the usage of ImageIO when loading image files in IconsFactory. See the bug report here.
      • (Common) Fixed IllegalComponentStateException in JidePopup.
      • (Common) Added a protection so that the divider image in JideSplitPane will disappear while mouse releasing on the divider dragging scenario. See the bug report here.
      • (Common) Fixed possible IAE in drawShadow in JideSwingUtilities when the width or height parameter is 0.
      • (Common) Fixed a regression in JideTabbedPane where the tab text is clipped.
      • (Common) Fixed the issue that NullCheckBox could enter endless loop while working in Substance look and feel. See the bug report here.
      • (Dialog) Made AbstractWizardPage#setHelpText() easy to use. See the bug report here.
      • (Dialogs) Fixed the wizard graphics is not displayed correctly for the first time.
      • (Dock) Fixed a race condition that could occur with focus when trying to activateframes in a frame event when using multiple docking managers across multiple windows.
      • (Dock) Fixed a problem where closing popups would activate the frame that was open when the popup was initiated rather than the frame that belongs to the popup..
      • (Dock) Fixed a problem where FrameFloatingContainers would not activate. This breaks the swing workaround where popups don't always restore focus correctly..
      • (Dock) Fixed a defect where setting contentpane would always cause the default focus component to get focus rather than the last focus component..
      • (Editor) Fixed the issue that sometimes the caret position is not computed correctly while plenty of TAB key is used in the document. See the bug report here.
      • (Editor) Use INFO level when logging in DelayUndoManager. See the bug report here.
      • (Grids) Fixed the issue that entering characters in QuickTableFilterField to apply the filter to designated column did not set the tooltip of the column correctly if AutoFilterTableHeader.setShowFilterNameAsToolTip(true). See the bug report here.
      • (Grids) Fixed the runtime class cast exception while the custom filter is expecting a date type however the input is not. See the bug report here.
      • (Grids) Fixed the NPE issue while the custom filter is "begin with" and the value is blank. See the bug report here.
      • (Grids) Fixed the next/prev month icons are not painted correctly in DateChooserPanel.
      • (Grids) Fixed an AIOOBE issue in DefaultTableModelWrapper while deleting all rows one by one in a SortableTableModel with isOptimize() is true and isAutoResort() is false.
      • (Grids) Fixed the issue that clicking "move to right" button causes wrong selection in the original list if there is a selection in the selected list.
      • (Grids) Fixed the issue that clicking "move to right" button causes order reversed in the selected list if there are multiple selections in the original list.
      • (Grids) Improved performance for TreeTableModel#addRows().
      • (Grids) Fixed the NPE issue while selecting the last node while CheckBoxTree implements FilterableCheckBoxTreeSelectionModel. See the bug report here.
      • (Grids) Fixed the issue that DualList displayed empty list while the element count of its original model is bigger than 100.
      • (Grids) Improved the performance for FilterableTableModel so that getValueAt() will not be invoked for unfiltered columns.
      • (Grids) Fixed the AIOOBE issue while removing rows in sorted GroupTable. See the bug report here.
      • (Grids) Fixed the issue that JideOptionPane did not layout correctly if it works with MultilineLabel in Message or Details area. See the bug report here.
      • (Grids) Improved performance for table change events processing.
      • (Grids) Fixed the issue that resizing column caused the row height increasing continuously in TableScrollPane scenario with setRowAutoResizes(true). See the bug report here.
      • (Grids) Made the behavior of ListComboBox consistent with JComboBox to fire item change events. See the bug report here.
      • (Grids) Made LuceneFilterableTableModel use column identifier as its field so that the displaying column name can have space.
      • (Grids) Fixed the serialization issue in QuickTableFilterField. See the bug report here.
      • (Grids) Fixed the issue that clearing the input in popup panel of StringArrayComboBox causes class cast exception. See the bug report here.
      • (Grids) Fixed the issue that setTablePreferenceByName() always puts the new columns which are never in the saved preference string to the end of the table. This issue could cause NestedTableHeader corrupted on high volume hide/show and get/setTablePreferenceByName scenario. See the bug report here.
      • (Grids) Fixed the issue that the menu item to hide the only column in RowHeaderTable or RowFooterTable in TableScrollPane was disabled incorrectly. See the bug report here.
      • (Grids) Fixed the issue that showing column in other tables than the table the mouse is clicking in TableScrollPane did not really show the column. See the bug report here.
      • (Grids) Added an AIOOBE protection for TableUtils#synchronizeTableColumn() scenario. See the bug report here.
      • (Grids) Fixed the issue that resizing the width of the MainTable did not synchronize the width of the footer table in TableScrollPane if the auto resize mode of MainTable is not JTable.AUTO_RESIZE_OFF.
      • (Grids) Improved the performance to paint the tree line of TreeTable.
      • (Pivot) Fixed the issue that hiding the last column in AggregateTable then grouping/ungrouping any column caused the hidden column disappear forever.
      • (Pivot) Fixed so that AggregateTable can have different PivotField with the same title name.
      • (Pivot) Fixed the issue that AggregateTablePersistenceUtils can not load data correctly if the underline PivotField definition was changed. See the bug report here.
      • (Pivot) Fixed the issue that PivotDataModel#getDataAt() returns incorrect value in AggregateTable scenario with no column aggregated. See the bug report here.
      • (Pivot) Fixed the issue that headerTable and dataTable could have selections simultaneously after dataTable#setNonContiguousCellSelection(false) in PivotTablePane. See the bug report here.
      • (Pivot) Fixed the issue that clicking header to select entire row could not select the row if DataTable in PivotTablePane set nonContiguousSelection to false. See the bug report here.
      • (Pivot) Fixed so that PivotField will take the unique identifier in TableModel as its name which should be unique.

      Backward Compatible Issues

      • (Dashboard) If you used Dashboard#getComponent(int) to get GadgetContainer, your code will be broken..
      • (Grids) Added notifyChildrenInserted() and other methods in interface Expandable which could break some codes if you implement Expandable directly.
      • (Pivot) If you have an AggregateTable(Pane) with one field which has a different title with its name and try to use setTablePreferenceByName(), your code could be broken.

      June 29, 2009 - 2.6.7

      New Components

      • (Grids) Added ShrinkSearchableSupport for GroupList. See the enhancement request here.
      • (Grids) Added TreeShrinkSearchableSupport. See the enhancement request here.

      Enhancement Requests

      • (Data) Made refreshData() public so that the customer can handle SQLException. See the enhancement request here.
      • (Girds) Added setTableColumnWidthByName for TableScrollPane in TableUtils.
      • (Grids) Revised CellSpanTable so that instead of using spanModel.isCellSpanOn(), always use cellSpanTable.isCellSpanOn().
      • (Grids) Added an option at ColorComboBox so that the customer can choose if the color buttons in ColorChoosePanel should show the alpha value dynamically.
      • (Grids) Added a new class FilterableCheckBoxTreeSelectionModel to fix the selection issue while implementing FilterableTreeModel in CheckBoxTree. See the enhancement request here.

      Bug Fixes

      • (Action) Fixed the painting issue while Commandbar working on RTL orientation.
      • (Common) Fixed the issue that the intellij popup appear unexpectedly after choosing an item from intellij popup by pressing "Enter" key then moving focus out of the field.
      • (Common) Fixed the issue that eclisp3x tab text position was wrong when the tab placement is on left.
      • (Common) Fixed the issue that setting opaque to false did not really make the ContentContainer transparent.
      • (Common) Fixed the issue that preferred size is set incorrectly while dragging divider on JideSplitPane which may causes incorrect layout loading in DockableFramework. See the bug report here.
      • (Common) Fixed the issue that clearing the input did not change the background of the SearchPopup to normal if the first input could not find any match item.
      • (Common) Made PivotTablePane/JideMenu/JideSplitButton/ButtonPanel work well with right-to-left orientation.
      • (Component) Fixed the NPE issue while trying to open a new document floating in a DocumenPane. See the bug report here.
      • (Components) Fixed the painting issue that CollapsiblePane has a 4 pixel gap above its title while in separator style.
      • (Data) Fixed the issue that deleting rows in the first page could not show the last row in the table.
      • (Dock) Fixed a problem where frames that were nested more than two levels deep where reactivating previously activated frames incorrectly.
      • (Dock) Fixed a regression where maximize/restore was loosing focus.
      • (Dock) Fixed moveFrame doesn't work correctly when the frame to be moved is autohidden. See the bug report here.
      • (Dock) Cleaned up the focus logic so that requestFocus(InWindow) would be honored even if called while focus was from another window or dialog..
      • (Dock) Fixed extra resize border on the floating container when it is always decorated. See the bug report here.
      • (Dock) Fixed the last position is not kept when moving the decorated floating container. See the bug report here.
      • (Dock) Fixed rearranging dockable frame causes the floating container disappear. See the bug report here.
      • (Dock) Fixed toggle floating doesn't make the frame floating when the dockable frame is maximized from an autohide state.
      • (Dock) Fixed the outline is not fully visible when the docking manager is installed on a modal dialog. See the bug report here.
      • (Document) Added Table of Content to all developer guides. See the bug report here.
      • (Grids) Fixed the AIOOBE and grid line painting issue while hiding columns in a table which has a cell span covering entire row. See the bug report here.
      • (Grids) Added setAutoCellMerge method to allow automatically cell merged based on column or row.
      • (Grids) Fixed the issue so that GroupTable can work well on TableScrollpane. See the bug report here.
      • (Grids) Improved the performace to calculate the row height of CellSpanTable.
      • (Grids) Added setOverlayBorder to CellStyle.
      • (Grids) Fixed the issue that the value in custom filter editor cannot be displayed correctly if the CustomFilter#getValue(s) is not public. See the bug report here.
      • (Grids) Fixed the issue that deleting rows in DefaultGroupTableModel caused error grouping. See the bug report here.
      • (Grids) Fixed so that DefaultListModelWrapper#fireEvents performs faster in DualList.
      • (Grids) Fixed the issue that DefaultPageTableModel didn't implement ColumnIdentifierTableModel which makes "reset to default" menu item recreated TableColumn instances.
      • (Grids) Fixed the issue that row insertion event becomes table structure changed event incorrectly in FilterableTableModel if the customer fires an incorrect table row insert event.
      • (Grids) Fixed the issue that deleting or inserting rows in an unsorted/unfiltered HierarchicalTable may cause error painting.
      • (Grids) Fixed the potential threading and NPE issue on extremely high volume data update scenario in JideTable.
      • (Grids) Fixed the performance issue while setting autoRowResizes to true in TableScrollPane.
      • (Grids) Fixed the issue that column order/hidden properties were not cleared if the table get structure change event. See the bug report here.
      • (Grids) Fixed the issue that edittingStopping event was fired twice in JDK 1.5 if it returns false. See the bug report here.
      • (Grids) Fixed the issue that ShrinkSearchableSupport behaves inconsistent with the underline Searchable if the Searchable has isFromStart() return false. See the bug report here.
      • (Grids) Fixed the issue that changing the configuration like case sensitive in QuickFilterField may trigger incorrect filtering. See the bug report here.
      • (Grids) Fixed the issue that the sort arrow colors are different when sort ascending or descending on XP.
      • (Grids) Fixed the sort order is not set correctly in SortableTableModel.
      • (Grids) Fixed the AIOOBE issue while deleting rows in a SortableTable if isOptimize() is true and isAutoResort() is false.
      • (Grids) Fixed the AIOOBE issue while deleting all rows in table model (not in UI) while the table has selections.
      • (Grids) Fixed the issue that the child components disappear while auto resizing rows if HierarchicalTable#setAutoRowResizes(true). See the bug report here.
      • (Grids) Changed "true/false" at the preference string saved by TableUtils#getTablePreferenceByName() to "1/0" to reduce the length. The change is back compatible. See the bug report here.
      • (Grids) Fixed the issue that autoResizeAllColumns didn't consider the length of the NestedTableHeader. See the bug report here.
      • (Pivot) Fixed the painting issue when dragging a column header in PivotTablePane. See the bug report here.
      • (Pivot) Fixed the issue that editing RowHeaderTable in PivotTablePane caused data table resize.
      • (Pivot) Fixed the AIOOBE issue while trying to save selection while no leading or anchoring cells.
      • (Pivot) Fixed the issue that the width is set incorrect if two PivotFields in one PivotTablePane have the same title string. See the bug report here.
      • (Pivot) Fixed the issue that click on the rowHeader or columnHeader did not set the anchor and lead correctly in DataTable in PivotTablePane.
      • (Pivot) Removed confusing menu item while right clicking on FieldBox at unassigned field area in PivotTablePane. See the bug report here.

      Backward Compatible Issues

      • (Common) Changed signature of Office2003Painter#paintChevron().

      June 16, 2009 - 2.6.6

      New Components

      • (Common) Added a new component MarqueePane. See the enhancement request here.

      Enhancement Requests

      • (Common) Added an option to enable the scroll bar corner visible even if the scroll bar is not visible. See the enhancement request here.
      • (Common) Added a dividerStepSize field so that the customer can control the step size while dragging the divider. See the enhancement request here.
      • (Common) Improved the divider dragging behavior and fixed the exception issue. See the enhancement request here.
      • (Component) Added save layout to XML feature for OutlookTabbedPane. See the enhancement request here.
      • (Component) Added getFloatingContainerTitle method to DocumentPane to allow user to override to set their own preferred title for the floating container.
      • (Component) Add customizeOptionDialog to allow subclass to override it to customize the dialog (such as calling setIconImage).
      • (Grids) Added a new flag setKeepPopupSize to keep the popup size when the popup is resized.
      • (Grids) Improved so that setRowAutoResizes(true) will calculate row heights immediately.
      • (Grids) Added a flag so that the customer can choose not recalculate row heights if the column width is changed while isRowAutoResizes() is true.
      • (Pivot) Added AggregateTable layout saving to XML feature. See the enhancement request here.
      • (Pivot) Redefine the interface of HeaderTableModel#getValueAtInString so that both AggregateTable and PivotTablePane can utilize it. See the enhancement request here.
      • (Pivot) Provided HSSF utility class for AggregateTable and AggregateTablePane. See the enhancement request here.

      Bug Fixes

      • (Common) Fix issues with JDK6_13 release on Mac. See the bug report here.
      • (Common) Fixed setPopupMenuCustomizer doesn't work on Mac when the menu bar is used as the screen menu bar. See the bug report here.
      • (Common) Fixed the issue that collapse/expand functionality was broken at a temporary release just before 2.6.6. See the bug report here.
      • (Common) Fixed the selected tab is not scrolled correctly when the title is changed.
      • (Common) Fixed a problem where trying to drag a tab by clicking on an icon while the tab is being edited would cause an AOB Exception.
      • (Common) Fixed the version is wrong when the JDK is 1.6.0_10-rc2.
      • (Dashboard) Fixed the palette is not shown correctly in Dashboard when parent panel is not using BorderLayout.
      • (Dashboard) Fixed the issue that changing the title of a Dashboard changed the dashboard order inside GadgetManager incorrectly. See the bug report here.
      • (Data) Fixed setUpdated(false) after the DatabaseTableModel is created is not working as expected.
      • (Dock) Addressed a performance problem when repainting in dockedframes.
      • (Dock) Fixed memory leak in Docking Manager. See the bug report here.
      • (Dock) Added a check to not start dragging with a simple click if the tab strip is editing.
      • (Dock) Fixed the preferred size is not respected when floating a dockable frame. See the bug report here.
      • (Dock) Fixed an NPE issue in SlidingOverFrameContainer. See the bug report here.
      • (Grids) Fixed the issue that filtering did not release the cell editor of the table. See the bug report here.
      • (Grids) Fixed the issue that wrapping a cachedTableModel under AggregateTableModel will causes error converter context for the SingleColumn defined in CalculatedTableModel. See the bug report here.
      • (Grids) Changed the method signature from using tableModel to use table. This change will break your code. Please update your code according to use table.getModel() to get the model. Please also note, the row and column index are the index as in the table.
      • (Grids) Fixed the issue that deleting rows in PagedTable did not refresh the row display correctly.
      • (Grids) Fixed toggling to RTL causes the arrow buttons pointing to the wrong direction.
      • (Grids) Fixed the NPE issue when filtering on a TreeTableModel if hasChildren() return true however getChildren() return null which only happen by customer overriding.
      • (Grids) Added france translation for TableColumnChooser.resetColumns. See the bug report here.
      • (Grids) Fixed the issue that returning ValidationResult.FAIL_BEHAVIOR_PERSIST without returning false and editStopping did not prevent the invalid edit from stopping. See the bug report here.
      • (Grids) Fixed the issue that editor was not removed while validation result returns FAIL_BEHAVIOR_PERSIST. See the bug report here.
      • (Grids) Fixed the issue that pressing a key in a cell to enter editor mode did not request focus for the cell editor which causes IntelliHint did not work. See the bug report here.
      • (Grids) Fixed searchable doesn't work when the table cell is not in editing mode.
      • (Grids) Fixed the issue that firing table data or structure change event did not trigger row height calculation if isRowAutoResizes() is true.
      • (Grids) Fixed the issue that firing table data or structure change event for HierarchicalTable caused incorrect row height setting while isRowAutoResizes() is true.
      • (Grids) Fixed a potential Illegal Argement Exception issue while trying to cancel cell editing.
      • (Grids) Fixed the issue that deleting editing rows didn't remove cell editor as well. See the bug report here.
      • (Grids) Fixed the issue that "match exactly" in QuickTableFilterField did not generate correct filtering result. See the bug report here.
      • (Grids) Fixed the issue that hiding columns in row header table of TableScrollPane may cause a gap between the row header table and the main table. See the bug report here.
      • (Grids) Fixed the painting issue while hiding a column in a table which has NestedTableHeader and has another column with the same header value with the hidden column.
      • (Grids) Fixed the issue that setTablePreferenceByName recreated the TableColumn instance which may causes incorrect TableColumnGroup and CellRenderer. See the bug report here.
      • (Pivot) Fixed the issue that sorting an unfilterable row fields made the height of the FieldBox changed unexpectedly. See the bug report here.
      • (Pivot) Fixed the painting issue that a gap existed between rowHeaderTable and dataTable when no row fields defined while initializing PivotTablePane.
      • (Pivot) Fixed the issue that column width in AggregateTable/AggregateTablePane could be reset unexpectedly after collapsing or expanding a column/node if there is only one aggregated column. See the bug report here.
      • (Pivot) Fixed the performance issue that sorting on a FieldBox triggered sorting process twice.
      • (Pivot) Fixed the issue that new columns added in ColumnHeaderTable by inserting data in original table model does not respect the preferred width of the corresponding PivotField. See the bug report here.
      • (Pivot) Fixed the issue that invoking PivotTablePane#autoResizeAllColumns right after the PivotTablePane is initialized did not really auto resize the pivotTablePane promptly. See the bug report here.

      Backward Compatible Issues

      • (Grids) The cell selection will go to next line after press enter to finish editing which is different with JTable. To keep JTable behavior, please invoke setAlwaysRequestFocusForEditor(true).. See the bug report here.

      June 1, 2009 - 2.6.5

      Bug Fixes

      • (Common) Catch HeadlessException in JideCursor.
      • (Component) Fixed the issue that removing the last tab in the bottom button panel of OutlookTabbedPane causes incorrect painting of the removed tab. See the bug report here.
      • (Dock) Fixed floating frame size changes while dragging.
      • (Dock) Fixed floatingContainerCustomer doesn't work as expected when using decoratedFloatingContainer.
      • (Editor) Fixed the incorrect painting issue that the description of the folding span can not show up. See the bug report here.
      • (Grdis) Fixed the issue that deleting rows in a sortable table with isOptimize() as true and isAutoResort() as false caused unexpected resort action AutoFilterTreeTableDemo, set optimize to true, autoresort to false, default sort option to ROOT, then expand and collapse.
      • (Grids) Fixed the threading issue while the customer put CachedTableModel#cacheIt() int a working thread. See the bug report here.
      • (Grids) Polished the painting for ColorComboBox.
      • (Grids) Fixed the issue that inserting rows at row index 0 in a filtered TreeTable then expanding the parent node may cause the node disappear if there are two filters on different columns (disappear only when the parent matchs only one filter and one of its children matchs only another filter).
      • (Grids) Fixed the issue that adding new rows may cause AIOOBE after sorting and filtering while isOptimize is true and isAutoResort is false and isKeepParent is true (exception only when it tries to show up a filtered parent due to the new added rows).
      • (Grids) Fixed the issue that expanding a node may causes incorrect painting after sorting while isOptimize is true and isAutoResort is false.
      • (Grids) Improved the performance for selection persistence mechanism in JideTable while isNonContiguousCellSelection is true.
      • (Pivot) Added the feature that click on expand/collapse button in AggregateTable would not select the cell. See the enhancement request here.
      • (Pivot) Added the feature that click on expand/collapse button in PivotTablePane would not select the header cell. See the enhancement request here.
      • (Pivot) Fixed the divided by zero issue while no data fields present in a PivotTablePane. See the bug report here.
      • (Pivot) Fixed the issue that column header table did not hide the deleted column key while all records with that key in the underlying table model are deleted.
      • (Pivot) Added header selection persistence for PivotTablePane.
      • (Pivot) Adjusted the context menu for header table in PivotTablePane so that it could be more clear in header selection mode.
      • (Pivot) Fixed the issue that "filter" in header table context menu did not support non contiguous selection. See the bug report here.
      • (Pivot) Fixed the issue that "clear filter" in header table context menu cannot hide the filter icon in the corresponding field box. See the bug report here.
      • (Pivot) Improved the respectFieldPreferredWidth feature so that the flag is considered only when initialization or field updating. See the bug report here.
      • (Pivot) Seperated plainTableHeader and headerSelectionMode flag so that the customer can select header table cells in plain table header scenario. See the enhancement request here.

      May 26, 2009 - 2.6.4

      Enhancement Requests

      • (Dock) Added setFloatingContainerCustomizer method to DockingManager.
      • (Girds) Added new createTable() API for easier overriding and updated related javadoc. See the enhancement request here.
      • (Grids) Added caching cell class & converter context & editor context in CachedTableModel. See the enhancement request here.
      • (Grids) Added an API to enable use JDK default sort icon or JIDE default sort icon. See the enhancement request here.
      • (Grids) Enabled the customer to override ColorComboBox to adjust alpha value in UI with sample code at ColorChooserDemo. See the enhancement request here.
      • (Grids) Added an API to enable multiple selection between different tables in TableScrollPane. See the enhancement request here.
      • (Pivot) Added an option to allow the table column width in DataTable respect the preferred width of PivotField. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed possible CCE when using TrayIcon with JidePopup.
      • (Common) Fixed the size of the menu is too width when it is on a command bar.
      • (Component) Fixed a Germany translation error while right clicking on the document pane. See the bug report here.
      • (Components) Fixed setLayout throws exception in CollapsiblePane.
      • (Dock) Fixed a commonly reported menu flicker problem.
      • (Dock) Fixed an issue where floating frames would become visible before the frame that contained the docking manager.
      • (Dock) Fixed stack overflow exception when showing a dockable frame with outlook tabbed pane. See the bug report here.
      • (Dock) Fixed shown event is fired when adding a hidden frame to DockingManager. See the bug report here.
      • (Dock) Fixed newly added frame disappears when loading the frame twice.
      • (Dock) Fixed possible IllegalArgumentException in DockingManager. See the bug report here.
      • (Dock) Made it possible to add extra component to the floating container.
      • (Grids) Fixed the issue that dragging group header in NestedTableHeader does not have correct behavior if AutoResizeMode is off. See the bug report here.
      • (Grids) CategorizedTable#getAscendingIcon and CategorizedTable#getDescendingIcon returns Icon instead of ImageIcon which may causes backward incompatibility. See the bug report here.
      • (Grids) Fixed the painting issue while the leading columns or ending columns in a cell span have column width as 0. See the bug report here.
      • (Grids) Fixed the issue that sorting on a TreeTable may causes incorrect tree line painting.
      • (Grids) Fixed the NPE issue that getPreferredSize sometimes is null in HierarchicalTable. See the bug report here.
      • (Grids) Fixed the issue that InFilter#stricterThan returns incorrect TRUE which may causes incorrect filtering result.
      • (Grids) Fixed the issue that setRowHeight(int.int) did not take effect while isVariousRowHeights() is false. See the bug report here.
      • (Grids) Fixed the issue that ShrinkSeachableSupport did not have same behavior with Searchable if Searchable#convertElementToString is customized. See the bug report here.
      • (Grids) Fixed an AIOOBE issue while expanding a node in sorted TreeTable while isOptimized() is true and isAutoResort() is false.
      • (Grids) Fixed the issue that auto resize the column with all rows as cell spans may causes incorrect column width computing. See the bug report here.
      • (Grids) Fixed an AIOOBE issue while invoking autoResizeRow() with isVariousRowHeigts() returns false. See the bug report here.
      • (Grids) Fixed the issue that table#getSelectedColumns() returns nothing after invoking TableUtils#loadSelection on row selection mode. See the bug report here.
      • (Grids) Fixed the painting issue while tree line is dashed line.
      • (Pivot) Fixed the issue that after collapsing a row in PivotTablePane any new added child row will not be calculated into the summary result of the collapsed row. See the bug report here.
      • (Pivot) Fixed the issue that there was a gap between rowHeaderTable and mainTable in PivotTablePane if isShrinkDataFieldArea returns false. See the bug report here.
      • (Pivot) Fixed the issue that subtotal and grand total values could be hidden incorrectly. See the bug report here.
      • (Pivot) Fixed the issue that sorting on data fields in PivotTablePane did not take effect which is a regression from 2.6.0 to 2.6.3 inclusively. See the bug report here.
      • (Pivot) Fixed the issue that the column width changes on sorting while installing a PivotTablePane inside a JTabbedPane. See the bug report here.
      • (Pivot) Fixed the issue that the column width changes on table structure changed event while all rows in the RowHeaderTable are collapsed. See the bug report here.
      • (Pivot) Fixed the issue that clicking on header table did not set the anchor and lead correctly.
      • (Pivot) Request focus for DataTable while sorting/filtering and so on.

      May 15, 2009 - 2.6.3

      New Components

      • (Grids) Added a series of new components ShrinkSearchableSupport to support narrow down searchable.
      • (Grids) Added a new component LuceneFilterableListModel and LuceneQuickListFilterField.

      Enhancement Requests

      • (Editor) Improved the behavior in column selection model. See the enhancement request here.
      • (Grids) Enabled the customer to create its own searchable for the drop down list in AutoFilterBox. See the enhancement request here.
      • (Grids) Enabled that resizing on a TableColumnGroup will resize all columns under this group. See the enhancement request here.
      • (Grids) Added setCellSpanCacheEnabled() API to enable or disable the cell span cache.
      • (Grids) Added FilterableListModelEvent and FilterableListModelListener for filter adding and removing.
      • (Grids) Added border style support for exporting JTable to excel sheet.
      • (Pivot) Provided API to enable the customer to define the drag and drop behavior of the field boxes in PivotTablePane. See the enhancement request here.
      • (Pivot) Make shouldCalculateSummary method protected. See the enhancement request here.
      • (Pivot) Added getActualRowIndex API to PivotDataSource.
      • (Pivot) Added selection persistence mechanism while moving fields in PivotTablePane.
      • (Pivot) Added selection persistence mechanism while filtering in PivotTablePane.
      • (Pivot) Added selection persistence mechanism while expanding/collapsing nodes in PivotTablePane.
      • (Pivot) Added selection persistence mechanism while sorting in PivotTablePane.
      • (Pivot) Provided saveSelection() and loadSelection() API at PivotTablePane so that the customer can achieve selection persistence feature by adding the method invoke in certain place. Especially for original table model changed scenario.. See the enhancement request here.
      • (Pivot) Added createCustomFilterEditorDialog API for overwriting. See the enhancement request here.

      Bug Fixes

      • (Action) Fixed the size of the chevron popup is wrong when there are many components on it.
      • (Common) Fixed several Germany translation issue. See the bug report here.
      • (Common) Added check to check box selection to avoid potential AIOOBE issue while the model size is 0. See the bug report here.
      • (Common) Fixed the header box is still in rollover mode in certain case.
      • (Common) Set the BalloonTip is not transparent by default on Nimbus L&F.
      • (Common) Fixed the issue that ListSearchable#convertElementToString may not work on the visible string. See the bug report here.
      • (Components) Open document in docked mode by default in DocumentPane.
      • (Components) Fixed the floating containers disappear when the DocumentPane is removed from its parent and will never be shown again even when DocumentPane is added back to its parent.
      • (Dashboard) Fixed the load layout increases the dashboard count.
      • (Dashboard) Fixed the issue that dashboard ws not added to GadgetManager after loading the layout.
      • (Dashboard) Fixed setIcon/setTitle on the DocumentComponent doesn't change the value in Dashboard in DashboardDocumentPane.
      • (Dashboard) Fixed the dashboard count is wrong when loading the layout.
      • (Dashboard) Fixed NPE when clicking on gadget palette while there is no dasbboard.
      • (Data) Fixed the issue that deletint the last row on a table with PageNavigationBar installed would causes only one row displayed visually.
      • (Data) Fixed the issue that sorting on table with PageNavigationBar installed could not persist selections correctly.
      • (Data) Fixed isLast is called for a TYPE_FORWARD_ONLY ResultSet in ResultSetTableModel. See the bug report here.
      • (Dock) Fixed hideFrame before loadLayoutData causes subsequent loadLayoutData exception. See the bug report here.
      • (Dock) Added some defensive logic that would prevent misbehaving dockingframefactories from leaving the dockingmanager in an inconsistent state and to improve error handling.
      • (Dock) Fixed the issue that dockableframelisteners would not be called unless they directly implemented the interface .
      • (Dock) Fixed getUndockedBounds return a very small size since 2.5. See the bug report here.
      • (Dock) Fixed the issue that loaded ContainerContainers would have a preferred size of 0&0 and this would cause newly added or dragged frames to have a 0&0 size and appear to be gone..
      • (Dock) Fixed memory leak in SlidingOverFrameContainer. See the bug report here.
      • (Grids) Fixed the issue that textField in some ComboBox does not display in disabled background while disabed and non-editable. See the bug report here.
      • (Grids) Fixed the issue that dragging a column in NestedTableHeader causes error paint of the column header.
      • (Grids) Fixed the painting issue while dragging grouped columns in AggregateTable.
      • (Grids) Fixed the width painting issue for DualList while setModel() is invoked. See the bug report here.
      • (Grids) Fixed the issue that collapse filtered GroupTable may cause the parent node disappear if registered ObjectConverter for parent rows. See the bug report here.
      • (Grids) Fixed the AIOOBE issue while setRowHeight() to specific row when isVariousRowHeights() is false.
      • (Grids) Fixed the issue that adding rows at HierarchicalTable could print a row which was expanded with error row height as if it is still expanded. See the bug report here.
      • (Grids) Fixed the AIOOBE issue while mouse clicking on the blank area of NestedTableHeader. See the bug report here.
      • (Grids) Fixed the NPE issue in NestedTableHeader if it has a column without any group.
      • (Grids) Fixed the issue that sometimes sorting a tree table causes error painting. See the bug report here.
      • (Grids) Fixed the issue that changing headerValue of TableColumn in NestedTableHeader causes painting error. See the bug report here.
      • (Grids) Fixed the issue that cursor will change to resize cursor while the mouse points to the edge between the first column and the second column in TableScrollPane. See the bug report here.
      • (Grids) Fixed the issue that TableComboBoxCellEditor did not work. See the bug report here.
      • (Grids) Fixed the issue that auto resizing all columns did not consider reserving position for sorting icon on the header. See the bug report here.
      • (Grids) Fixed the one pixel painting issue in TreeTable lines. See the bug report here.
      • (Pivot) Fixed the issue that column order could be wrong while grouping/ungrouping in AggregateTablePane after invoking AggregateTablePane#setTableModel(). See the bug report here.
      • (Pivot) Modified the description of the expand/collapse item for HeaderTable. See the bug report here.
      • (Pivot) Fixed the issue that subtotal was displayed in reverse order while PivotDataModel#setShowSubtotalAsChild(true) and PivotField#setSubtotalLocation(PivotField#LOCATION_BEFORE). See the bug report here.
      • (Pivot) Fixed the issue that getValueAtInString returns null for Grand Total Value. See the bug report here.
      • (Pivot) Fixed the issue that changing summary in AggregateTable cannot persist the expansion state. See the bug report here.
      • (Pivot) Fixed the issue so that the customer is able to override PivotDataModel#creatRowHeaderTableModel and PivotDataModel#creatColumnHeaderTableModel. See the bug report here.
      • (Pivot) Fixed the issue that grouping a sorted AggregateTable causes error painting. See the bug report here.

      May 1, 2009 - 2.6.2

      Enhancement Requests

      • (Action) Added client property "CommandBar.expandable" to make any component expandable or not.
      • (Common) Provided an icon wrapper MenuCheckIcon so that it will check the model selection before it paint itself. See the enhancement request here.
      • (Common) Added an option to configure if TableSearchable should fire SEARCHABLE_MODEL_CHANGE event when it get table changed events. See the enhancement request here.
      • (Component) Added OpenDocument method for adding floating documents.
      • (Component) Added docked and floated to DocumentComponentEvent.
      • (Data) Added the feature to renderer DatabaseTable utilizing the information from meta data including isCurrency() and getScale() and etc. See the enhancement request here.
      • (Data) Added getPageNavigationSupport method to PageNavigationBar. See the enhancement request here.
      • (Dock) Altered logic so that autohide return to last location rather than the next frame..
      • (Dock) Added a remove and dispose option to the close actions and the default behavior has not changed.
      • (Grids) Added supporting alpha value in ColorComboBox. See the enhancement request here.
      • (Grids) Added getActualSearchingColumnIndices API to get the current searching column indices selected by the customer in UI. See the enhancement request here.
      • (Grids) Made a behavior change so that mouse click on group header on NestedTableHeader will not trigger sorting or popup menus. See the enhancement request here.
      • (Pivot) Added popup menu size persistence feature for FieldBox popup menu. See the enhancement request here.
      • (Pivot) Added SUMMARY_NONE for the non-calculable fields. See the enhancement request here.
      • (Pivot) Provided API for the customers to override createFieldSettingsDialogButtonPanel to change the font of the buttons or add/delete buttons. See the enhancement request here.
      • (Pivot) Made FieldBoxInputListener public and added createFieldBoxInputListener to PivotTablePane. See the enhancement request here.
      • (Pivot) Enables clicking table header to choose entire row or column when DataTable disables NonContiguousCellSelection option. See the enhancement request here.
      • (Pivot) Adjusted the intermediate area index while adding a field to the last of the designated area. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed an issue where commit due to focuslost would not put focus in component who had focus when editing started..
      • (Common) Do not delegate HOME/END key in AbstractListIntelliHints method and delegate CTRL-HOME/END and CTRL-PAGEUP/DOWN isntead.
      • (Common) Added Export-Package for jide-common.jar. See the bug report here.
      • (Common) Fixed split button doesn't work if it is on the hidden component's popup menu of a command bar.
      • (Common) Fixed the tab line painted outside the JideTabbedPane. See the bug report here.
      • (Common) Added an option to use UIDefault "JideTabbedPane.gradientTabArea" or client property "JideTabbedPane.gradientTabArea" to decide if the tab area background should be painted in gradient under Office2003 style. See the bug report here.
      • (Common) Fixed NoClassDefException when using xml persistence on JDK5 and above when xerces.jar is not in class path.
      • (Component) Fixed the preferred width is wrong for CollapsiblePane. See the bug report here.
      • (Component) Fixed the issue that docking a floating document causes multipel document group in DashboardDocumentPane.
      • (Component) Fixed the issue that load button in CollPaneDocumentPaneDemo clears the gadgets from the dashboards.
      • (Component) Fixed a size issue after docking a floating dockable frame.
      • (Component) Disposes all floating containers when the DocumentPane's removeNotify is called.
      • (Component) Fixed the issue that clicking in a floating document doesn't activate it in DocumentPane.
      • (Dashboard) Fixed the issue that setIcon on Dashboard doesn't reflect on DocumentComponent.
      • (Dashboard) Fixed the issue that changing key of Dashboard does not change the keys stored in GadgetManager. See the bug report here.
      • (Dashboard) Do not add the description panel if the createDesciptionPanel returns null. See the bug report here.
      • (Demo) Fixed packing issue on JIDE Data Grids demo when running in JideDemos.
      • (Dialogs) Fixed the source of the next button becomes the page instead of the button.
      • (Dock) Fixed the issue that dockingManagers were not deactivating properly when another dockingmanager was set to active..
      • (Dock) Fixed nothing is shown after ugprading from earlier releases to 2.6.1 when a JFrame or a DockableFrame is passed in as the content container for DefaultDockingManager or DefaultDockableBarManager's constructor. See the bug report here.
      • (Dock) Fixed an issue where autoshowing frames would not hide.
      • (Dock) Removed a flicker on hiding tabs and added focus logic that would restore focus if tabs were add/removed while focus was in another window..
      • (Dock) Fixed a null pointer exception trying to toString a dockableFrame before it was added to a dockingmanager.
      • (Dock) Fixed the issue so that we would not requestFocus if the last focused component is no longer inside the workspace or dockable frame.
      • (Dock) Fixed a regression that dragging the empty tab area doesn't drag the whole tabbed pane in the recent releases. See the bug report here.
      • (Dock) Moves firing frame hidden after we added it to the hidden frame list.
      • (Dock) Fixed tab order issue and active frame is not kept issue when loading layout in Docking Framework. See the bug report here.
      • (Dock) Fixed an issue where mouseevents can be reordered. See the bug report here.
      • (Dock) Ensured the the close button on the tab honored the ishidable flag of the docking manager.
      • (Editor) Fixed the initial color does not change issue if invoke CodeEditor#setText() later than CodeEditor#setTokenMarker(). See the bug report here.
      • (Grids) Fixed the NPE issue if the program listen to PopupMenuEvent and update list data of the ComboBox in popupMenuWillBecomeVisible() by adding a flag isHidePopupOnListDataChanged() in AbstractComboBox. See the bug report here.
      • (Grids) Fixed the issue so that we would not use the combobox button on FieldBox and AutoFilterBox on Aqua L&F.
      • (Grids) Fixed the issue that dragging nestedheader doesn't work if the original header spans more than one rows.
      • (Grids) Fixed the issue that table preference is saved incorrectly while the model wrapped under the GroupTableModel instance does not implement ColumnIdentifierTableModel. See the bug report here.
      • (Grids) Fixed the issue that deleting one row in paged table could visually delete two rows.
      • (Grids) Fixed the issue that sorting on a empty table then adding rows could display empty rows while optimize and autoResort are both turned on.
      • (Grids) Fixed the issue that collapsing tree node in a filtered table maybe cause the collapsed node disappear.
      • (Grids) Fixed the issue that applying multiple columns filter from QuickTableFilterField to TreeTable causes incorrect filter result.
      • (Grids) Fixed the unclear title for ungroup menu item in GroupTable.
      • (Grids) Fixed the issue that inserting or deleting rows on a sorted HierarchicalTable with optimize option causes wrong expansion state paint.
      • (Grids) Fixed the NPE issue while deleting the last row in paged tables.
      • (Grids) Fixed a focus related painting issue in TableScrollPane while setAutoStartCellEditing(true). See the bug report here.
      • (Grids) Fixed the issue that row height could be set to an abnormal value which the row had before after table data changed.
      • (Grids) Fixed the header is messed up when dragging a column out of the header boundary.
      • (Grids) Fixed the CCE issue in LessThanFilter. See the bug report here.
      • (Grids) Fixed an issue where programatically setting the values would cause the popup to open even when focus was elsewhere in ListComboBoxSearchable..
      • (Grids) Fixed the issue that using default constructor of QuickTableFilterField causes the filtering not work. See the bug report here.
      • (Grids) Fixed the AIOOBE issue at SortableTableModel while sorting then adding column then sorting the last column. See the bug report here.
      • (Grids) Fixed the NPE issue if incorrect using FilterableTableModel to wrap TreeTableModel. See the bug report here.
      • (Grids) Fixed the AIOOBE for AggregateTablePane#getColumnClass() and getColumnName(). See the bug report here.
      • (Grids) Fixed the selection loading issue while all rows are removed in row selection model.
      • (Grids) Fixed the issue that adding new rows into HierarchicalTable can not show up the new rows immediately. See the bug report here.
      • (Grids) Fixed the issue that toggling sorting in one table in TableScrollPane causes the rows in other tables disappear while tables contained in TableScrollPane do not have the same ISortableTableModel. See the bug report here.
      • (Grids) Fixed the issue that row heights were changed unexpectedly while TreeTable set row auto resize to true. See the bug report here.
      • (Pivot) Fixed the issue that filtering on AggregateTableModel resets the width of the columns. See the bug report here.
      • (Pivot) Fixed the issue that the first aggregating columns are always kept in the front while column ungrouping. See the bug report here.
      • (Pivot) Fixed the issue that AggregateTablePane only accept AggregateTableModel as its table model which made AggregateTablePane cannot work with AutoFilterTableHeader well. See the bug report here.
      • (Pivot) Make the sort arrow in the FieldBox invisible if the corresponding PivotField is set not sortable. See the bug report here.
      • (Pivot) Fixed the cancel cursor is displayed when dragging over the filter chooser in PivotTablePane. See the bug report here.
      • (Pivot) Added a NPE check in setRows of HeaderTableModel. See the bug report here.
      • (Pivot) Fixed the issue that filtering in AggregateTableModel could fire structrue change event which causes column width reset. See the bug report here.
      • (Pivot) Stops the cell editing in case the tables in PivotTablePane is editing mode when filtering is happening on FieldBox.
      • (Pivot) Added showFieldSettingsDialog and made FieldSettingsPanel public. See the bug report here.
      • (Pivot) Make all empty area in PivotTablePane accepting right click to hide the field list. See the bug report here.
      • (Pivot) Fixed the issue that the column width of rowHeaderTable changes smaller after removing all rows then adding any row. See the bug report here.
      • (Pivot) Added getAllowedSummaries to SummaryCalculator to allow using converter context. See the bug report here.

      Backward Compatible Issues

      • (Pivot) Added SummaryCalculator#getAllowedSummaries(Class type. See the enhancement request here.
      • (Components) Added documentComponentDocked and documentComponentFloated metods to DocumentComponentListener which will cause compile errors fif you implement it.

      April 17, 2009 - 2.6.1

      New Components

      • (Dashboard) Introduced DashboardDocumentPane which is a dashboard holder class built on top of DocumentPane in JIDE Components.

      Enhancement Requests

      • (Common) Added API to allow the customer remove certain buttons or recent history list ComboBox in the tool bar. See the enhancement request here.
      • (Common) Added the ability to manually clear the fast gradient cache.
      • (Grids) Made NestedSortableTableHeader public. See the enhancement request here.
      • (Pivot) Added an option to configure if PivotTablePane should consider the length of row field box while auto resizing row header table. See the enhancement request here.

      Bug Fixes

      • (Common) Fixed a painting issue on the tab area.
      • (Common) Fixed the issue that the JideSplitButton appears disabled on Mac when it is on a JToolBar. See the bug report here.
      • (Common) Modified XertoUtils to allow the colors to be recalculated after the class is loaded because the class is used by L&Fs other than Xerto (i.e. it is used by StatusBarBorder in the XP L&F).
      • (Dock) Fixed the exception when mouse dragging while setTabReorderAllowed is false.
      • (Dock) Changed the preserveAvaiableProperty to true by default in DockingManager.
      • (Editor) Fixed the issue that the caret is put incorrect while any folding span is collapsed.
      • (Grids) Fixed the issue that setGridLine was always unnecessary invoked even if the grid line is not a UIResource.
      • (Grids) Fixed the issue that TableRowFilter was broken in TreeTableModel.
      • (Grids) Fixed the ArrayIndexOutOfBoundException while JideTable#setRowAutoResizes(true) then add rows. See the bug report here.
      • (Grids) Fixed so that the column won't be resized when the mouse is over the grouped column. See the bug report here.
      • (Grids) Fixed so that dragging the group column will not reorder the column. See the bug report here.
      • (Grids) Fixed the issue that default constructor of QuickTableFilterField throws NPE. See the bug report here.
      • (Grids) Fixed the SortableTable painting issue in the scenario that filter some rows after toggle sorting to no sorting. See the bug report here.
      • (Grids) Fixed the NPE issue when the constructor of TableColumnChooserDialog is invoked and setHiddenColumns is not invoked. See the bug report here.
      • (Grids) Fixed the issue that wrapping SortableTreeTableModel with TableScrollPane created unnecessary SortableTreeTableModel so the sorting related method in the passed in SortableTreeTableModel can not get invoked. See the bug report here.
      • (Grids) Fixed the issue that editting cells at TableScrollPane causes row heights in rowHeaderTable and mainTable inconsistent.
      • (Grids) Fixed the issue that after loading selection the anchor of selection is changed unexpectedly.
      • (Grids) Fixed the issue that TextFieldCellEditor.getTableCellEditorComponent() does not invoke DefaultObjectConverter.toString() while the value is null. See the bug report here.
      • (Pivot) Fixed the wrong cell class is return in DataTableModel#getCellClassAt method for AggregateTable when the summary type is set to COUNT. See the bug report here.
      • (Pivot) Fixed the issue that after removing all datas then adding a new record will causes the column width of the row header table mess up. See the bug report here.
      • (Pivot) Fixed the issue that auto resize all columns can not shrink the column width for row header table . See the bug report here.
      • (Pivot) Fixed the issue that the column width was not kept when row fields orders are changed. See the bug report here.

      Backward Compatible Issues

      • (Dashboard) Changed the showPalette() to showPalette(Component) in GadgetPaletteInstaller interface which could break existing code if you implement this interface.

      April 14, 2009 - 2.6.0

      New Features

      • (Component) Added floating feature to DocumentPane.
      • (Grids) Introduced LuceneFilterableTableModel and LuceneQuickTableFilterField to use Apache Lucene as the search engine.
      • (Grids) Improved the filtering performance by reducing the rows applied on the new filter considering strict relationship between new filter and old filter.
      • (Grids) Enabled multiple column selection in QuickTableFilterField. See the enhancement request here.

      Bug Fixes

      • (Action) Fixed the issue that the menu didn't show up if it is shown on the chevron's drop down portion in CommandMenuBar.
      • (Common) Fixed the issue that the background of the MultilineLabel is still shown on Nimbus. See the bug report here.
      • (Common) Fixed the issue that FoldChooser cannot delete non-empty folders. See the bug report here.
      • (Common) Fixed a memory leak in JidePopup.
      • (Common) Fixed the issue that the title bar of dockable frame looks wrong on Plastic L&F.
      • (Common) Fixed the issue that losing focus does not trigger JideSplitButton repaint. See the bug report here.
      • (Common) Fixed the issue that array of Float.class etc. primitive wrapper type is not registered with the DefaultArrayConverter in ObjectConverterManager. See the bug report here.
      • (Common) Added tooltip for the status label in SearchableBar. See the enhancement request here.
      • (Component) Fixed NPE when adding tab while no tabs are there.
      • (Dock) Fixed the issue where sometimes trying to open an autohide frame would loose focus.
      • (Dock) Fixed an issue opening autohide.
      • (Dock) Fixed the issue to make workspace on top if showing.
      • (Dock) Fixed the issue where opening floating windows would sometimes cause focus to become 'lost'.
      • (Dock) Fixed the issue with hiding multiple windows cause the frame to not disappear.
      • (Dock) Fixed several focus problems related to autohide.
      • (Dock) Fixed the issue where toggling docking/floating with popups would focus.
      • (Dock) Fixed a regression where activate would not activate autohidden frames.
      • (Dock) Fixed the issue that if you activated a tab and then set the layout causing the tab to become autohidden it did not reset the active tab.
      • (Dock) Fixed the issue that the MANAGED_FRAMES property was being fired too early so the getOrderedFrames was not returning the correct value.
      • (Dock) Fixed the issue that if an exception occured during layout the realized flag was left in the wrong state.
      • (Dock) Fixed the issue that if there was no workspace and only an inactive/autohidden tab then clickin in the contents of the autothidden tab did not active it.
      • (Dock) Stopped activatefront from activating autohidden frames.
      • (Dock) Fixed the issue that if the current focus component is removed and awt doesn't move focus (this would be bug but does happen) the docking framework requestFocusinInternalWindow would still return success.
      • (Dock) Avoid middle mouse button select tab.
      • (Dock) Added a check for invalild initSide and initMode at setInitSide and setInitMode.
      • (Dock) Fixed the preferred size is reset incorrectly when loadLayoutData is called.
      • (Dock) Fixed possible memory leak because of the reference to the last focus component. See the bug report here.
      • (Dock) Fixed the issue that removeFrame did not hide and remove the frame when the DockingManager.isHidable returns false.
      • (Dock) Restored the maximized frame when addFrame is called to workaround the exception.
      • (Dock) Fixed the issue that getActiveFrame is not null when the loadLayoutData is called and the main window is not even visible on the screen.
      • (Dock) Fixed the issue that the autohidden frame is activated automatically when the window is bring to front or the menu is hidden. See the bug report here.
      • (Dock) Fixed possible NPE from DockingUtils's getDockingManagers method. See the bug report here.
      • (Dock) Added logic to auto-activate an autoshown frame if opening the autohidden frame causes the an active frame to be hidden.
      • (Dock) Added support for an initial show frame.
      • (Dock) Added persistentce support for floating documents.
      • (Dock) Added the feature that click middle mouse button can close the frame.
      • (Dock) Added setOutsideSensitiveAreaSize flag to DockingManager. See the enhancement request here.
      • (Editor) Fixed the issue that cliking on "find previous" button does not move cursor up while co-working with SearchableBar. See the bug report here.
      • (Editor) Enabled the multiple line insertion when column selection model is on. See the enhancement request here.
      • (Example) Enable clicking nested table header to auto resize all related columns. See the enhancement request here.
      • (Example) Improve Unix compatibility by deleting space in the example path. See the enhancement request here.
      • (Girds) Fixed the issue that cell update event process in FilterableTableModel possibly triggers table data change event.
      • (Girds) Fixed the issue that right clicking on the right blank area of the table columns in GroupTable causes illegal argument exception. See the bug report here.
      • (Girds) Fixed the issue that firing cell update event causes unnecessary row height and selection persistence cost.
      • (Grids) Fixed the issue that clicking outside of a popup menu causes the cell stopping editor. See the bug report here.
      • (Grids) Deprecated getVisibleChildrenCount() method in AbstractExpandable.
      • (Grids) Moves the call to customizeAutoFilterBox after the table model is set.
      • (Grids) Fixed exception when cachedColumns are set.
      • (Grids) Fixed exception when removing a row from the actual table model when the model is wrapped in a CachedTableModel.
      • (Grids) Fixed the painting issue if getCellSpanAt returns the same instance for different cell spans.
      • (Grids) Fixed the slow tree table painting issue while the table has more than 300 columns. See the bug report here.
      • (Grids) Fixed the issue that getCellRect doesn't return the correct height if the width is 0. See the bug report here.
      • (Grids) Fixed the issue that sorting on filtered tree table causes incorrect filtering.
      • (Grids) Fixed the issue that table#isCellSelected() returns incorrect value while invoked in TableSelectionListener. See the bug report here.
      • (Grids) Fixed the issue that firing table data change event always scrolls the screen to make the selected rows visible.
      • (Grids) Removed the index related error print while high volume sorting or filtering.
      • (Grids) Do not requestFocus if the editor component is a text component. See the bug report here.
      • (Grids) Fixed the issue that sorting columns does not repaint the sorting arrow in the header. See the bug report here.
      • (Grids) Fixed the issue that reset to default will cause cell renderer and editor in TableColumn lost. See the bug report here and here.
      • (Grids) Fixed the issue that hiding and showing column in GroupTable doesn't keep the right column order.
      • (Grids) Keep all the popup menu customizer consistent in displaying column names. See the bug report here.
      • (Grids) Fixed the issue that in sorting scenario TableModelWrapperUtils#getVisibleChildrenCount() gets incorrect value.
      • (Grids) Fixed the issue that adding rows in HierachicalTable or any other table implementing RowHeights then firing table data change event can not show up the new added rows. See the bug report here.
      • (Grids) Fixed the issue that loading selection error which may causes explicit call to clearSelection() does not take effect after table data change event fired. See the bug report here.
      • (Grids) Provided a flag in JideTable to enable the customer disable/enable the row height persistence feature.
      • (Grids) Fixed the issue that saving row height information causes customized RowHeights instance lost.
      • (Grids) Fixed the issue that expanding or updating a recursive tree node will cause endless loop.
      • (Grids) Added setDisabledBackground/setDisabledForeground methods to AbstractComboBox.
      • (Grids) Enabled PropertyTable to accept table model wrappers other than PropertyTableModel only so that the customer can install filter field at PropertyTable. See the enhancement request here.
      • (Grids) Make it default to filter on the displayed string instead of real value while installing QuickTableFilterField.
      • (Grids) Improved the performance in nested table header scenario. See the enhancement request here.
      • (Grids) Added getFilterFactoryManager method to TableCustomFilterEditor.
      • (Grids) Added getTableAtCell/Row/Column methods to make the row/column index conversion easier.
      • (Grids) Improved the performance for row heights persistence mechanism.
      • (Pivot) Fixed the issue that reset to default in AggregateTable will causes random column order layout.
      • (Pivot) Fixed the issue that grouping or un-grouping columns will cause the sorting incorrect in AggregateTable.
      • (Pivot) Fixed the issue that dragging columns to resize column width will not select adjacent columns.
      • (Pivot) Fixed the issue that PivotTableModel#setShowSubtotalAsChild(true) causes error print. See the bug report here.
      • (Pivot) Fixed the issue that HeaderTableModel still used concrete PivotDataModel instead of the interface IPivotDataModel. See the bug report here.
      • (Pivot) Fixed PivotField's summary type is reset when it is set to SUMMARY_CUSTOM. See the bug report here.
      • (Pivot) Fixed the issue that firing table structure change event resets the column width of PivotTablePane. See the bug report here.
      • (Pivot) Fixed the issue that setting subtotal type to automatic then sorting will causes incorrect subtotal row position. See the bug report here.
      • (Pivot) Added column auto resize feature at PivotTablePane which can be configured by PivotTablePane#setColumnAutoResizable(boolean). See the enhancement request here.
      • (Shortcut) Fixed the issue that the empty action did not appear in the command list in ShortcutEditor. See the bug report here.

      March 26, 2009 - 2.5.8

      Bug Fixes

      • (Common) Fixed setText() method of AutoCompletionDocument that causes a StringIndexOutOufBoundsException if strictCompletion is set to false and the entered text is longer than the text that matched before. See the bug report here.
      • (Common) Fixed the issue that after clicking mouse on the button then releasing mouse on the down arrow will keep the button pressed. See the bug report here.
      • (Common) Provided API that you can set the XML version and encoding while you are going to save Pivot or Shortcut or Dashboard or something else to a file or stream. See the enhancement request here.
      • (Common) Fixed in SearchableBar the cursor position is not reset when the table selection is changed from outside. See the bug report here.
      • (Dock) Fixed a issue with the popups on the frame.
      • (Dock) Fixed a issue where an invalidate during a resize would cause the autohide frame to resize to the previous size.
      • (Dock) Fixed a minor issue where autohide showing frames would throw an exception on window close.
      • (Dock) Fixed DockableFrame#shouldNotify is not called if the frame is active in Docking Framework.
      • (Dock) Fixed the dragging problem when there are two docking managers and each one has different allowed dock sides. See the bug report here.
      • (Dock) Fixed a unfloatable frame is missing when floating a tabbed pane that has this frame in Docking Framework.
      • (Dock) Fixed recursively calls when removeFrame is called in dockableFrameHidden event.
      • (Dock) Fixed the glass pane is set to visible when the window is deactivated when using Docking Framework. See the bug report here.
      • (Grids) Fixed the issue that firing table cell update event causes unnecessary table update and wrong table data displaying.
      • (Grids) Fixed the NPE issue on deleting rows in sorting paused scenario.
      • (Grids) Only use the description as the item in the column list in TableColumnChooserDialog. See the bug report here.
      • (Grids) Fixed the NPE issue that if GroupTableModel.getModel()l#getColumnName() returns null.
      • (Grids) Fixed the issue that loading preference causes new added fields disappear like hidded columnds do. See the bug report here.
      • (Grids) Fixed the issue that saved preference string was not compatible with XML format(the change is back compatible).
      • (Pivot) Fixed the issue that changing original table model then firing table structure change event cannot take effect in AggregateTable. See the bug report here.
      • (Pivot) Fixed the issue that adding a field cannot show up automatically. See the bug report here.
      • (Pivot) Fixed PivotField#setAreaType to unassigned area doesn't hide the column in the AggregateTable.
      • (Pivot) Provided two options for the AggregateTable dragging column scenario. See the enhancement request here.
      • (Pivot) Fixed exception when mouse is right clicked on the HeaderTable when there is no column field. See the bug report here.

      March 18, 2009 - 2.5.7

      Bug Fixes

      • (Common) Fixed to use UIDefault "control" for several paint methods in BasicPainter.
      • (Common) Fixed the issue that inter-working with Substance causes endless loop. See the bug report here.
      • (Common) Fixed DefaultOverlayable doesn't change preferred size when setPreferredSize is called. See the bug report here.
      • (Common) Fixed so that the row header width is not limited by the available area width.
      • (Common) Fixed the find next and find previous starts from last search index instead of the current selected index in SearchableBar. See the bug report here.
      • (Dashboard) Enable the customer to change the default button behavior easier. See the enhancement request here.
      • (Data) Fixed ResultSetTableModel throws exception when the ResultSet is forward only.
      • (Designer) Fixed designer doesn't clear the content when creating a new project.
      • (Dock) Fixed the issue where if you clicked on an sideitem to open an autohidden panel it would not set focus.
      • (Dock) Fixed the issue where autohidden windows had a delay for opening even when another autohidden window was already displayed.
      • (Dock) Fixed the behavior where autohides would always try to show one active frame. The docking manager will deactive if all the remaining frames are autohidden. See the bug report here.
      • (Dock) Fixed the issue with popups flickering. (This had to do less with popups and more with temporary focus management.) .
      • (Dock) Fixed the isuee with mouseclicks processing activate methods in the wrong order in nested docking managers.
      • (Dock) Fixed the isuee with rightmouse clicks not activing the underlying components.
      • (Dock) Fixed the issue that clicking to open autohiden tabs (sideitems) would force focus to be taken.
      • (Dock) Fixed the issue that when moving over a side item the initial delay would sometimes be zero but sometimes be longer.
      • (Dock) Fixed the tab shown event is fired during resetToDefault on non-selected dockable frames.
      • (Dock) Fixed the minimum size of the dockable frame is determined by the preferred width of the titleLabelComponent. See the bug report here.
      • (Dock) Added an interface tag for a method that was implemented. This allows dockingmanagers to treat dockableframes like holders.
      • (Dock) Fixed the dockable frames are tabbed together when setTabDockAllowed is false. See the bug report here.
      • (Dock) Fixed the preferred size of the DockableHolder is wrong.
      • (Dock) Added setAutoActivateFocusOwner flag back to DockingManager to let user control if they want to activate the DockableFrame when programatically request focus on a component inside a DockableFrame.
      • (Dock) Fixed show two floating frames that are in the same container will result in two different floating containers.
      • (Dock) Fixed hidden event is not fired in Docking Framework.
      • (Dock) Fixed the center dockable frame cannot be activated when docked. See the bug report here.
      • (Dock) Added utilities for better nesting support.
      • (Examples) Fixed the cell span doesn't change when changing the radio buttons in the option panel.
      • (Grids) Added invalidateCellSpanCache method to CellSpanTable.
      • (Grids) Make GroupTable column order save/load mechanism work with the flags(including "show group columns" "show count columns" "keep column order") in GroupTable.
      • (Grids) Fixed the filtering algorithm error during refresh using FILTER_ALGORITHM_BY_FILTER algorithm.
      • (Grids) Fixed exception when using RowSorter with JideTable while the table data is updated. See the bug report here.
      • (Grids) Fixed the NPE issue in sorting pause then delete rows scenario.
      • (Grids) Fixed the issue that using column chooser dialog causes column order changed unexpectedly. See the bug report here.
      • (Grids) Added an API to enable applications customize the displaying description in TableColumnChooserDialog. See the enhancement request here.
      • (Grids) Fixed the column order keeping algoritm issue in hiding columns then showing column one by one in different orders scenario. See the bug report here.
      • (Grids) Fixed the tab/shift-tab/home/end key doesn't work as expected when there are tables with no columns in the TableScrollPane.
      • (Grids) Fixed the issue that load/saveSelection doesn't work correctly when the table model is not a TableModelWrapper.
      • (Grids) Fixed the issue that setTablePreferenceByName acts not as expected. See the bug report here.
      • (Grids) Added getExpansionState and setExpansionState API to save and load expansion state for tree table model.
      • (Pivot) Fixed the expand icon is shown on the column for the data field in PivotTablePane's header table when there are more than one data fields.
      • (Pivot) Added getExpansionState and setExpansionState methods to HeaderTableModel. See the enhancement request here.
      • (Pivot) Made sortCompoundKeys method protected in PivotDataModel. See the bug report here.
      • (Pivot) Fixed the issue that add new data will cause inconsistent column width between ColumnHeaderTable and DataTable. See the bug report here.

      March 10, 2009 - 2.5.6  ()

      Bug Fixes

      • (Common) Revert to use JideLabel.background instead in BasicPainter. See the bug report here.
      • (Common) Upgraded HSSF jar to 3.2 version.
      • (Common) Added NetworkIconSet file. See the enhancement request here.
      • (Common) Fixe SIOOBE when JDK6 patch level < 10 in SystemInfo. See the bug report here.
      • (Common) Enhanced the JDK version number compare algorithm in SystemInfo. See the enhancement request here.
      • (Dashboard) Fixed the dashboard setttings persistence bug. See the bug report here.
      • (Dashboard) Fixed NPE issue in SingleDashboardHolder.
      • (Dock) Fixed several focus defects in Docking Framework.
      • (Dock) Fixed the flickering problem in nested docking manager case when right clicking on the dockable frame content to show a popup menu.
      • (Dock) Fixed the size of the frame changes when toggle maximize in Docking Manager. See the bug report here.
      • (Dock) Fixed showFrame has no effect when there is a dockable frame maximized. See the bug report here.
      • (Dock) Enabled floating and auto-hide button while frame is maximized. See the enhancement request here.
      • (Grids) Fixed the issue that group rows in tree table cannot accept MultilineTableCellRenderer. See the bug report here.
      • (Grids) Fixed the NPE issue when group table install AutoFilterTableHeader then try to custom filter. See the bug report here.
      • (Grids) Make a protected shouldOptimize to give user a chance to override to provide their own optimization decision.
      • (Grids) Keeps the column orders and width for GroupTable after grouping/ungrouping.
      • (Grids) Fixed the exporting to excel error in the cell span or the nested header situation. See the bug report here.
      • (Grids) Added one more exportToSheet method to include columnNameConverter in HssfTableUtils.
      • (Grids) Fixed the sortRanges is not considered when the row is updated.
      • (Grids) Fixed the issue that row height resize didn't consider the inter cell space. See the bug report here.
      • (Pivot) Fixed the issue that dragging grouping column does not trigger aggregating.
      • (Pivot) Fixed changing the value in the row header causes the row header table to shrink when the row header only has one column.
      • (Pivot) Fixed the issue that setting cell style will cause inconsistent row height on various height situation . See the bug report here.
      • (Pivot) Fixed the extra caching causing the performance regression in calculate() method. See the bug report here.
      • (Pivot) Fixed the issue that removing row fields caused inconsistent width between ColumnHeaderTable and DataTable. See the bug report here.

      March 4, 2009 - 2.5.5  ()

      Bug Fixes

      • (Common) Fixed check box shifts when the row is selected in CheckBoxList.
      • (Common) Fixed CCE when the completionList is not a List of String. See the bug report here.
      • (Components) Added a flag to SecurityUtils to disable translucent window feature used by Alert fade animation. See the bug report here.
      • (Components) Added a flag to SecurityUtils to disable translucent window feature used by Alert fade animation. See the bug report here.
      • (Components) Fixed overriding customizeButton to change the button style doesn't keep the style when the buttons are hidden to the buttom panel then shown again.
      • (Dashboard) Fixed the issue that change dashboard background does not change its sub panels. See the bug report here.
      • (Dashboard) Added settings save/load API for dashboard. See the enhancement request here.
      • (Dashboard) Added createDashboard method to DashboardHolder. See the enhancement request here.
      • (Dock) Fixed the extra gripper issue when setTabDockedAllowed(false) is called. See the bug report here.
      • (Dock) Added dispose method to DockableHolderPanel etc.
      • (Dock) Fixed recursively calls when the dockable frame is transient and the close action is set to CLOSE_ACTION_TO_REMOVE.
      • (Dock) Choose an appropriate outline mode based on the system setting in DefaultDockingManager.
      • (Dock) Fixed the selected index is -1 in FrameContainer. See the bug report here.
      • (Editor) Fixed the timer for the blinking caret is not stopped when the CodeEditor is removed. See the bug report here.
      • (Grids) Fixed the preferred size of non-editable AbstractComboBox is not changed when the font is changed. See the bug report here.
      • (Grids) Fixed javadoc that says HssfTableUtils still use ContextSensitiveTableModel. See the bug report here.
      • (Grids) Provided context sensitive value converter. See the enhancement request here.
      • (Grids) Paints the focus indicator on the HierarchicalTable to cover teh whole cell if the margin background is not painted.
      • (Grids) Added auto resize row to the demo.
      • (Grids) Fixed the selection+1 error in row insertion scenario.
      • (Grids) Added more...menu item to show or hide columns in a dialog. See the enhancement request here.
      • (Grids) Save sortabletable preference using identifier.
      • (Grids) Added a converter for the column name in TableUtils' export and exportToSheet method.
      • (Grids) Provided auto resize rows API. See the enhancement request here.
      • (Grids) Made the selection move to its first visible ancient row in collapse event in TreeTable.
      • (Grids) Fixed TreeTable#expandAll doesn't keep the selection. See the bug report here.
      • (Pivot) Fixed the issue that filter header wrong after aggregate table group/ungroup.
      • (Pivot) Fixed the issue that applying filter causes column re-order.
      • (Pivot) Made the grand total configurable in header table context menu. See the enhancement request here.
      • (Pivot) Added extra gap between the data FieldArea and the row FieldArea when setShrinkDataFieldArea(false) is called. See the bug report here.

      February 25, 2009 - 2.5.4  ()

      Bug Fixes

      • (Common) Use the selected component as event source.
      • (Common) remove call to setFocusable(false) in JidePopup.
      • (Common) Fixed the tab area background is too bright in SHAPE_BOX JideTabbedPane. See the bug report here.
      • (Common) Added code to prevent possible NPE in rotateInsets. See the bug report here.
      • (Common) Fixed NPE in LookAndFeelFactory#isLnfInUse. See the bug report here.
      • (Common) Fixed a bug in isLnfInUse in LookAndFeelFactory. See the bug report here.
      • (Common) Added a new method prototype for getOverlayImageIcon.
      • (Component) Fixed the emphasized and non-emphasized collapsible pane looks similar. See the bug report here.
      • (Component) Fixed alert doesn't stop fading when the mouse is rollover on Windows and JDK6.
      • (Component) Fixed the DocumentPane always close the active tab no matter which close button is clicked. See the bug report here.
      • (Dashboard) Got rid of the tooltips on DashobardTabbedPane. See the bug report here.
      • (Dashboard) Fixed the issue that setTitle does not really change the display. See the bug report here.
      • (Dashboard) Fixed NPE in Dashboard.
      • (Dashboard) Fixed so that the buttons on the palette are added/removed automatically when the corresponding Gadget is added to or removed from the GadgetManager. See the bug report here.
      • (Dock) Fixed focus problems related to nested dockingmanagers.
      • (Dock) Fixed clicking in Workspace of a nested docking manager somtimes doesn't change the focused component to the one in Workspace.
      • (Dock) Fixed reset causing the frame to be hidden in Visual Designer.
      • (Dock) Fixed the titleLabelComponent's height is not considered. See the bug report here.
      • (Dock) Fixed possible NPE in DockableFrameMouseInputAdapter. See the bug report here.
      • (Dock) Fixed so that DockableFrame doesn't request focus if the focusComponent is in another DockingManager's DockableFrame or Workspace.
      • (Dock) Fixed IAE when doing a reload after removeAllFrames. See the bug report here.
      • (Dock) Fixed the wrong frame is maximized if the one to be maximized is not the active frame. See the bug report here.
      • (Dock) Fixed floating frames overlap when they don't have undockedBounds initiaized before resetToDefault. See the bug report here.
      • (Dock) Fixed maximized frame is not persisted in the layout. See the bug report here.
      • (Dock) Fixed wrong component is refocused after switching out of the application when there are two DockingManagers.
      • (Dock) Fixed NPE in isValidTargetComponent when the DockableFrame has no parent.
      • (Dock) Fixed ClassNotFoundException for HSSFCell because a statis memeber in HSSFTableUtils when isHssfInstalled is called.
      • (Grids) Fixed ColorCellRenderer etc combobox based renderer has a border under Aqua L&F.
      • (Grids) Fixed the AbstractComboBox#getBaseline method return the wrong value. See the bug report here.
      • (Grids) Fixed so that ENTER key will trigger the default button in the RootPane.
      • (Grids) Made popuppanels focus traversable and added default button support.
      • (Grids) Fixed ToolTipSupport doesn't work with AutoFilterTableHeader. See the bug report here.
      • (Grids) Fixed extra inserstion event is fired in BasicTableModel#addObjects.
      • (Grids) Add generic to BeanTableModel.
      • (Grids) Clear the cache before calling super.tableChanged to avoid the wrong cache is being used.
      • (Grids) Added parameter restriction between rows and colors. See the bug report here.
      • (Grids) Fixed the issue that rows/columns input by customers don't take effect. See the bug report here.
      • (Grids) Fixed the none button is set as the selected item.
      • (Grids) Added back shouldBeFiltered() series so that performance and back-compatibility is kept.
      • (Grids) Fixed DateComboBox's now and none button has to be clicked twice to make it working when time display is on. See the bug report here.
      • (Grids) Fixed the inserted rows are not visible when JideTable#setRowAutoResizes(true). See the bug report here.
      • (Grids) Fixed so that we will not check FilterableTabelModel#isFilteringPaused in SortableTableModel#isSortingPaused.
      • (Grids) Fixed the exception caused by broken Expandable.getAllVisibleChildrenCount.
      • (Grids) Fixed the issue the auto searchable failed to locate the right matchable row after sorting.
      • (Grids) Fixed NPE in setFilterItems method when the TableCustomFilterEditor is not displayed. See the bug report here.
      • (Grids) Added cache for properties inside BasicTableModel to make getPropertyAt faster.
      • (Grids) Improve the performance of filter algorithm and provide the APIs .
      • (Grids) Added createFilter methods to FilterFactoryManager. See the enhancement request here.
      • (Grids) Added set/getExpansionState to restore the property expansion state after the PropertyTableModel is recreated.
      • (Grids) Enable the customer to add or delete predefined menu items in MenuCustomizers. See the enhancement request here.
      • (Pivot) Fixed the column name got a column index. See the bug report here.
      • (Pivot) Added HeaderBox.background so that it changes when window display property changes.
      • (Pivot) Fixed AbstractMethodError in HeaderTable using JDK5.
      • (Pivot) Fixed the dataTable sorting conflict with headerTable sorting issue. See the bug report here.
      • (Pivot) Fixed the issue that setting field areas invisible contiguously will not take effect. See the bug report here.
      • (Pivot) Fixed the exception bug if the customer use PivotDataSource instead of TableModel as an input. See the bug report here.
      • (Pivot) Fixed the GrandTotalValues sorting issue. See the bug report here.
      • (Pivot) Improve the filter menu items. See the enhancement request here.
      • (Pivot) Enhance the column order keeping mechanism while grouping/ungrouping/hiding/showing. See the enhancement request here.
      • (RSS) Changed displayHtmlBrowser to take ItemIF as parameter and make the method be repsonsible for both the title and the link. See the bug report here.
      • (Shortcut) Added setCommandDescirption etc methods to allow you to set description for each command. See the enhancement request here.

      February 12, 2009 - 2.5.3

      Bug Fixes

      • (Common) Fixed a bug in LookAndFeelFactory#isLnfInUse. See the bug report here.
      • (Components) Do not use JDKu10's translucent feature on Linux for fading animation as it doesn't seem working. See the bug report here.
      • (Components) Fixed emphasized CollapsiblePane is not obvious on Xerto. See the bug report here.
      • (Dashboard) Fixed NPE in GadgetManager#showGadget. See the bug report here.
      • (Dock) Fixed a DockableFrame is not activated if clicking on non-focus component in the DockableFrame.
      • (Dock) Fixed the DockableFrame floating size is wrong.
      • (Dock) Fixed autohide frame cannot be shown.
      • (Dock) Fixed the wrong frame is activated when a dialog is dismissed.
      • (Dock) Fixed the floating frame size is not kept when the FloatingContainer is decorated. See the bug report here.
      • (Dock) Fixed possible NPE because getRootPaneContainer is null. See the bug report here.
      • (Dock) Fixed F6 doesn't go to the next frame correctly when there are two or more floating containers.
      • (Dock) Fixed options dockable frame cannot be activated in the JideDemos.
      • (Dock) Added setLayoutConstraint to Workspace to allow user to control the resize behavior of Workspace with other DockableFrames.
      • (Editor) Added scope option to Find and Replace dialog. See the enhancement request here.
      • (Grids) Enhanced the preference saving and loading table preference using TableUtils.getTablePreferenceByName/setTablePreferenceByName to keep right column orders and changed the saved preference string which is back-compatible. See the enhancement request here.
      • (Grids) Fixed after showing the popup, changing some value int the editor of an AbstractComboBox and press ENTER doesn't commit correctly.
      • (Grids) Improve the group performance in DefaultGroupTableModel by sorting first. See the enhancement request here.
      • (Grids) Do not use initTable but use private initializeTable to avoid overriding a method which is called in constructors.
      • (Grids) Fixed the sort error while sorting on non-group columns in aggregate table. See the bug report here.
      • (Grids) Added an option to append or insert at the beginning when row is inserted.
      • (Grids) Added a "reset to default" menu item to reset the columns and orders.
      • (Grids) Fixed so that the renderer and editor specified in Property is only used for the second column.
      • (Pivot) Fixed custom summary is not shown in the AggregateTablePopupMenuCustomizer popup menu and field setting combobox. See the bug report here.
      • (Pivot) Fixed CCE using JDK5 because of the ExpandMouseListener.
      • (Pivot) Fixed the color of the header tables and the field boxes don't update when the display theme is changed on XP.

      February 7, 2009 - 2.5.2

      Bug Fixes

      • (Action) Fixed the command bar title is set to untitled in CommandBar. See the bug report here.
      • (Action) Added protected createDockableBarManager method. See the bug report here.
      • (Action) Fixed toggling dockable bar available/unavailable makes the dockable bar goes to the end of the next row. See the bug report here.
      • (Common) Added traceFocus(true) to use a red border to track focus.
      • (Common) Fixed extra space at converter_nl.properties causing BooleanComboBox doesn't work when user types in the boolean string directly.
      • (Common) Fixed getLineHeight() in JideSwingUtilities (removed the use of getAscent()).
      • (Common) Fixed recursive call in getOutermostRootPane (the previous change is overridden by mistake).
      • (Dock) Fixed NPE when dropping a DockableFrame to divider. See the bug report here.
      • (Dock) Revoked a change in 2.5.1 so that docked event still fires when dragging around while in the docking state. See the bug report here.
      • (Dock) Fixed dragging the tab of a dockable frame to another docking manager causes the other tabs disappear.
      • (Dock) Fixed some focus related problems.
      • (Dock) Fixed saveLayoutDataToFile doesn't create the path if the path doesn't exist.
      • (Editor) Fixed styled label confusion issue.. See the bug report here.
      • (Grids) Added setPopupCancelBehavior to AbstractComboBox.
      • (Grids) Fixed ToolTipSupport does not work with AggregateTableModel. See the bug report here.
      • (Grids) Added setTitleConverter to allow the title conversion.
      • (Grids) Added setInvalidValueAllowed method to DateComboBox to allow user typing invalid value in the DateComboBox without resetting it. See the enhancement request here.
      • (Grids) Enhance the filtering logic of tree table..
      • (Grids) Fixed the issue that children nodes was filtered while keepParentNode was false..
      • (Grids) Added setGroupableColumns toGroupTablePopupMenuCustomizer. See the bug report here.
      • (Pivot) Added select header then filter feature.
      • (Pivot) Fixed the expansion state is not detected correctly in the HeaderTable. See the bug report here.

      February 2, 2009 - 2.5.1

      Bug Fixes

      • (Action) Fixed the command bar title is set to untitled in CommandBar. See the bug report here.
      • (Common) Fixed the BalloonTip won't show inside JInternalFrame. See the bug report here.
      • (Common) Added expand() and collapse() methods to JideSplitPaneDivider. See the enhancement request here.
      • (Common) Fixed the menu icon is not centered on the popup menu.
      • (Components) Fixed the disabled tab is enabled again after adding more tabs.
      • (Dashboard) Added isPaletteVisible to DashboardTabbedPane. See the enhancement request here.
      • (Data) Fixed possible divide by zero error in PageNavigationBar.
      • (Dock) Fixed too many activated event is fired on DockableFrame. See the bug report here.
      • (Dock) Fixed the floating dockable frame is always on top of the floating command bar. See the bug report here.
      • (Dock) Added DockingManagerGroup to ensure only one dockable frame can be activated at a time if you use several DockingManagers in the same application.
      • (Editor) Fixed all markers in the editor disappear for the currently active line if setLineHighlight(true) is set for the editor.
      • (Grids) Added notifyUser method to AbstractComboBox so that you can override it to prevent it from beeping when commiting an invalid edit.
      • (Grids) Fixed the IllegalArgumentException in ExpressionCalculatedColumn. See the bug report here.
      • (Grids) Fixed the extra events are fired in TableSelectionModel in non-configuous selection mode. See the bug report here.
      • (Grids) Added DefaultTableColumnWidthKeeper to keep the table column width after tableStructureChanged event fired.
      • (Grids) Fixed the sort arrow is not dragged along with the header in SortableTable.
      • (Grids) Fixed show a hidden column doesn't put it back at its position when hidden. See the bug report here.
      • (Grids) Fixed the TableColumnChooser problem with GroupTable when grouping columns. See the bug report here.
      • (Grids) Fixed the row sizes changed in TableScrollPaneDemo when sorting.
      • (Grids) Fixed the tree line is drawn on top of the tree icon in TreeTable.
      • (Pivot) Made AggregateTable uses PivotField#isExpandable to show/hide the +/- icon. See the bug report here.
      • (Pivot) Fixed the column width is shrink in the header table of AggregateTablePane when table data is changed.
      • (Pivot) Added setShowFilterIcon to PivotTablePane so that the field boxes will display a filter icon when the particular field has a filter. See the enhancement request here.
      • (Pivot) Added createCustomFilterEditor method for FieldBox. See the bug report here.
      • (Pivot) Made fieldsUpdated, rowFieldsUpdated etc. methods thread safe so you can call them in a worker thread to improve the performance. See the bug report here.
      • (Pivot) Fixed potential NPE in FieldBoxInputListener.dragging when having CornerTable in PivotTablePane.

      January 23, 2009 - 2.5.0

      Bug Fixes

      • (Action) Fixed non floatable command bar cannot be dragged to reposition. See the bug report here.
      • (Common) Fixed BannerPanel cannot be shrunk once resizing wider.
      • (Common) Fixed a minimum size issue on DefaultOverlayable. See the bug report here.
      • (Common) Fixed NPE in Searchable.hidePopup when the layered pane is null.
      • (Common) Added setLnfInstalled LookAndFeelFactory so that it doesn't try to instantiate the L&F class.
      • (Data Grids) Fixed LIKE filter is only used for String column. See the bug report here.
      • (Data Grids) Fixed inserting row doesn't reflect in PageTableModel. See the bug report here.
      • (Dock) Fixed double click on the tab doesn't trigger undo event in Docking Framework. See the bug report here.
      • (Dock) Fixed many focus related issues in Docking Framework. See the bug report here.
      • (Dock) Deprecated many methods in DockingManager to make the API more consistent, such as using frameKey all the time intead of using DockableFrame, deprecated some methods that shouldn't be public.
      • (Dock) Fixed double title bar problem using Synthetica L&F in floating dockable frame. See the bug report here.
      • (Dock) Do not fire extra dockable frame TAB_SHOWN events during loading layout. See the bug report here.
      • (Dock) Fixed setProfileKey on LayoutPersisentManager doesn't apply to all LayoutPersistences in it. See the bug report here.
      • (Editor) Fixed painting performance issue because of the usage of setXORMode.
      • (Editor) Fixed PatternSyntaxException when finding slash. See the bug report here.
      • (Editor) Fixed match whole word option not working in find/replace dialog. See the bug report here.
      • (Editor) Fixed find history is not set correctly in the history combobox. See the bug report here.
      • (Editor) Fixed the find dialog doesn't know to rewind if nothing is found from the caret to the end of the document even when the search is global. See the bug report here.
      • (Grids) Added setShowFilterNameAsToolTip to AutoFilterTableHeader.
      • (Grids) Added support for minimum width for each columns in AutoResizePopupMenuCustomizer . See the bug report here.
      • (Grids) Use getDialogOKAction in CheckBoxListComboBox .
      • (Grids) Added createValueEditor method and createCustomFilterEditor method to TableCustomFilterEditor to to make it possible to customize ValueEditor in CustomFilterEditor. See the enhancement request here.
      • (Grids) Fixed ESC doesn't reset the value in DateComboBox when the popup is shown. See the bug report here.
      • (Grids) Fixed NPE in EditableTableHeader$d_.propertyChange() because no mouse pointer. See the bug report here.
      • (Grids) Fixed rowUpdated event doesn't invalidate the filter cache in FilterableTableModel. See the bug report here.
      • (Grids) Fixed concurrent exception in GroupTable. See the bug report here.
      • (Grids) Fixed row height issue when swapping rows in HierarchicalTable. See the bug report here.
      • (Grids) Do not add cell span if the cell span is empty when exporting to Excel in HssfTableUtils.
      • (Grids) Fixed the table scrolls to top when dragging columns. See the bug report here.
      • (Grids) Added setMonthFormatter to MonthChooserPanel. See the enhancement request here.
      • (Grids) Made ListComboBox.ListRendererComponent, ListComboBox.ListEditorComponent and the method ListComboBox.registerNavigationKeys(EditorComponent, JComponent) protected access. See the enhancement request here.
      • (Grids) Added setAggregatableColumns to AggregateTablePopupMenuCustomizer. See the bug report here.
      • (Grids) Fixed component orientation is not considered in JideTable cells.
      • (Grids) Fixed performance problem in TableColumnChooser when there are many columns.
      • (Grids) Added javadoc to SortableTable to indicate we use combobox as the editor for boolean data type which is different from regular JTable. See the bug report here.
      • (Grids) Fixed fireTableDataChanged doesn't update the SortableTableModel correctly. See the bug report here.
      • (Grids) Fixed IllegalArgumentException when save/load table preference when the model is changed in the middle. See the bug report here.
      • (Grids) Fixed the painting issue in the first column of TreeTable. This is a regression in 2.4.8. See the bug report here.
      • (Grids) Fixed setExpandableColumn(0) has no effect in TreeTable. See the bug report here.
      • (Grids) Fixed findFilterFactoryByName still uses the default instance of FilterFactoryManager.
      • (Grids) Fixed getCellClassAt is not used when wrapped in DefaultGroupTableModel.
      • (Pivot) Fixed the home key is not mapped to move the the begining of the row in PivotTablePane.
      • (Pivot) Added setExpandByDefault to PivotDataModel so that we don't always expand by default.
      • (Pivot) Added setSubtotalLocation method to PivotField to control if the subtotals appear before or after the values.
      • (Pivot) Made read/write table element public in PivotTablePersistenceUtils so that tables can easily be embedded inside composite documents.
      • (Shortcut) Fixed NPE of ShortcutField on Mac. See the bug report here.

      December 23, 2008 - 2.4.8

      Bug Fixes

      • (Components) Uses JDK6u10's translucent window to implement the Alert fading effect. See the bug report here.
      • (Editor) Fixed painting issue when there is folding in CodeEditor.
      • (Grids) Fixed dragging the AutoFilterTableHeader column causes the wrong values shown in the drop down.
      • (Grids) Fixed AutoFilterTableHeader doesn't support ToolTipSupport.
      • (Grids) Fixed BeanTableModel doesn't set the BeanProperty's editable property correctly when there is no setter. See the bug report here.
      • (Grids) Fixed the cell is painted off one pixel in TreeTable. See the bug report here.
      • (Grids) Fixed the cell is not painted correctly when the background color has alpha value.

      December 19, 2008 - 2.4.7  ()

      Bug Fixes

      • (Common) Removed extra gap on the left side of Eclipse JideTabbedPane.
      • (Common) Added Shift-F10 (configurable using setContextMenuKeyStroke method) to bring up the context menu for LabeledTextField. See the bug report here.
      • (Common) Made the icon buttons in ICON_STYLE not focusable. See the bug report here.
      • (Common) Fixed the Searchable freezes when hebrew char is typed. See the bug report here.
      • (Components) Added start() to MemoryStatusBarItem. See the bug report here.
      • (Components) Added setChevronVisible to OutlookTabbedPane.
      • (DataGrids) Added setColumnMapping method to DatabaseTableModel so that it works when SELECT statement has AS.
      • (Dock) Added HW_TRANSPARENT_OUTLINE_MODE and HW_OUTLINE_MODE as two new outline mode to use JDK6u10 transparent window feature to show the dragging outline in Docking Framework.
      • (Dock) Added setButtonsOrder method to DockableFrame. See the bug report here.
      • (Dock) Added shouldVetoRemoving method to DockableFrame to veto removeFrame. See the bug report here.
      • (Editor) Added protected createCodeEditorPainter method to CodeEditor.
      • (Editor) Fixed getLanguageSpecs doesn't return the correct LanguageSpecs in LangaugeSpecManager. See the bug report here.
      • (Grids) Fixed exception when grouping the last column of AggregateTable. See the bug report here.
      • (Grids) Fixed column index conversion issue on AutoFilterTableHeader. See the bug report here.
      • (Grids) Fixed it so that the AutoFilterBox and QuickFilterPane use the registered comparator in ObjectComparatorManager to sort the value. See the bug report here.
      • (Grids) .
      • (Grids) Moves the item from the left to the selected row in the right list in DualList.
      • (Grids) Fixed bug in FilterableTableModel when row inserted with 0 to 10 but only 0 should be inserted because all other rows are filtered.
      • (Grids) Fixed the AutoFilterTableHeader not working with GroupTable. See the bug report here.
      • (Grids) Fixed IAE in GroupList when removing element. See the bug report here.
      • (Grids) Do not allow grouping the last ungrouped column in GroupTablePopupMenuCustomizer. See the bug report here.
      • (Grids) Fixed UI hangs when pressing enter in non-configuous cell selection mode. See the bug report here.
      • (Grids) Fixed the tab key doesn't make the cell editor focus.
      • (Grids) Fixed focus issue and NPE when editing a cell in JideTable. See the bug report here and here.
      • (Grids) Added scrolling support when dragging the column in the table header. See the bug report here.
      • (Grids) Fixed exception when sorting a column and removed it in TreeTable. See the bug report here.
      • (Grids) Expose createFilterFactoryManager as a protected method on TableCustomFilterEditor to give user a chance to override.
      • (Grids) Fix CCE in GroupTable. See the bug report here.
      • (Grids) Fixed the cell doesn't paint fully in TreeTable. See the bug report here.
      • (Grids) Added respectRenderPreferredHeight flag to TreeTable.
      • (Pivot) Added expand/collapse menu item for the row and column in PivotTablePane's context menu. See the bug report here.
      • (Pivot) Added support to drag field to the table area to drop the field.
      • (Synthetica) Fixed nested table header doesn't look right on Synthetica.
      • (Synthetica) Fix CCE in SyntheticaJidePainter when casting to Jbutton.

      December 4, 2008 - 2.4.6

      Bug Fixes

      • (Action) Fixed CommandBar title color is too dark on Vista.
      • (Action) Fixed background not painted after update UI on CommandBar.
      • (Common) Fixed a possible stack overflow exception in JideSwingUtilities#setOpaqueRecursively.
      • (Common) Fixed CCE at drawGradient of MetalPainter.
      • (Common) Added additional converters for primitive array types.
      • (Common) Added updateCheckBoxState method to CheckBoxTreeCellRenderer. See the bug report here.
      • (Common) Fixed setLocaleRecursively not working for non-JComponent.
      • (Components) Fixed unpainted area in MemoryStatusBarItem.
      • (Components) Fixed tooltip not showing is setCollapsible(false) is called.
      • (DataGrids) Fixed AutoFilterTableHeader doesn't work with DatabaseTableModel.
      • (Dock) Added catch exception around getComponentAfter in DefaultDockingManager.
      • (Dock) Fixed the extra frame decoration in Docking Framework. See the bug report here.
      • (Dock) Fixed initial layout doesn't consider setTabDockAllowed setting. See the bug report here.
      • (Dock) Fixed dragAllTabs flag is not respected when dragging across different docking managers. See the bug report here.
      • (Dock) Fixed maximize a dockable frame doesn't keep the focus.
      • (Dock) Fixed title bar buttons not updated correctly when setAvailableTitleBarButtons is called.
      • (Dock) Fixed floating frames are hidden after switching L&F to Synthetica. See the bug report here.
      • (Editor) Fixed the caret is not moved to the end of the string after pasting with clipboard dialog.
      • (Editor) Removes the highlights when highlight button is unselected on a SearchableBar for CodeEditor.
      • (Grids) Fixed column index conversion problem when using AutoFilterTableHeader with user defined table column model.
      • (Grids) Added getColumnName to AutoResizePopupMenuCustomizer so that you can override to provide your own string that will be displayed. See the bug report here.
      • (Grids) Optimized the performace of cell span caching. See the bug report here.
      • (Grids) Fixed cell span caching doesn't consider the model/view column difference in CellSpanTable. See the bug report here.
      • (Grids) Fixed the selected item is wrong when the CheckBoxList is in the middle of filtering.
      • (Grids) Fixed none button selects today's date and time when using DateCellEditor with time displayed. See the bug report here.
      • (Grids) Fixed NPE in several built-in Filters such as GreaterThanFilter when the input value is null. See the bug report here.
      • (Grids) Add hasFilter(columnIndex) method to IFilterableTableModel and use it to determine if a filtering is necessary when cell updated event is fired.
      • (Grids) Added additional FilterFactories for primitives.
      • (Grids) Fixed IllegalArgumentException after removing items from the GroupList. See the bug report here.
      • (Grids) Fixed row validation is not called when table loses focus.
      • (Grids) Fixed nested table header is not updated if it was set on fly after the table is created. See the bug report here.
      • (Grids) Support column added/removed/moved in JideTable in non-contiguous selection mode doesn't keep the selection.
      • (Grids) Fixed AIOOBE after hiding a column and select all then copy in a non-configuous mode JideTable.
      • (Grids) Fixed clicking on the cell editor causing the wrong component having focus.
      • (Grids) Fixed MonthComboBox doesn't update the text when keyboard is used and doesn't select when enter.
      • (Grids) Fixed AIOOBE in cacheComparator of SortableTableModel. See the bug report here.
      • (Grids) Fixed tableStructureChanged event is not propagated. See the bug report here.
      • (Grids) Fixed the more column button is not added back when setSortItems is called in TableSortItemEditor. See the bug report here.
      • (Grids) Removes extra class field in TextFieldCellEditor. See the bug report here.
      • (Grids) Fixed the first column in TreeTable displayed the wrong value. See the bug report here.
      • (Grids) Fixed tree table vertical line is not painted correctly when the row height is tall. See the bug report here.
      • (Grids) Fixed setting collapse/expand icon doesn't work as the expandable panel caches it. See the bug report here.
      • (Grids) Fixed expandFirstLevel doesnt' behave correctly. Added expandNextLevel and collapseLastLevel two methods to TreeTable and TreeTableModel. See the bug report here.
      • (Grids) Fixed hide a column then do show all columns causing exception.
      • (Grids) Fixed so that last column can not be hidden.
      • (Pivot) Limited the summary type in the summary combobox of the field setting dialog to the applicable summaries only. See the bug report here.
      • (Pivot) Fixed the font of the FieldBox is not the same as that of Jlabel under certain L&Fs (such as Plastic).
      • (Pivot) Fixed the name of the cell is wrong in the context menu on the row HeaderTable of PivotTablePane. See the bug report here.
      • (Pivot) Fixed the subtotal values are wrong in PivotTablePane.
      • (Pivot) Fixed the cell value is not correctly formatted. See the bug report here.
      • (Pivot) Fixed column and row header didn't use converter. See the bug report here.
      • (Pivot) Fixed the sort arrow is displayed incorrectly after setAscending is called. See the bug report here.
      • (Synthetica) Supports Simple2DL&F from Synthetica.
      • (Synthetica) Fixed nested table header doesn't look right on Synthetica.

      November 3, 2008 - 2.4.5

      Bug Fixes

      • (Grids) Fixed Stack overflow exception in CustomFilterEditor.
      • (Common) Fixed CheckBoxTree still keeps the old tree path when the path is filtered away.

      October 31, 2008 - 2.4.4  ()

      Bug Fixes

      • (Common) Fixed DefaultWildcardSupport is not serializable.
      • (Common) Fixed NegativeArraySizeException when the style text is empty. See the bug report here.
      • (Component) Fixed the FloorTabbedPane buttons are not opaque. See the bug report here.
      • (Dialogs) Fixed the size of the step panel is not resized correctly in WizardDialog. See the bug report here.
      • (Dock) Fixed closing title bar close button only closes one dockable frame. See the bug report here.
      • (Dock) Fixed the content of the dockable frame is missing when loading layout on fly. See the bug report here.
      • (Dock) Uses requestFocusInWindow instead of requestFocus in Workspace and JideSwingUtilities.compositeRequestFocus. See the bug report here.
      • (Editor) Fixed replace is not working in CodeEditor when doing backward search.
      • (Editor) Fixed SearchableBar highlight button doesn't highlight the occurences. See the bug report here.
      • (Editor) Fixed CodeEditorDocumentPaneFindAndReplaceTarget causing NPE. See the bug report here.
      • (Editor) Added GroovyTokenMarker.
      • (Grids) Fixed other AutoFilter drop down list is not hidden when showing a new drop down.
      • (Grids) Fixed NullPointerException in PropertyTable on JDK1.4. See the bug report here.
      • (Grids) Fixed DateCellEditor's data type issue to support the Date or Calendar or sql Data and sql Time. See the bug report here and here.
      • (Grids) Fixed exception when using FilterableTableModel.setFilteringPause(false). See the bug report here.
      • (Grids) Fixed a possible AIOOBE in FilterableTableModel.
      • (Grids) Added findFilterFactoryByName so that we can find the FilterFactory. See the enhancement request here.
      • (Grids) Fixed the focus issue when using FontCellEditor. See the bug report here.
      • (Grids) Fixed the table doesn't grab focus when the table stops editing. See the bug report here.
      • (Grids) Fixed readonly AbstractComboBox cell editor doesn't have focus when starts editing. See the bug report here.
      • (Grids) Fixed MultilineStringCellEditor to support editing multiple directly without bringing up the dialog by using "\n". See the bug report here.
      • (Grids) Fixed OutlookTabbedPane expected behaviour different from MS Outlook. See the bug report here.
      • (Grids) Fixed row validator is called always twice. See the bug report here.
      • (Grids) Fixed the sort event is not fired correctly in optimized mode SortableTableModel. See the bug report here.
      • (Grids) Fixed TableColumnChooser "Show All Hidden Columns" doesn't work correctly when using it with TableScrollPane. See the bug report here.
      • (Grids) Fixed TableColumnChooserPopupMenuCustomizer with fixed columns still shows hide column menu item. See the bug report here.
      • (Grids) Fixed possible TableComboBox ArrayIndexOutOfBoundsException when the table is empty.
      • (Grids) Fixed the Add to List button not working in TableCustomFilterEditor if overriding getColumnName.
      • (Grids) Fixed the width issue of the combobox in CustomFilterEditor.
      • (Grids) Fixed changing the column name in TableCustomFilterEditor causing the top level window size change.
      • (Grids) Fixed entering value directly to the value combobox in TableCustomFilterEditor causing ClassCastException.
      • (Grids) Added TreeModelWrapperUtils. See the bug report here.
      • (Grids) Fixed expanding TreeTable causing the vertical scroll bar position changing. See the bug report here.
      • (Pivot) Fixed AggregateTable fireTableStructureChanged impacting summation. See the bug report here.
      • (Pivot) Fixed AggregateTable.setModel erases the AggregateTableModel. See the bug report here.
      • (Pivot) Disable some summaries if the type is not allowed in AggregateTable. See the bug report here.
      • (Pivot) Made Summary rows not editable in AggregateTable.
      • (Pivot) Added setSummaryMode method to AggregateTableModel.
      • (Pivot) Fixed subtotal rows are not displayed in AggregateTableModel.
      • (Pivot) Automatically find out the depending columns in ExpressionCalculatedColumn. See the bug report here.
      • (Pivot) Fixed autoResize column doesn't consider the field box width in PivotTablePane.
      • (Pivot) Fixed PivotField setDescription doesn't change the tooltip on the FieldBox. See the bug report here.
      • (Pivot) Added setCustomFilerEndabled method to PivotField to enable/disable custom filtering option. See the bug report here.
      • (Pivot) Fixed hide column menu item shouldn't be shown when right clicking on the header table on the data fields. See the bug report here.
      • (Pivot) Fixed the grand total display the wrong summary in PivotTablePane.
      • (Pivot) Fixed data source is not set when calling PivotDataModel#setDataSource.
      • (Shortcut) Fixed ShortcutField hasa bug when using the Command key. See the bug report here.

      October 14, 2008 - 2.4.3

      Bug Fixes

      • (Action) Added a new client property DockableBarManager.CLIENT_PROPERTY_SUPPRESS_CONTEXT_MENU. If set to Boolean.TRUE, right clicking on the component will not show the default context menu.
      • (Common) Fixed the owner is not refocused in JidePopup when it is hidden. See the bug report here.
      • (Dashboard) Fixed the NPE if createGadgetComponent returns null.
      • (Dock) Fixed mouse dragging causing an outline not repainted in Docking Framework.
      • (Grids) Fixed dragging the column causing the wrong columns aggregated.
      • (Grids) Fixed the AggregateTable doesn't update the rows correctly when using AutoFilterTableHeader. See the bug report here.
      • (Grids) Fixed Add/Remove Subtotals caused duplicated subtotals in AggregateTable. See the bug report here.
      • (Grids) Fixed the span grid not painted when the column is hidden in CellSpanTable.
      • (Grids) Added focusCellStyle to CellStyleTable. See the bug report here.
      • (Grids) Fixed the performance issue in FilterableTreeTableModel.
      • (Grids) Fixed month chooser panel spinner not editable in MonthChooserPanel.
      • (Grids) Changed from Object[] to TableColumn[] in getTableColumnGroups method of NestedTableHeader. See the bug report here.
      • (Grids) Fixed getAllHiddenColumns returns the wrong columns.
      • (Grids) Fixed overriding getColumnName causing the condition combobox not showing in TableCustomFilterEditor.
      • (Grids) Fixed NPE when right clicking outside of the column header when TableHeaderPopupMenuInstaller. See the bug report here.
      • (Grids) Fixed the vertical scrool bar reset in because TableScrollPane. See the bug report here.
      • (Pivot) Fixed the custom grand total is not correct in PivotTablePane when setCustomSummary is called. See the bug report here.
      • (Pivot) Clear custom check box when selecting other values in PivotTablePane.

      October 10, 2008 - 2.4.2

      Bug Fixes

      • (Common) Fixed the tooltip for refresh button is wrong. Added F5 key to refresh the folder. See the bug report here.
      • (Components) Diable close all or close others when none of the documents are closed and all other documents are not close respectively. See the bug report here.
      • (Dock) Fixed problem with nestedFloatingAllowed==false in DefaultDockingManager. See the bug report here.
      • (Dock) Fixed floating frame moves when resetToDefault under VSNET_STYLE in Docking Framework. See the bug report here.
      • (Dock) Fixed the outline shows on the wrong JFrame when dragging a floating dockable frame over workspace area of a JFrame. See the bug report here.
      • (Editor) Fixed NPE when CodeEditor#setText(null) is called.
      • (Editor) Call clearSelection instead of setting the index to -1 which causes exception later on when using CodeSearchable.
      • (Editor) Added createSearchable method to CodeEditor.
      • (Grids) Fixed wrong cell renderer is returned in certain cases in ContextSensitiveTable.
      • (Grids) Fixed CustomFilterEditor didn't set the value field visible/invisible correctly.
      • (Grids) Added code to keep millisecond value if the format contains the millisecond portion.
      • (Grids) Make the renderer to be vertically center aligned in ExpandablePanel.
      • (Grids) Make Filter Serializable.
      • (Grids) Fixed grand total column is not displayed in a special case.
      • (Grids) Fixed the hidden columns were shown again after the model is reset in JideTable. See the bug report here.
      • (Grids) Supports 0 row height in JideTable.
      • (Grids) Fixed extra row validating is called.
      • (Grids) Fixed the alignment doesn't change when user tries to change the alignment in customizeTextField method of NumberCellEditor. See the bug report here.
      • (Grids) Make PopupPanel default to be not focusable.
      • (Grids) Made RegExFilter default to be case insensitive as most users expect it be case insensitive.
      • (Grids) Added getColumnName method to TableCustomFilterEditor.
      • (Grids) Fixed the span is null causing TableUtils.autoResizeAllColumns not working corrrectly.
      • (Pivot) Adjust aggregated columns when the columns are rearranged in AggregateTable. See the bug report here.
      • (Pivot) Fixed ExpressionCalculatedColumn to support refer to the newly added columns in the CalculatedTableModel.
      • (Pivot) Fixed possible missing resource exception in HeaderTableModel. See the bug report here.
      • (Pivot) Fixed the wrong indices are returned in getDataAt method of PivotDataModel when the underlying table model changes.
      • (Pivot) Added support for custom filtering in PivotTablePane.

      October 2, 2008 - 2.4.1  ()

      Bug Fixes

      • (Action) Fixed unavilable issue on DockableBarManager. See the bug report here.
      • (Components) Fixed button orientation is wrong in FloorTabbedPane.
      • (Components) Fixed minimum size of FloorTabbedPane is wrong.
      • (Dock) Fixed the heavyweight outline is not hidden when switching applications.
      • (Grids) Fixed the CustomFilterEditor size doesn't change correctly in AutoFilterTableHeader. See the bug report here.
      • (Grids) Fixed AutoResizePopupMenuCustomizer auto-resize all not working. See the bug report here.
      • (Grids) Added setConsiderVisibleRowsOnly and setConsiderTableHeader to AutoResizePopupMenuCustomizer. See the bug report here.
      • (Grids) Added Vertical/HorizontalTextPosition to CellStyle. See the enhancement request here.
      • (Grids) Fixed a NPE on CustomFilterEditor if there are no FilterFactories registered on the type of the column. See the bug report here.
      • (Grids) Fixed the copy action doesn't copy the cells but the whole rows in SortableTable. See the bug report here.
      • (Grids) Added more javadoc to FilterFactoryManager.
      • (Grids) Fixed the focus issue on MonthChooserPanel.
      • (Grids) Marked more methods and fields as deprecated on TableColumnChooser. See the bug report here.
      • (Grids) Fixed StackOverFlowError in unstallListeners of TableHeaderPopupMenuInstaller. See the bug report here.
      • (Grids) Added createRoot method to allow user to override. See the bug report here.
      • (Pivot) Fixed AggregateTablePopupMenuCustomizer doesn't work for AggregateTablePane.
      • (Pivot) Fixed memory lean when setPivotDataModel is called on PivotTablePane. See the bug report here.

      September 30, 2008 - 2.4.0

      New Product

      • (Data) Introduce JIDE Data Grids to provide the support for Database. You can find a list of major components in the new components section below. Please refer to JIDE Data Grids Developer Guide and demos for more information.

      New Components

      • (Data) PageNavigationBar: to navigate through pages in JList and Jtable.
      • (Data) DatabaseTableModel: A table model for the Database table with built-in filtering and sorting support.
      • (Data) DatabasePageTableModel: A DatabaseTableModel which supports paging.
      • (Data) HibernateTableModel: A table model for the object list created from Hibernate with built-in filtering and sorting support.
      • (Data) HibernatePageTableModel: A HibernateTableModel which supports paging.
      • (Data) DefaultPageListModel: to support paging in a ListModel.
      • (Data) DefaultPageTableModel: to support paging in a TableModel.
      • (Grids) Introduced TableCustomFilterEditor to allow an end user defining a number of filters for any table model.
      • (Grids) Introduced CustomFilterEditor to allow an end user define one filter for any table model.
      • (Grids) Enhanced AutoFilterTableheadert to use CustomFilterEditor to custom filters.
      • (Grids) Introduced TableCustomStyleEditor to allow an end user defining cell styles for each column for any table model.
      • (Grids) Introduced TableSortItemEditor to allow an end user defining sort order and ComparatorContext for each column for SortableTableModel.
      • (Grids) Introduced TableHeaderPopupMenuInstaller and TableHeaderPopupMenuCustomizer to allow customization for a table header's context menu.
      • (Grids) Introduced several TableHeaderPopupMenuCustomizers to work with TableHeaderPopupMenuInstaller. They are AutoResizePopupMenuCustomizer, TableColumnChooserPopupMenuCustomizer and SelectTablePopupMenuCustomizer for any tables, AggregateTablePopupMenuCustomizer for AggregateTable and GroupTablePopupMenuCustomizer for the GroupTable.

      Bug Fixes

      • (Action) Throws IllegalArgumentException if the key passed to methods on DockableBarManager is null. This is to prevent people using commandBar.getName() by mistake and use it as the key.
      • (Common) Added CharSequenceComparator.
      • (Common) Added DateComparator.
      • (Common) Fixed recent list is empty when bringing up the FolderChooser for the second time. See the bug report here.
      • (Common) Added refresh button to FolderChooser to manual refresh the folder structure from the disk. See the bug report here.
      • (Common) Fixed the orientation is not considered for JideButton's background.
      • (Common) Made getDropDownRect and getButtonRect protected. See the bug report here.
      • (Common) Fixed the arrow and gradient are not painted correctly on vertical JideSplitButton.
      • (Common) Moved the extra layoutContainer method is called in JideTabbedPane. See the bug report here and here.
      • (Common) Fixed SELECTED_KEY is not updated when the JideToggleButton is toggled. See the bug report here.
      • (Common) Add absolute value comparator in NumberComparator.
      • (Component) Fixed the button shown as rollover when clicked in FloorTabbedPane.
      • (Component) Added setOrientation to FloorTabbedPane to display buttons horizontally instead of vertically.
      • (Component) Use the title as the tooltip for the buttons on the bottom panel when no tooltip is specified in OutlookTabbedPane.
      • (Component) Selected the button in FloorTabbedPane for the selected tab to make it more obvious.
      • (Component) Changed from setToolTip to setToolTipText in LabelStatusBarItem (deprecated setToolTip).
      • (Component) Fixed the memory status filled area size is wrong in MemoryStatusBarItem.
      • (Dashboard) Added createGadgetComponent method to GadgetManager. See the bug report here.
      • (Designer) Fixed Visual Designer's enum combobox doesnĄ¯t work because of a bug in CacheMap.
      • (Dialogs) Fixed setCurrentPage doesn't activate the page in MultiPageDialog. See the bug report here.
      • (Dialogs) Add setStepsPaneNavigable to WizardDialog and WizardDialogPane so that user can click on the list in StepsPane to navigate. See the bug report here.
      • (Dialogs) Added createOKCancelButtonPanel to create a standard OK and Cancel button panel.
      • (Dock) Fixed the heavyweight outline is not cleared when using ALT-TAB to switch from main JFrame to other applications.
      • (Dock) Throws IllegalArgumentException if the key passed to methods on DockingManager is null. This is to prevent people using dockableFrame.getName() by mistake and use it as the key.
      • (Dock) Added the support VetoChangeListener for active property in DockingManager. See the bug report here.
      • (Dock) Fixed resetToDefault causing floating frames with tab shrinking. See the bug report here.
      • (Dock) Fixed the floating frames are tabbed together when nestedFloatingAllowed is set to false. See the bug report here.
      • (Dock) Added protected shouldNotify method to DockableFrame so that developer can determine if the notifyFrame will notify a visible dockable.
      • (Dock) Fixed divider location changes unexpectedly when rearranging a dockable frame .
      • (Dock) Fixed the nested docking manager is not set correctly when dragging a dockable frame to another docking manager.
      • (Editor) Fixed newline doesn't make the keyword highlight for SQL code in Code Editor.
      • (Editor) Select the caret in CodeEditorSearchable even when the editor doesn't have focus.
      • (Editor) Fixed tooltip is displayed when there is no line on the LineNumberMargin.
      • (Editor) Fixed exception when clicking on the line number margin that doesn't have text on the LineNumberMargin.
      • (Grids) Fixed isPopupVolatile setting is not respected in DIALOG type AbstractComboBox. See the bug report here.
      • (Grids) Fixed the column name is changed after hiding the column using TableColumnChooser in AutoFilterTableHeader. See the bug report here.
      • (Grids) Added addObjects and clear methods to BasicTableModel. See the enhancement request here.
      • (Grids) Fixed tableRowInserts fails when inserting more than one rows in CachedTableModel.
      • (Grids) Added caching in CellSpanTable to improve the performance.
      • (Grids) Fixed shift arrow keys didn't select the whole cell span in one keystroke. See the bug report here.
      • (Grids) Fixed the JList in CheckBoxListComboBox or MultiSelectListChooserPanel is too small when the first element in the list model is null or empty string.
      • (Grids) Added setColorChooserDialogProvider to allow user to use their own color dialog when clicking on the "More" color button.
      • (Grids) Added cell renderer caching to improve the performance to get cell renderer from CellRendererManager.
      • (Grids) Disables the month navigation buttons when the next or previous month is out of the range of DateModel. It also beeps if the year spinner tries to navigate to an invalid year.
      • (Grids) Fixed setDate(null) doesn't erase the text in DateComboBox. See the bug report here.
      • (Grids) Added calls to cellUpdated in DefaultExpandableRow#setValueAt.
      • (Grids) Fixed in the DualList, wrong item is found when using Searchable. See the bug report here.
      • (Grids) Paints the +/- icon at the top of the cell.
      • (Grids) Fixed missing event when removing a row from FilterableTableModel's actual table model.
      • (Grids) Fixed exception when removing item from the GroupList. See the bug report here.
      • (Grids) Fixed column count is wrong and wrong cell editor could be used when groupAndRefresh is called. See the bug report here.
      • (Grids) Added a NPE check for converter in HssfPivotTableUtils.
      • (Grids) I18n'ed ImagePreviewList. See the bug report here.
      • (Grids) Fixed ctrl mouse drag doesn't deselect until repaint in non-contiguous selection mode in JideTable.
      • (Grids) Do not show column when setModel is called if the column is hidden by TableColumnChooser if the table is a subclass of JideTable. See the bug report here.
      • (Grids) Fixed disable one JideTable causing all other tables appear disabled. See the bug report here.
      • (Grids) Added getTableColumnGroups to NestedTableHeader. See the enhancement request here.
      • (Grids) Added Match exactly to QuickFilterField. See the bug report here.
      • (Grids) Fixed to use viewIndex == -1 to restore the column index in showColumn method.
      • (Grids) Fixed rowResize doesn't work correctly in TableScrollPane. See the bug report here.
      • (Grids) Fixed the header/footer column is not shown in TableScrollPane or TableSplitPane when there wasn't a table there. See the bug report here.
      • (Grids) Fixed autoresize all of the popup menu doesn't work for all child tables in TableScrollPane. See the bug report here.
      • (Grids) Added setTableColumnWidthByName method to only restore the column width with changing the column order.
      • (Grids) Fixed the row height is too tall in TreeTable. See the bug report here.
      • (Grids) Return getColumnClass in getCellClassAt if the Row returns null in its getCellClassAt..
      • (Grids) Fixed the TAB key not working in TreeTable when the cell is editing. See the bug report here and here.
      • (Pivot) Fixed wrong information is displayed in the AggregateTable when the values are the same for the aggregated columns.. See the bug report here and here.
      • (Pivot) Added support for other data types in DefaultSummaryCalculator such as Date, Calendar, all subclasses of Number, BigDecimals. In the meantime, deprecated BigDecimalSummaryCalculator as DefaultSummaryCalculator supports BigDecimal now.
      • (Pivot) Fixed possible NPE at PivotTablePane#setTableColumnWidth.
      • (Shortcut) Made createFilterField method protected in ShortcutEditor.
      • (Shortcut) Fixed the context menu is not shown on ShortcutField.

      Backward Compatible Issues

      • (Common) Removed deprecated getAnimatorListener and setAnimatorListener methods and replaced them with addAnimatorListener and removeAnimatorListener respectively.
      • (Common) Removed deprecated getImageLabel method on BannerPanel and replaced it with getIconComponent.
      • (Common) Removed deprecated getSizeContraint and setSizeContraint methods on ButtonPanel because of typos. Replaced them with getSizeConstraint and setSizeConstraint respectively.
      • (Common) Removed ButtonPanel at com.jidesoft.swing and replaced it with the ButtonPanel under com.jidesoft.dialog. Code change might be needed when migrating but should be trival.
      • (Common) Removed deprecated getSelectedObjects on CheckBoxList and replaced it with getCheckBoxListSelectedValues.
      • (Common) Removed deprecated createPopupContainer method on JidePopup and replaced it with createHeavyweightPopupContainer.
      • (Common) Removed deprecated getWindow from JideSwingUtilities and replaced it with getWindowForComponent method.
      • (Common) Removed deprecated setShrinkTabs and isShrinkTabs methods on JideTabbedPane. Replaced it by setTabResizeMode(RESIZE_MODE_FIT).
      • (Common) Removed deprecated setBoxStyleTab and isBoxStyleTab methods on JideTabbedPane. Replaced it by setTabShape(SHAPE_BOX).
      • (Common) Removed getLayoutData and setLayoutData from DockingManager/LayoutPersistence and replaced them with getLayoutRawData and setLayoutRawData respectively.
      • (Common) Removed deprecated getValue method on ObjectGroupManager and replaced it with getGroupValue.
      • (Common) Removed deprecated withinScreen from PortingUtils and replaced it with ensureOnScreen method.
      • (Common) Removed deprecated AUTO_RESIZE_CONSIDER_HEADER constant in TableUtils and replaced it with CLIENT_PROPERTY_AUTO_RESIZE_CONSIDER_HEADER.
      • (Component) Deprecated setToolTip and replace it with setToolTipText in LabelStatusBarItem to match with the method name on JLabel.
      • (Grids) Deprecated Filter and AbstractFilter class in com.jidesoft.grid package. Replaced them with the same class in com.jidesoft.filter package.
      • (Grids) Added setFilterFactory and getFilterFactory method to Filter interface. If you use AbstractFilter, there wouldn't be any problems but if you use Filter interface directly, you need to implement these two methods.
      • (Grids) Removed deprecated methods getExpandableColumnViewIndex, setExpandableColumn and getExpandableColumn. You can replace them with getHierarchicalColumnViewIndex, setHierarchicalColumn and getHierarchicalColumn without any other code change.
      • (Grids) Removed deprecated stretchToFit method on PopupPanel. It is replaced with isStretchToFit to follow the bean pattern naming convention.
      • (Grids) QuickTableFilterField getDisplayTableModel return type are changed from FilterableTableModel to IFilterableTableModel. The old createDisplayTableModel is deprecated and replaced it with createFilterableTableModel.
      • (Grids) Deprecated TableColumnChooser's install and uninstall methods because TableHeaderPopupMenuInstaller is the recommended way to install a popup menu for the table header.
      • (Grids) Removed deprecated loadExpanstionState on TreeUtils. It is replaced with loadExpansionState because of a typo.
      • (Pivot) Deprecated BigDecimalSummaryCalculator because DefaultSummaryCalculator supports BigDecimal data types.

      September 2, 2008 - 2.3.1

      Bug Fixes

      • (Common) Fixed spelling error in setSizeConstraint method of ButtonPanel. Deprecated setSizeConstaint and replaced by setSizeConstraint.
      • (Common) Fixed tab font is bold by mistake on JideTabbedPane. See the bug report here.
      • (Common) Fixed JideToggleButton doesn't support Action.SELECTED_KEY. See the bug report here.
      • (Dashboard) Added dashboard_nl.properties. Thanks SurfMan for the contribution.
      • (Dock) Fixed show frame on Find Results 1 to 3 not working in NestedDockingFrameworkDemo.
      • (Dock) Uses setIconImages for FrameFloatingContainer in Docking Framework. See the bug report here.
      • (Dock) Fixed flickering when maximizing a floating frame in Docking Framework. See the bug report here.
      • (Dock) Fixed the wrong docking manager is set when dragging a frame to a docking manager that has nested docking manager.
      • (Grids) Added setButtonoOnly to hide the editor area in AbstractComboBox.
      • (Grids) Fixed AutoFilterTableHeader not working without overriding createFilterableTableModel method.
      • (Grids) Made the cached enabled to be true by default in CacheTableModel. Made CacheTableModel extending TableModelWrapperImpl instead of DefaultTableModelWrapper. See the enhancement request here.
      • (Grids) Fixed in FilterableTreeTableModel to do fitlering per filter instead of per row.
      • (Grids) Fixed to fire one row insertion/deletion event instead one for each row in FilterableTableModel. See the bug report here.
      • (Grids) Fixed the list size is tiny when the first element is null in ListComboBox.
      • (Grids) Added updateMonthCalendar and use it to get the Calendar instance that represents the month to MonthChooserPanel.
      • (Grids) Deprecated isColumResizable and replaced it by isColumnResizable in TableUtils to fix a spelling error.
      • (Grids) Restored selection when expanding/collapsing the row in TreeTable. See the enhancement request here.
      • (Grids) Added cell style suppport in HssfTableUtils.
      • (Pivot) Fixed NPE in HeaderTableModel when having summary row in AggregateTable.
      • (Pivot) Fixed AIOOBE in HeaderTableModel when sortBy the empty pivot table that only has grand total.
      • (Pivot) Added initialize() method to IPivotDataModel interface.
      • (Pivot) Fixed the row height is changed in PivotTablePane when there are more than one data fields.
      • (Shortcut) Added createKeyboardShort method to ShortcutField. See the enhancement request here.
      • (Shortcut) Added setAllowedKeyStrokes method to ShortcutField. See the enhancement request here.
      • (Shortcut) Fixed the key listener is added twice if you use new Shortfield(TYPE_KEYBOARD). See the bug report here.
      • (Designer) Added jide-designer.jar to the release package. See the bug report here.

      August 26, 2008 - 2.3.0

      Bug Fixes

      • (All) Fixed source code stub generated invalid interface files. We also generated source stub zip file per jide jar. See the bug report here and here.
      • (Common) Fixed the text is cut on JideSplitPane on Xerto style. See the bug report here.
      • (Common) Fixed the drop down arrow is not shown on JideSplitPane on a vertical command bar. See the bug report here.
      • (Common) Fixed the extra line on JideTabbedPane on VSNET style when the tab area is not visible.
      • (Components) Added ButtonStatusBarItem(Action) constructor. See the bug report here.
      • (Components) Added setBackground and setForeground to DocumentComponent. See the enhancement request here.
      • (Components) Fixed display error in memory status bar item. See the bug report here.
      • (Components) Makes sure the property change listener on PROPERTY_BOTTOM_BUTTON_COUNT is always fired on OutlookTabbedPane when the bottom button count is changed. See the bug report here.
      • (Components) Do not add the status to status history if the status message is empty.
      • (Components) Added clear history feature to PropertyStatusBarItem.
      • (Components) Added StatusBar.childrenOpaque UIDefault.
      • (Dock) Fixed undockable frame still shows maximize frame option.
      • (Dock) Fixed setTitleLabelComponent not working in DockableFrame. See the bug report here.
      • (Dock) Fixed a spell error in getAutohideContainer method on DockingManger.
      • (Dock) Fixed mouse click doesn't work when embeding a HW browser component inside DockableFrame.
      • (Dock) Fixed the coutour size is wrong when dragging a dockable frame to try to dock along the workspace area.
      • (Dock) Fixed the floating frame size changes when dragging in Docking Framework. See the bug report here.
      • (Dock) Listens to windoweClosed event to detect window closing for floating containers. See the bug report here.
      • (Dock) Fixed NPE in FrameContainer#repaintTabAreaAndContentBorder.
      • (Dock) Fixed flickering in tabbed pane when switching tabs. See the bug report here and here.
      • (Editor) Fixed selecting text backward and press key will not clear the selection. See the bug report here.
      • (Editor) Fixed TAB causes the selection display error. The fix is in offsetToColumn method.
      • (Grids) Added constructor for TableComboBox to allow the combobox type. See the bug report here.
      • (Grids) Fixed setModel doesn't update the model on AutoFilterTableHeader.
      • (Grids) Regsitered listener on the newly added object in BeanTableModel. See the bug report here.
      • (Grids) Introduced BasicTableModel which has the most features from BeanTableModel. Now the BeanTableModel simply extends BasicTableModel.
      • (Grids) Do not call super.setItem to fix duplicated event in DateComboBox.
      • (Grids) Fixed an NPE in DateComboBox's setSelectedItem when using format.
      • (Grids) Updates the selected item when spinner changes. Also skip invalid date as defined in DateModel when spinner buttons are used. Thanks efx contributing the code. See the bug report here.
      • (Grids) Added a NPE check in FileChooserPanel. See the bug report here.
      • (Grids) Added generic support to most Filters.
      • (Grids) Added more than a dozen pre-defined Filters under com.jidesoft.filter. Please note we deprecated Filter and AbstractFilter under com.jidesoft.grid and move them to com.jidesoft.filter. It shouldn't cause any compile error but we strongly suggest you change your import statement to point to the right package in your source code.
      • (Grids) Added FilterItemSupport to FilterTableModel.
      • (Grids) Fixed AIOOBE in GroupListUI. See the bug report here.
      • (Grids) Fixed the cell renderer is always enabled in JideTable. See the bug report here.
      • (Grids) Added getMonthCalendar method to MonthComboBox to genreate the first day of the month. User can subclass it to genreate their own date to represent the month.
      • (Grids) Uses the model column index in Property#getCellEditor and getTableCellRenderer.
      • (Grids) Fixed extra filtering if user already pressed enter before the delay timer triggered. See the bug report here.
      • (Grids) Added SortItemSupport to SortableTableModel.
      • (Grids) Made two client properties public in TableColumnChooser.
      • (Grids) Use SortableTreeTableModel to wrap the MultiTableModel when it has a SortableTreeTableModel wrapped.. See the bug report here.
      • (Grids) Fixed a possible AIIOBE in TableUtils load selection method.
      • (Grids) Added WillExpandListener support to TreeTable and HierarchicalTable.
      • (Grids) Fixed clicking on the cell still expands the row when setExpandableColumn is set to -1. See the bug report here.
      • (Libs) Updated HSQL jar to 1.8.0 and HSSF jar to 3.1 final.
      • (Pivot) Fixed an error in getFilteredRowIndex method of TableModelPivotDataSource.
      • (Pivot) Added hide certain columns or rows feature to the pivot table. See the enhancement request here and here.
      • (Pivot) Made sure all string usages are going through PivotTablePane#getResourceString.
      • (Pivot) Fixed NPE in PivotTablePane#fieldsUpdated. See the bug report here.
      • (Pivot) Fixed NPE in PivotTablePane#setTableColumnWidth. See the bug report here.
      • (Pivot) Uses the converter/editor context from the original table model in PivotDataModel. See the bug report here.
      • (Pivot) Added the column name to the auto resize context menu item in TableColumnChooser.
      • (Shortcut) Refactor in ShortcutEditor to allow proper extension. See the enhancement request here.
      • (Shortcut) Added addKeyStroke method and javadoc to ShortcutField. See the enhancement request here.

      July 30, 2008 - 2.2.12

      New Features

      • (All) Introduced a source code stub zip file under src-stub folder in the both release and evaluation packages. Refer to here for more information.

      Bug Fixes

      • (Components) Supports setForeground to change the CollapsiblePane's title pane foreground. See the bug report here.
      • (Components) Supports using maxMemory to replace totalMemory as the option on MemoryStatusBarItem. See the bug report here.
      • (Editor) Fixed alt keys not working on Mac OSX CodeEditor. See the bug report here.
      • (Editor) Fixed missing anti-alias on the CodeEditor. See the bug report here.
      • (Editor) Fixed code folding margin background is wrong.
      • (Editor) Fixed typing at the end of the line in CodeEditor causes strange behavior.
      • (Grids) Fixed NPE in AutoFilterBox when trying to cancel out a filter popup in AutoFilterTableHeader.
      • (Grids) Fixed AutoFilterTableHeader used wrong FilterableTableModel.
      • (Grids) Made BooleanCheckBoxCellRenderer opaque.
      • (Grids) Fixed up key doesn't select the spanning cell in full blue color in CellSpanTable.
      • (Grids) Fixed getCalendar returns null when the selected item is Date.
      • (Grids) Fixed getPreferredSize of DualList is wrong. See the bug report here.
      • (Grids) Fixed JDK1.4 compatible issue in EditableTableHeader. See the bug report here.
      • (Grids) Fixed AIOOBE in GroupList. See the bug report here.
      • (Grids) Fixed groupAndRefresh not working when there is no grouping. See the bug report here.
      • (Grids) Fixed space key append the key to the end in a cell in JideTable. See the bug report here.
      • (Grids) Fixed so that it doesn't use isAutoStartCellEditingKey in isNavigationKey in NavigableTable. See the bug report here.
      • (Grids) Do not expand/collapse the cell if the +/- icon is not displayed in PivotTablePane.
      • (Grids) Fixed resort does nothing if there are not sorting columns.
      • (Grids) Fixed column position messed up when the column name is number.
      • (Grids) Fixed LEFT/RIGHT key not working in TableComboBox.
      • (Pivot) Fixed sorting non-aggregated table columns could affect the sort order of the aggregated columns in AggregatedTable.
      • (Pivot) Added getPivotDataModel method to AggregatedTableModel.
      • (Pivot) Supports editing in AggregatedTableModel.
      • (Pivot) Added setAllowedAsUnassignedField to PivotField.
      • (Pivot) Fixed NPE on the PivotTablePane when trying to restore the column width.

      July 23, 2008 - 2.2.11  ()

      Bug Fixes

      • (Common) Fixed NPE in AlertGroup.isRegionOverlap. See the bug report here.
      • (Components) Fixed ProgressStatusBarItem so that it doesn't show a tiny popup when there is no message.
      • (Components) Fixed divider paints in wrong direction in OutlookTabbedPane for Synthetica L&Fs.
      • (Dock) Fixed a frame hidden event is fired when addFrame. See the bug report here.
      • (Grids) Added select all and select none to the popup menu for TableColumnChooser.
      • (Grids) Fixed layout issue in HierarchicalTable. See the bug report here.
      • (Grids) Fixed in JidePopup so that TAB key in AbstractComboBox when drop down is visible will tab to the next component.
      • (Grids) Fixed More button to show JColorChooser hides the ColorChooserPane in ColorComboBox.
      • (Grids) Fixed the selection is lost when changing filter in AutoFilterTableHeader. See the bug report here.
      • (Grids) Added setTodayHighlighted method to DateChooserPanel.
      • (Grids) Fixed sorting stops working if there is no data field.
      • (Pivot) Fixed PivotField#setExpandable has no immediate effect . See the bug report here.
      • (Pivot) Fixed alignment cell style doesn't work for header tables in PivotTablePane. See the bug report here.
      • (Pivot) Fixed MissingResourceException when exporting to xls in PivotTablePane. See the bug report here.
      • (Editor) Fixed backward search doesn't find all the occurrences in CodeEditor.
      • (Editor) Fixed CodeEditor doesn't auto-scroll when dragging a text.
      • (RSS) Fixed some feed items are not shown in FeedReader.
      • (Pivot) Fixed the column width don't match for the data table and the column header table.

      July 17, 2008 - 2.2.10

      New Features

      • (Common) Introduces Introspector and IntrospectorManager etc classes to replace BeanIntrospector and BeanIntrospectorManager. BeanIntrospector now just becomes a special use case for Introspector. See the enhancement request here.
      • (Grids) Added tooltip support to CellStyle so tooltip becomes one of the supported cell styles. See the enhancement request here and here.
      • (Pivot) Added setExpandable to PivotField to allow user to hide the +/- icon on the header tables. See the enhancement request here.
      • (Pivot) Added setGrandTotalSummaryType to allow a different summary type for the grand total cells.

      Backward Compatible Issues

      • (Grids) Added setDoubleClickEnabled to HierarchicalTable so that double click on the row will expand the row. Please note this will change the default behavior of JTable's double click action. If your table depdends on the double click to start cell editing, you should call setDoubleClickEnabled(false) in this new release to disable this feature. See the enhancement request here.
      • (Common) Since we introduce Introspector and IntrospectorManager. There are several classes were made deprecated such as BeanIntrospectorManager, BeanIntrospectorContext, and BeanIntrospectorFactory. Please be aware of them. The replacement classes for them are the one with the Bean at the beginning of the class. See the enhancement request here.

      Bug Fixes

      • (Common) Still allow PortingUtils.initializeScreenArea to make the popup faster.
      • (Components) Fixed in JavaDoc that still says setComponent was not supported in DocumentComponent when the document is openned. See the bug report here.
      • (Components) Fixed strings are not changed when locale is changed on DocumentPane. See the bug report here.
      • (Components) Fixed Last tab of DocumentPane does not close. See the bug report here.
      • (Components) Fixed ArrayIndexOutOfBoundsException in OutlookTabbedPane. See the bug report here.
      • (Components) Fired property change event for setAxis and setGap in CollapsiblePanes.
      • (Dashboard) Fixed unicode not supported in DashboardPersistenceUtils.
      • (Dock) Fixed extra repaint in DockableFrame. See the bug report here.
      • (Dock) Fixed the wrong painting on the title bar buttons in DockableFrame.
      • (Dock) Fixed dockFrame doesn't work if the frame is autohidden.
      • (Dock) Fixed there is no shown event when adding a dockable frame when the main window is already visible. See the bug report here.
      • (Grids) Added tooltip support to AutoFilterTableHeader if the model implements ToolTipSupport interface. See the bug report here.
      • (Grids) Removes the filter button when setAutoFilterEnabled(false) is called on AutoFilterTableHeader.
      • (Grids) Fixed BeanTableModel#getEditorContext or getConverterContext returns null when BeanProperty has them.
      • (Grids) Made setMaximized method public in DockableFrame. See the bug report here.
      • (Grids) Fixed usage of Component#setPreferredSize which will break on JDK1.4 in DualList.
      • (Grids) Added setcurrentDirectory(Path) to File(Name)ChooserComboBox. See the enhancement request here.
      • (Grids) Fixed so that getValueAt will not be called for unnecessary columns in FilterableTableModel if there is no filter on that column.
      • (Grids) Fixed navigation key trouble in JideTable . See the bug report here.
      • (Grids) Fixed selection is not reset when cancel button is pressed in MultiSelectListComboBox.
      • (Grids) Fixed the row heights are different in TableScrollPane. See the bug report here.
      • (Grids) Fixed autoResizeAllColumns doesn't work correctly.
      • (Grids) Made DefaultTableModelWrapper cached false by default.
      • (Grids) Fixed resizing row causes selection to change. See the enhancement request here.
      • (I18N) Corrected de properties for QuickTreeFitlerField's drop down menu. See the bug report here.
      • (Pivot) Fixed possible ArrayIndexOutOfBoundsException in CornerTableModel.
      • (Pivot) Fixed exporting pivot table to xls file still shows the same grand total string.
      • (Pivot) Added setHideFieldOnDraggingOut to PivotTablePane so that user can decide if dragging out a field box will hide it.
      • (Pivot) Added protected fillUnassignedFieldArea method to PivotTablePane.
      • (Pivot) Consider field is null in DataTable#sortBy method and also make it public.
      • (Pivot) Added protected setShrinkDataFieldArea method to PivotTablePane.

      July 3, 2008 - 2.2.9.01  ()

      Bug Fixes

      • (Common) Fixed setEndLocation is ignored if using showPopup() method in Alert. See the bug report here.
      • (Common) Fixed so that setting the text directly won't triggle auto-completion if it is not strict mode. See the bug report here.
      • (Common) Fixed a typo in JideSwingUtilities's equal method where we copmare the same object.
      • (Components) Fixed glass pane is not reset after drag and drop. See the bug report here.
      • (Editor) Fixed find all with an empty string breaks. See the bug report here.
      • (Grids) Made ContextSensitiveCellEditor extending CellEditorFactory. It will cause compile error but you just need to implement an empty create() method and return null to fix it. See the bug report here.
      • (Grids) Fixed so that MonthChooserPanel will not cast the selected object to Calendar without checking. See the bug report here.
      • (Grids) Fixed regression in NavigableTable. See the bug report here.
      • (Grids) Added setSelectionMode to MultiSelectListComboBox. See the enhancement request here.
      • (Grids) Fixed autoResizeAllColumns stops working.
      • (I18N) Updated grids_de.properties. See the bug report here.
      • (Pivot) Fixed unsort order is not correct if using PivotDataSource. See the bug report here.

      July 1, 2008 - 2.2.9

      New Features

      • (Pivot) Added order-by feature to PivotTablePane so that you can sort the data table area. Just right click on the data table to see the sort menu items. See the enhancement request here.
      • (Pivot) Added unsort option to row fields and column fields. You can right click on the header tables to unsort. In earlier release, you can only sort ascending or descending. See the enhancement request here.
      • (Common) Added JideLabel component to allow vertical text. It is ideally to be used as CommandBar component as the CommandBar can be docked vertically.
      • (Grids) Added QuickFilterPane#setUseCheckBoxList to use CheckBoxList as the JList for fitlering. See the enhancement request here.
      • (Common) Added ArrowKeyNavigationSupport. You can use it to enable arrow key navigation on any container. ButtonPanel is enabled by default to support left/right or up/down key to navigate among the buttons.

      Bug Fixes

      • (Common) Fixed IllegalArgumentException when there is an empty string in the combobox and try to do auto-complete.
      • (Common) Introduced paintHeaderBoxBackground for the HeaderBox components in ThemePainter. See the enhancement request here.
      • (Common) Changed JideBoxLayout to do layout even when there isn't enough space. Otherwise the layout result is unpredicted which is not good. Also added setAlwaysLayout method to allow user changing it.
      • (Common) Fixed usage of setMinimumSize call for pre-JDK5 users.
      • (Common) Made it easier to use setShowCloseButtonOnTab. If you set it to true, we will set all other necessary options to true so that you don't need to call setShowCloseButton etc methods.
      • (Common) Added system property "jide.defaultStyle" for the default JIDE extension style. See the enhancement request here.
      • (Common) Added system property "jide.useSystemfont". If set to true or false, it will always use the value to decide if it uses the system font defined in UIManager ("Label.font" or "ToolBar.font") for all fonts used by JIDE components. See the enhancement request here.
      • (Common) Added clear methods to most managers such as ObjectConverterManager, CellRendererManager etc.
      • (Common) Added UIDefault "FloorTabbedPane.buttonStyle" and "OutlookTabbedPane.buttonStyle" to define the button style for Floor/OutlookTabbedPane respectively. We need it for some L&Fs where TOOLBOX_STYLE JideButton is not supported.
      • (Common) Added painter support for a few other states in SyntheticaJidePainter. See the bug report here.
      • (Common ) Fixed hyperlink is not painted when the JideButton is vertical. See the bug report here.
      • (Common ) Fixed IllegalArgumentException in JideSplitPane. See the bug report here.
      • (Component) Do not set glass pane visible in DocumentPane if the glass pane is already visible. See the bug report here.
      • (Component) Added getBottomPanel to OutlookTabbedPane. See the bug report here.
      • (Dashboard) Disposing the gadgets when the dashboard is removed. See the bug report here.
      • (Dashboard) Fixed exception in DashboardPersistenceUtils. See the bug report here.
      • (Dock) Remove the metal bumps from the active dockable frame title pane and add gradient to it. See the bug report here.
      • (Dock) Fixed newly created floating frame still resizable even after setResizable(false) is called on the DockingManager.
      • (Dock) Added setAutohideWhenActive method to DockableFrame to make it hide from autohide_showing state even when it is active. This flag can be turned on if the DockableFrame contains a draggable pallette as you want the frame to be hidden when dragging outside.
      • (Editor) Added more visual changes for disabled CodeEditor.
      • (Grids) Fixed sometimes clicking on the drop down button doesn't show the autofilter drop down if the table is in a dockable frame. See the bug report here.
      • (Grids) Fixed security exception because we use getMouseInfo in AutoFilterableTableHeader. See the bug report here.
      • (Grids) Made the check box not opaque in BooleanCheckBoxCellRenderer.
      • (Grids) Fixed SHIFT-ENTER key not working properly in a JideTable. See the bug report here.
      • (Grids) Fixed auto-select cell is not working properly in JideTable. See the bug report here.
      • (Grids) Disable double click to toggle value if the ListComboBox is disabled.
      • (Grids) TableColumnChooser now works with TableScrollPane to hide/show all columns on all child tables. See the enhancement request here and here.
      • (Grids) Fixed the column widths are not synchronized correctly in TableScrollPane.
      • (Grids) Fixed the viewport of the row header and the main table still not synchronized correctly in TableScrollPane.
      • (Grids) Use WeakReference for some listeners used in TableUtils to avoid potential memory leak.
      • (Grids) Fixed keypad keys causes the rows to expand/collapse while the cell is editing.
      • (Grids) Fixed possible memory leak when removing a PropertyTable. See the bug report here.
      • (I18N) Fixed a wrong file name on the properties.
      • (Pivot) Fixed NPE at AggregateTable.getCellRenderer. See the enhancement request here.
      • (Pivot) Fixed the grid line color changes in the DataTable when L&F is updated on fly.
      • (Pivot) Update FieldBox's icon when PivotField#setIcon is call.
      • (Pivot) Fixed the row fields width change when adding/removing row fields in PivotTablePane.
      • (Pivot) Fixed a memory leak in PivotTablePane because ExpandablePanel is holding the reference after painting the cells. See the bug report here.
      • (Pivot) Considered the prefered width setting on PivotField by user. See the bug report here.
      • (Pivot) Fixed the preferred width is set to a very small value during the initial layout which caused the row fields to be very narrow when loading the saved layout.

      June 18, 2008 - 2.2.8.01  ()

      Bug Fixes

      • (Common) Fixed ArrayIndexOutOfBoundsException when clicking the empty tab area in JideTabbedPane. See the bug report here.
      • (Common) Fixed one touch button not working if the setting is set before the panes are added in JideSplitPane.
      • (Common) Fixed viewports synchronization issue in JideScrollPane.
      • (Components) Possible NPE in DocumentPane. See the enhancement request here.
      • (Dock) Fixed F6 (go to next frame) doesn't transfer the focus to the next dockable frame. See the bug report here.
      • (Pivot) Allow different keys for row grand total and column grand total string..

      June 17, 2008 - 2.2.8  ()

      New Features

      Bug Fixes

      • (All) Changed the values for most event IDs across all JIDE products. If you use predefined event IDs, you just need to recompile your application to make it working. If you use hardcode event ID value by any chance, please use our predefined event IDs instead to avoid future changes.
      • (Action) Moves setMenuBar and setPaintBackground methods up from CommandBar to DockableBar.
      • (Common) Fixed a bug in CachedArrayList causing the slowness in pivot grid. See the bug report here.
      • (Common) Fixed setSearchingDelay doesn't work in ComboBoxSearchable. See the enhancement request here.
      • (Common) Fixed one touch button not working if the setting is set before the panes are added in JideSplitPane.
      • (Common) Fixed tab layout issue causing dockable frame tab displayed incorrectly. See the bug report here.
      • (Components) Added populateContextMenu method so that you can use it to put the context menu of DocumentPane to main window menu.
      • (Dock) Added rollover and active icon support for DockableFrameTitlePane. The UIDefault for those icons are "DockableFrameTitlePane.Icon", "DockableFrameTitlePane.RolloverIcon", "DockableFrameTitlePane.ActiveIcon" and "DockableFrameTitlePane.RolloverActiveIcon". And the can be "hide", "float", "unfloat", autohide", "stopAutohide", "hideAutohide", "maximize" and "restore". There are also UIDefault "DockableFrameTitlePane.use3dButtons" and "DockableFrameTitlePane.contentFilledButtons" to decide whether the 3D rollover border will be painted and whether the button content will be filled.
      • (Dock) Fixed focus issue with DockableFrame when mouse clicking on the component inside DockableFrame.
      • (Editor) Fixed find in selection doesn't work correctly when seelection changes.
      • (Editor) Automatically select the selection radio button when there are multiple line selection in the CodeEditor.
      • (Editor) Fixed DelayUndoManager is not working property in CodeEditor.
      • (Editor) Added support for setEnabled(false) on CodeEditor.
      • (Grids) Fixed AbstractComboBox doesn't work correctly in command bar chevron popup area. See the bug report here<