Version History

 

Update Log:

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.

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, 2009 - 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, 2009 - 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, 2009 - 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 Ji