JIDE 版本更新记录

 

2013年10月22号 - 3.5.10  (正式版本,相对于 3.5.9)

功能改进

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

错误修复

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

2013年10月4号 - 3.5.9  (正式版本,相对于 3.5.8)

功能改进

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

错误修复

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

2013年8月30号 - 3.5.8  (正式版本,相对于 3.5.7)

功能改进

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

错误修复

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

2013年7月31号 - 3.5.7  (正式版本,相对于 3.5.6)

功能改进

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

错误修复

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

2013年6月13号 - 3.5.6  (正式版本,相对于 3.5.5)

功能改进

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

错误修复

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

Backward Compatibilities

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

2013年5月17号 - 3.5.5  (正式版本,相对于 3.5.4)

功能改进

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

错误修复

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

兼容问题

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

2013年4月10号 - 3.5.4  (正式版本,相对于 3.5.3)

功能改进

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

错误修复

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

2013年3月7号 - 3.5.3  (正式版本,相对于3.5.2)

功能改进

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

错误修复

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

兼容问题

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

2013年2月7号 - 3.5.2  (正式版本,相对于3.5.1)

功能改进

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

错误修复

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

2013年1月17号 - 3.5.1  (正式版本,相对于3.5.0)

功能改进

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

错误修复

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

2012年12月13号 - 3.5.0  (正式版本,相对于3.4.9)

功能改进

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

错误修复

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

2012年11月15号 - 3.4.9  (正式版本,相对于 3.4.8)

功能改进

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

错误修复

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

2012年10月16号 - 3.4.8  (正式版本,相对于 3.4.7)

功能改进

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

错误修复

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

2012年9月25号 - 3.4.7  (正式版本,相对于 3.4.6)

功能改进

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

错误修复

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

2012年9月13号 - 3.4.6  (正式版本,相对于 3.4.5)

功能改进

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

错误修复

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

2012年8月20号 - 3.4.5  (正式版本,相对于 3.4.4)

功能改进

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

错误修复

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

2012年7月24号 - 3.4.4  (正式版本,相对于 3.4.3)

功能改进

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

错误修复

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

Backward Compatibility

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

2012年6月28号 - 3.4.3  (正式版本,相对于 3.4.2)

功能改进

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

错误修复

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

2012年6月19号 - 3.4.2  (正式版本,相对于 3.4.1)

功能改进

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

错误修复

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

兼容问题

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

2012年5月29号 - 3.4.1  (正式版本, 相对于3.4.0)

功能改进

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

错误修复

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

兼容问题

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

2012年5月1号 - 3.4.0  (正式版本, 相对于3.3.8)

功能改进

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

错误修复

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

2012年5月15号 - 3.3.9  (维护版本,相对于3.3.8)

错误修复

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

2012年4月18号 - 3.3.8  (正式版本, 相对于3.3.7)

功能改进

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

错误修复

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

2012年3月27号 - 3.3.7  (正式版本, 相对于3.3.6)

功能改进

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

错误修复

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

2012年3月1号 - 3.3.6  (正式版本, 相对于3.3.5)

功能改进

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

错误修复

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

2012年2月15号 - 3.3.5  (正式版本, 相对于3.3.4)

功能改进

  • (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.

错误修复

  • (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.

2012年1月25号 - 3.3.4  (正式版本, 相对于3.3.3)

功能改进

  • (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.

错误修复

  • (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.

2012年1月10号 - 3.3.3  (正式版本, 相对于3.3.2)

功能改进

  • (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 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.

错误修复

  • (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 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 so that isAllowMultipleValues() could work well with isAcceptTextInput() in AutoFilterTableHeader. See the bug report here.
  • (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 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.
  • (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.

可能导致向后不兼容的更改

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

December 14, 2011 - 3.3.2  (正式版本, 相对于3.3.1)

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

  • (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  (正式版本, 相对于3.3.0)

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

  • (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  (正式版本, 相对于3.2.4)

全新组件

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

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

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

2012年4月26号 - 3.2.7  (维护版本, 相对于3.2.6)

错误修复

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

2011年11月14号 - 3.2.6  (维护版本, 相对于3.2.5)

错误修复

  • (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.

2011年11月3号 - 3.2.5  (维护版本, 相对于3.2.4)

错误修复

  • (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  (正式版本, 相对于3.2.3)

功能改进

  • (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.

错误修复

  • (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  (正式版本, 相对于3.2.2)

功能改进

  • (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.

错误修复

  • (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  (正式版本, 相对于3.2.1)

功能改进

  • (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.

错误修复

  • (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  (正式版本, 相对于3.2.0)

功能改进

  • (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.

错误修复

  • (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  (正式版本, 相对于3.1.1)

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

  • (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  (正式版本, 相对于3.1.0)

功能改进

  • (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.

错误修复

  • (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 "可能导致向后不兼容的更改" 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.

可能导致向后不兼容的更改

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

July 22 2011 - 3.0.5  (维护版本, 相对于3.0.4)

错误修复

  • (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  (正式版本, 相对于3.0.4)

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

  • (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  (正式版本, 相对于3.0.3)

功能改进

  • (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.

错误修复

  • (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 可能导致向后不兼容的更改"". 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.

可能导致向后不兼容的更改

  • (Gantt) The parameter of DefaultGanttModel changed from TreeTableModel to ITreeTableModel which may cause "可能导致向后不兼容的更改" 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  (正式版本, 相对于3.0.2)

功能改进

  • (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 "可能导致向后不兼容的更改" 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.

错误修复

  • (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.

可能导致向后不兼容的更改

  • (Gantt) The parameter of DefaultGanttModel changed from TreeTableModel to ITreeTableModel which may cause "可能导致向后不兼容的更改" issue. See the bug report here.

April 22, 2011 - 3.0.2  (正式版本, 相对于3.0.1)

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

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

April 7, 2011 - 3.0.1  (正式版本, 相对于3.0.0)

功能改进

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

错误修复

  • (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.

April 4, 2011 - 3.0.0  (正式版本, 相对于2.11.2)

功能改进

  • (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.

错误修复

  • (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.

可能导致向后不兼容的更改

  • (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.