JDAF 版本更新记录

2012年12月13号 - 2.4.25

错误修复

  • (JDAF) Fixed an NPE issue while isAllowsMultipleOpens() returns false. See bug report here.

2012年11月15号 - 2.4.24

错误修复

  • (JDAF) Added Resources#clearBundleCache() to clear the cache for resource bundles. See bug report here.
  • (JDAF) Fixed so that invoking BasicDataModel#dataChanged() could notify the registered property change listeners properly. See bug report here.

2012年10月16号 - 2.4.23

错误修复

  • (JDAF) Added a protection to avoid throwing IllegalArgumentException while instantiating BufferedImage. See bug report here.
  • (JDAF) Fixed so that DockingApplicationFeature#getDataView(DockableFrame) could return the correct DataView instance when there are multiple DockableFrame's.

2012年9月25号 - 2.4.22

错误修复

  • (JDAF) Fix the NPE exception. See bug report here.

2012年9月13号 - 2.4.21

错误修复

  • (JDAF) Fixed memory leak of MenuGroup. See bug report here.

2012年6月19号 - 2.4.20

错误修复

  • (JDAF) Fixed the NPE issue while using CommandLine.set() to set arguments which contains an existing file. See bug report here.
  • (JDAF) Fixed so that the exception could still be thrown out instead of being swallowed silently in DockingApplicationFeature.

2012年5月29号 - 2.4.19

错误修复

  • (JDAF) Added DialogOptions#createCancelButtons() to create cancel buttons only without yes/no or ok button. See bug report here.
  • (JDAF) Fixed so that DATAVIEW_ACTIVATED event will be automatically fired when a new view is just opened. See bug report here.

2012年4月18号 - 2.4.18

错误修复

  • (JDAF) Fixed the FileDialogRequest setFilePath is not used when AWT file dialog is used.

2012年3月27号 - 2.4.17

错误修复

  • (JDAF) Fixed so that closing a SDI window will not exit when there is another SDI window with views. See bug report here.

2012年3月1号 - 2.4.16

功能改进

  • (JDAF) Added guiOpened event to GUIApplicationLifecycleListener. See enhancement request here.

错误修复

  • (JDAF) Fixed so that StandardDialogRequest's setUseModal(false) will be respected even when the parenting mode is GLOBAL_PARENTING_MODE. See bug report here.

2011年12月6号 - 2.4.15

错误修复

  • (JDAF) Fixed so that setting bounds inside WindowCustomizer could be honored. See bug report here.

2011年11月22号 - 2.4.14

错误修复

  • (JDAF) Fixed so that the ComponentBlock could block/unblock container correctly. See bug report here.
  • (Jdaf) Added error print for unexpected exceptions. See bug report here.
  • (JDAF) Do not change the tab shape of DocumentPane to SHAPE_WINDOWS if the L&F is not a Windows L&F. See bug report here.

2011年8月12号 - 2.4.13

错误修复

  • (JDAF) Updated to use OFFICE2007 style on Windows 7 and Vista.

2011年7月21号 - 2.4.12

错误修复

  • (JDAF) Made several methods public for easier customization. See bug report here.

2011年6月30号 - 2.4.11

错误修复

  • (JDAF) Fixed so that setManageLayoutPersistence(false) will respect the customer's layout loading procedure first. See bug report here.

2011年6月9号 - 2.4.10

错误修复

  • (JDAF) Added API so that the customer could add customizer without breaking the existing default layout persistence management.
  • (JDAF) Fixed so that opened data views will not be replaced by another open action if it's not dirty.
  • (JDAF) Fixed the issue that installing EditActionEnabler causes the delete action in JTextComponent being disabled. See bug report here.
  • (JDAF) Fixed the NPE while user throws ApplicationVetoException to prevent a document being closed. See bug report here.

2011年5月13号 - 2.4.9

错误修复

  • (JDAF) Fixed so that DockingApplicationFeature could support multiple views for the same data model in different dock configuration. See bug report here.
  • (JDAF) Fixed the regression that the layout saving and loading mechanism is broken if the default layout does not exist in current computer.
  • (JDAF) Added German translation for JDAF. See bug report here.
  • (JDAF) Correct the version number on JDAF release process. See bug report here.

2011年4月22号 - 2.4.8

错误修复

  • (JDAF) Fixed so that GUIApplication#setNewDataOnRun(false) could still open a window in SDI style. See bug report here.
  • (JDAF) Fixed so that the event could be published immediately if it was triggered inside eventDispatcherThread.
  • (JDAF) Fixed so that Resources always uses ISO-8859-1 as the encoding to read properties file. See bug report here.
  • (JDAF) Fixed the compatibility issue that Resources implementation required ASCII. See bug report here.
  • (JDAF) Fixed the encoding of the resources_de properties files. See bug report here.

2011年4月7号 - 2.4.7

错误修复

  • (JDAF) Fixed the NPE issue while removing existing button from tool bar. See bug report here.

2011年4月4号 - 2.4.6

功能改进

  • (JDAF) Closing the empty. See enhancement request here.

错误修复

  • (JDAF) Fixed the NPE issue on removing some features dynamically.
  • (JDAF) Fixed the issue that DEFAULT_APPLICATION_STYLE and setNewDataOnRun(false) could not popup the application window. See bug report here.
  • (JDAF) Fixed wrong a dataview is used which cause NPE when closing the app.

2011年3月10号 - 2.4.5

错误修复

  • (JDAF) Fixed so that ApplicationUIManager#setLoadLayout(false) and setManageLayoutPersistence(false) work as expected. See bug report here.
  • (JDAF) Fixed the access control issue while applet starting a jdaf application by adding default value for those properties. See bug report here.
  • (JDAF) Fixed the actionPerformedDetached() typo issue. See bug report here.

2011年2月21号 - 2.4.4

错误修复

  • (JDAF) Fixed so that setting new action map could release the memory for old action. See bug report here.
  • (JDAF) Fixed the issue that DialogButtonsPanel#getDialogButtons() might throw a ClassCastException.

2011年2月7号 - 2.4.3

Enhancement Requests

  • (JDAF) Added loadLayout flag so that the customer could choose loading layout or not. See enhancement request here.
  • (JDAF) Made JDAF be able to save layout to XML format.

错误修复

  • (JDAF) Fixed an NPE issue. See bug report here.
  • (JDAF) Added some Germany translation.

2010年12月30号 - 2.4.2

错误修复

  • (JDAF) Fixed a potential ClassCastException while the focus falls into the JRootPane.

2010年10月25号 - 2.4.1

错误修复

  • (JDAF) Fixed NPE causes window not showing up in X session. See bug report here.

2010年7月2号 - 2.4.0

错误修复

  • (JDAF) Fixed bug in StandardDialogRequestHandler where FRONT_WINDOW_PARENT_MODE was not properly positioning dialog. See bug report here.
  • (JDAF) Fixed issue where JDAF was recording UndoableEdits for text editors embedded in popup editors such as DateComboBox. See bug report here.
  • (JDAF) Fixed GlassPaneBlock where it wasn't executing a block window properly. Added some API to block a window directly for other uses. See bug report here.
  • (JDAF) Fixed NPE in ActivityAction when it is not added to the GUIApplication ActionMap and hence missing a GUIApplication reference. Always add GUIApplicationActions to the GUIApplication ActionMap for proper behavior. See bug report here.
  • (JDAF) Fixed issue in Linux so the AWT file open dialog is not shown when there is more than one filter (because of bug in Linux/AWT). See bug report here.

新功能

  • (JDAF) Added API for custom help-key detection. Implement a HelpKey subclass and override the detect() method. Set the HelpKey using ApplicationMenuBarsUI.setHelpKey(). See enhancement request here.
  • (JDAF) In Activity, INFINITE_STEPS represents a thread that will loop infinitely until you call finish() or cancel(). It was a state defined by totalSteps == Integer.MAX_VALUE. We added Activity.isInfinite() so that totalSteps and stepsCompleted can be manipulated based on application needs. You still set Activity.INFINITE_STEPS in the constructor, but you then can modify the Activity totalSteps and stepsCompleted in a ProgressListener according to the real-time feedback of your application.

API变动

  • (JDAF) DockingApplicationFeature.getDockableConfigurationByName() has been made public.
  • (JDAF) DockingApplicationFeature.getDockableConfigurationByCriteria() has been made public.
  • (JDAF) DockingApplicationFeature.addDockableMapping(n,n,n...) methods have been depricated. Please use addDockableMapping(DockableConfiguration).
  • (JDAF) FramedApplicationFeature.addFrameMapping(n,n,n...) methods have been depricated. Please use addFrameMapping(FrameConfiguration).
  • (JDAF) FramedApplicationFeature.getFrameConfigurationByName() has been made public.
  • (JDAF) FramedApplicationFeature.getFrameConfigurationByCriteria() has been made public.
  • (JDAF) Removed FramedApplicationFeature.getDockableConfigurationByName().
  • (JDAF) Removed FramedApplicationFeature.getDockableConfigurationByCriteria().

2009年12月7号 - 2.3.0

新功能

  • (JDAF) Added ability to specify GraphicsConfiguration for new windows. Simply call ApplicationWindowsUI.setGraphicsConfiguration() prior to the origination of data that produces a window. See enhancement request here.

2009年10月31号 - 2.2.4

新功能

  • (JDAF) Added ApplicationToolBarsUI methods removeToolBarButton() and getToolBarButton(). Please keep in mind, the pre-run removal of default Actions is the preferred method of removing menu items and toolbar buttons.
  • (JDAF) GUIApplication will not throw a MissingResourceException when using the empty constructor. Instead a console message will alert the developer to add the resources file.
  • (JDAF) Added MessageDialogRequest constructors and static usability methods convenient for resource-based messages.

错误修复

  • (JDAF) FrameApplicatonFeature regression where it was no longer setting the initial divider location of a components preferred size.
  • (JDAF) On some platforms a MissingResourceException was thrown when running a GUIApplication with the empty or no-name constructor. This minor exception is now appropriately caught and reported less dramatically. The exception had no impact on the integrity of the GUIApplication instance in any case.
  • (JDAF) Standard file message composition was erroneously reporting the wrong DataModel when closing a non-targeted DataModel tab in TDI mode.
  • (JDAF) Fixed CCE regression on MDI_APPLICATION_STYLE on Windows.
  • (JDAF) Fixed modal dialog issue on Mac OS X after dismissing a dialog in GLOBAL_PARENTING_MODE.
  • (JDAF) Document titles on Linux KDE where not formatted properly according to guidelines.

2009年8月17号 - 2.2.3

错误修复

  • (JDAF) A regression caused multiple possible anomalies including potentially disappearing DataViews, non-closing windows and strange menubar behavior.
  • (JDAF) Only the focused tab/DataView was being closed when using the close box, no matter which tab was clicked when using TDI. See bug report here.
  • (JDAF) In TDI mode using DocumentPane, the tab title was not properly updating with the DataModel name change. See bug report here.
  • (JDAF) SDIApplicationWindowsUI.setStatusBar() was not setting the status bar in a window when using Docking Framework.

2009年8月4号 - 2.2.2

新功能

  • (JDAF) Added criteria property to BasicDataModelFactory. You can simply define one-off factory mappings as opposed to having to use a HashedDataModelFactory for a single DataModel-criteria mapping.
  • (JDAF) Added SDIApplicationWindowsUI.setStatusBar() to easily set a status bar component. Make this call in a WindowCustomizer..

错误修复

  • (JDAF) Messages not showing in DialogBlock when set in an Activity via the set methods prior to running.
  • (JDAF) FileHandlingFeature would not allow files with same name but different locations to be open at the same time.
  • (JDAF) Windows without primary DataViews where not being considered in the front window detection logic. See bug report here.
  • (JDAF) DialogRequests not called on the event thread where not blocking with the Swing Thread causing the request to return immediately. See bug report here.
  • (JDAF) Custom Application menus without the name property defined where being ignored by JDAF. See bug report here.
  • (JDAF) Fixed NPE in MacOSXApplicationMenuBarsUI if certain Actions are missing. See bug report here.

2009年6月28号 - 2.2.1

新功能

  • (JDAF) Enhancement to DefaultEventContext to bifurcate (fork) event publishing based on new EventSubscriber implementations.
  • (JDAF) Added isInitialized() method in DataViewPane. This can be used in threaded situations when it is important to know that the ui has been constructed.
  • (JDAF) Added INFINITE_STEPS mode to Activity, allowing infinite execution..
  • (JDAF) Added useThreadedOrigination to DesktopApplication. When true DataModels open in a separate thread. This can be useful when newData() or openData() block by keeping the gui responsive.

错误修复

  • (JDAF) ApplicationmenuBarsUI was allowing multiple menus to be added having the same menuId (store in the menus name property.).
  • (JDAF) AutoInstallActionsFeature was not installing actions properly in user defined menus.

2009年6月16号 - 2.2

新功能

  • (JDAF) Added static GUIApplication.run() inversion of control methods. These magically create and run a GUIApplication. There is no faster way to make a robust Java desktop application..
  • (JDAF) JDAF now supports multiple DataViews per DataModel (beta). This is accomplished by installing more than one DataViewFactory that returns a unique DataView for the same DataModel instance. The first view is the primary view, following views are considered auxiliary. A new getDataViews(DataModel) returns all the DataViews for the given model. DataViews may be appended and removed for an existing DataModel using the AppliationUIManager method openDataView() and closeDataView(). This new capability should not effect existing JDAF applications, however if you experience odd behavior, you may call the GUIApplication method setAllowMultipleDataViewsPerModel(false) to revert to the previous functionality. DockingApplicatonFeature and FramedApplicationFeature do not yet support the multiple-views capability, though it may be handled manually with a custom DataViewHandler.
  • (JDAF) Added active state to JDAF supplied DataModelFactories and DataViewFactories to turn off a factories behavior (cause the factory to return null). This may be important particularly when creating auxiliary views outside of the openData() or newData() origination cycles.
  • (JDAF) Added passiveExceptionHandling property to ApplicationFeature. See enhancement request here.
  • (JDAF) Added uninstallOnExit property to ApplicationFeature. GUIApplication will not call uninstall after UI shutdown on any ApplicationFeatures where this property is true. This allows for the possible releasing of resources on shutdown..
  • (JDAF) ApplicationFeature uninstall() is no longer abstract. We provide an implementation that throws an FeatureException to prevent uninstallation by default. Override only if you intend for your feature to be removed during the lifecycle of the application or require the releasing of resources on application end. See enhancement request here.
  • (JDAF) Introduced DialogLoggingFeature. Register your Java Logging API Loggers with this feature and all your logging is redirected to a message dialog.
  • (JDAF) Introduced BasicComponentViewFactory. Similar to BasicDataViewFactory except you supply a JComponent class as opposed to a DataView. The component is automatically wrapped in a DataViewPane. Use a DataViewListener to configure the view.
  • (JDAF) Added getMappingKeys() to HashedDataModelFactory, MappedDataModelFactory, and SemanticNameDataViewFactory to expose the underlying mapping keys.
  • (JDAF) Added SplitApplicationUI.getUserComponentSide() to access the side constant that a component may be installed under. Convenient when uninstalling the component in a DataViewHandler.

错误修复

  • (JDAF) Activity was eating Exceptions thrown from ProgressListeners. These are now sent to the DesktopApplication Logger. See bug report here.
  • (JDAF) Attempted intermittent NPE fix in ProgressFeedback. See bug report here.
  • (JDAF) Fixed DesktopApplication property reference race condition issue in Activity. See bug report here.
  • (JDAF) Fixed NPE in FileDialogRequestHandler when using usability methods without FileFilters.

API变动

  • (JDAF) ActivityManager now has a constructor that takes the DesktopApplication instance. This is required to guarantee a reference for Activities. Normally this should not cause an issue unless you have provided your own ActivityManager subclass. See enhancement request here.
  • (JDAF) ApplicationUIManager methods installDataView() and uninstallDataView() are now protected due to state issues given the new multi-view capability.

2009年5月15号 - 2.1.13

新功能

  • (JDAF) Added isOriginating() state in DesktopApplication. True when the application is in process of a newData or openData call. See enhancement request here.
  • (JDAF) Added Vsn.getProductVersion() to return JDAF version number. See enhancement request here.

错误修复

  • (JDAF) DesktopApplication was aborting DataModel origination when a previously closed model was dirty. See bug report here.
  • (JDAF) Close button on window not working in state useDockingFramework/non-DockingApplicationFeature/exitOnLastDataView=false/no models. See bug report here.
  • (JDAF) Fixed race condition when accessing GUIApplcation from inside an Action. GUIApplication object would not be accessible in time. See bug report here.
  • (JDAF) Fixed possible NPE in systemPropertyInstance(). See bug report here.
  • (JDAF) Fixed wrong parameter type at subscribeAll/unsubscribeAll methods of EventManager. See bug report here.
  • (JDAF) Fixed the wrong value is used to lookup in the map in subscribeAll method of EventManager.

API变动

  • (JDAF) PreferencesPane was setting a preferredSize of 475, 400. This was test data and has been removed. The result will cause pack() to be called on your components. If you prefer the same behavior, simply set the preferredSize yourself in the initComponents() method. See enhancement request here.
  • (JDAF) Now preventing DesktopApplication from exiting when originating data. This is a stability concession.
  • (JDAF) Now preventing DesktopApplication.run() from executing more than once since this is undefined and likely hazardous behavior.
  • (JDAF) Refactored/wrapped System.exit() calls to DesktopApplication.systemExit(). This is for future use. We highly discourage depending on this call for aborting application behavior, as the OS can kill the process. (same reason ApplicationVetoException is not thrown from ApplicationLifecyleListener.applicationClosed). Please continue to use applicationClosing with an ApplicationVetoException. See enhancement request here.

2009年4月17号 - 2.1.12

错误修复

  • (JDAF) GUIApplication was not using WindowTitleFormater when using DockingApplicationFeature having no initial primary DataViews. See bug report here.
  • (JDAF) Fixed NPE when using FileHandlingFeature and removing ActionKeys.NEW and ActonKeys.OPEN actions.
  • (JDAF) RecentDocuments was not responding to save and reset/revert events. See bug report here.
  • (JDAF) RecentDocuments.setRecentItemLimit() was not working. See bug report here.

2009年3月30号 - 2.1.11

错误修复

  • (JDAF) DockingApplicationFeature was not allowing criteria to be mapped to DataModel. See bug report here.
  • (JDAF) DockingApplicationFeature under certain circumstances was causing an infinite loop. This might have appeared as a race condition or freezing. See bug report here.
  • (JDAF) Comments corrected in FramedApplicationFeature. An error in global replace caused some erroneous javadoc comments.

API变动

  • (JDAF) FramedApplicationFeature.getDockableConfigurationByCriteria() is obsolete. Use getFramedConfigurationByCriteria().
  • (JDAF) FramedApplicationFeature.getDockableConfigurationByName(). Use getDockableConfigurationByName().
  • (JDAF) FramedApplicationFeature.removeDockableConfiguration(). Use removeDockableConfiguration().

2009年3月27号 - 2.1.10

错误修复

  • (JDAF) Fixed memory leak in GUIApplication. OpenWindows was not properly disposing MenuItems when DataModels/Views where closed. Internal Toolbar references not being removed properly when windows closed. See bug report here.
  • (JDAF) Fixed bug where GUIApplication exits on Windows XP/Vista and Linux when setAllowMultipleOpens(false). See bug report here.

2009年3月19号 - 2.1.9

新功能

  • (JDAF) Added Experimental File Drop recognition to GUIApplications running on Java 6.x. GUI must support an application style where an empty window exists where files can be dropped (35401).
  • (JDAF) Mac OS X Applications will have their dock icon set if running on Java 6+. (35164).
  • (JDAF) FileFormat now supports a readOnly designation. You must provide alternate FileFormats and follow the file conversion guidelines in FileFormat if you wish to save in various formats. (35226).
  • (JDAF) Added convenience method addWindowCustomizer() to GUIApplication.
  • (JDAF) Added DockingApplicationFeature.getLayoutPersistence() to return the correct LayoutPersistence object for the front-most window. See enhancement request here.
  • (JDAF) Default Mac OS X Icon has been changed to the generic Mac OS X application icon..

错误修复

  • (JDAF) Fixed threading issue with opening DataModels that have long initialization times. See bug report here.
  • (JDAF) ActivityManager ProgressListener calls where swallowing exceptions. Now they output to DesktopApplication logger. See bug report here.
  • (JDAF) Fixed NPE in SplitCodeEditor demo. Exception was in the FileSystemDataView. See bug report here.
  • (JDAF) When using AWT save dialogs, and supporting multiple FileFormats, dialogs would not show multiple file formats, which is an AWT design flaw. JDAF now automatically switches to the Swing dialog for this situation and restores accordingly. See bug report here.
  • (JDAF) When using AWT open dialogs, and supporting multiple FileFormats, dialogs would not allow the multiple file formats. See bug report here.
  • (JDAF) Fixed NPE issues when MenuGroupings are not available as standard menus are loaded.

API变动

  • (JDAF) Please use 'jdaf.dockable' instead of 'jdaf.dockablebar' for System property replacement of JDAF Swing window when using either the Action Framework or Docking Framework or both. Just be sure to descend from the proper class.

2009年2月16号 - 2.1.8

错误修复

  • (JDAF) Regression with Action Framework on non-Mac platforms was keeping Action Framework from displaying menubar when also using the Docking Framework. See bug report here.

2009年2月12号 - 2.1.7

错误修复

  • (JDAF) Regression with WindowCustomizers not firing on application exit. Among other possible side effects, the layout state was not getting auto-saved in docking applications. See bug report here.
  • (JDAF) Action Framework CCE on Mac OS X. See bug report here.

2009年2月7号 - 2.1.6

API变动

  • (JDAF) Please use jdaf.dockable.toolbar" instead of "jdaf.dockable.menubar" System property when attempting to replace CommandBar instances".

错误修复

  • (JDAF) A recent update introduced a bug where Mac OS X was showing its hidden root window.
  • (JDAF) Added some verbosity to env parsing in Environment. See bug report here.
  • (JDAF) Fixed NPE concerning Action Framework on OS that use a root window (Mac OS X and Windows XP w/MDI).
  • (JDAF) Mac OS X System Properties are no longer called unless the platform is Mac OS X.
  • (JDAF) Removed redundant call to saveData() for SecondaryDataModels when using the DockingApplicationFeature. See bug report here.
  • (JDAF) AutoInstallActionsFeature now used JideMenu. Was using JMenu which was causing some JIDE look and feel display issues.
  • (JDAF) ApplicationLifeCycleListener.applicationClosing() was fired twice under certain conditions. See bug report here.
  • (JDAF) ApplicationLifeCycleListener.applicationClosed() was not being fired under certain conditions. See bug report here.
  • (JDAF) ApplicationvetoException from ApplicationLifeCycleListener.applicationClosing() was not being honored under certain conditions. See bug report here.
  • (JDAF) TDI Tab DataView reference not being removed properly under certain conditions, resulting in an inaccurate DataView count.
  • (JDAF) BasicDataModelFactory was requiring a resources.property file unecessarily.

  • () .
  • 2008年12月19号 - 2.1.5

    新功能

    • (JDAF) Global Swing class replacement allows you to set a system property to substitute JDAFs use of a Swing class with your own subclass. See enhancement request here.
    • (JDAF) Mac OS X Now supports Action Framework is you so desire. See enhancement request here.

    错误修复

    • (JDAF) Fixed regression where custom layout loading not properly restoring window size. See bug report here.

    2008年10月31号 - 2.1.4

    错误修复

    • (JDAF) Fixed NPE and general operation with GlassPaneBlock when there is no primary DataView. See bug report here.
    • (JDAF) Fixed NPE if no ActionKey.NEW action not available and NewAction is used under another key.
    • (JDAF) Fixed memory leaks in ListeningAction subclasses.
    • (JDAF) ProgressFeedback with ProgressStatusBarItem doesn't set initial message if Activity has few steps. The message for first step is ignored. See bug report here.
    • (JDAF) ApplicationVetoException ignored from DataModelClosing when DocumentPane installed. See bug report here and here.
    • (JDAF) StandardDialogRequestHandler threading issue not blocking dialog when called outside the EventThread. See bug report here.

    API变动

    • (JDAF) Changed install() and uninstall() to install(DesktopApplicaton) and uninstall(DesktopApplication) in AbstractApplicationAction and ConsoleCommand.

    2008年10月14号 - 2.1.3

    新功能

    • (JDAF) Introduced IconSetIconTheme for automatic JDAF integration of the new JIDE Stock Icon libraries and/or IconSetManager.
    • (JDAF) Added associatePropertiesByCriteria to HashedDataModelFactory allow DataModel properties to be associated by criteria as opposed to DataModel class. This allows the use of different Properties for identical DataModel types.
    • (JDAF) Added MapObjectConverter as a complement to PropertiesObjectConverter.
    • (JDAF) Added allowNonGUIListeners to GlobalSelectionFeature to allow non-GUI subscribers.
    • (JDAF) Added addGlobalSelectionListener() and removeGlobalSelectionListener() to GlobalSelectionFeature so that the EventManager need not be directly involved.
    • (JDAF) JTextComponents are automatically wired to the DataModel UndoManager, whether installEditables() is called or not. You may now set any Component client property EditUtils.SKIP_UNDO_REDO to Boolean.TRUE to avoid having its UndoableEdits posted. See enhancement request here.
    • (JDAF) StandardDialogRequest can now define whether the Dialog is modal or not. Use StandardDialogRequest.setUseModal() or pass boolean into one of the static usability methods. See enhancement request here.

    错误修复

    • (JDAF) Some JIDE Components where throwing IAE when using installEditables(). See bug report here.
    • (JDAF) Exit Dialog set using ApplicationUIManager.setShowExitDialog() not working properly under non-MDI configurations.
    • (JDAF) Throwing an ApplicationVetoException from dataModelClosing was not preventing DataView from closing under some circumstances. Mostly MDI and when using DocumentPane under certain conditions.
    • (JDAF) MissingResourceException was thrown if GUIApplication subclassed and a bundle file is not available at same location.
    • (JDAF) Regression initially sizing window when not using JIDE Docking or JIDE Action Frameworks.
    • (JDAF) Fixed when both a small and large icon is set in an Action. The ApplicationToolBarsUI was favoring the small icon.
    • (JDAF) Fixed detection of localized resources concerning FileDialogRequest and button and title labels. See bug report here.
    • (JDAF) Fixed Mac OS X native FileChooser not allowing directory selection when using FileDialogRequest.SELECT_DIRECTORY_DIALOG.

    2008年9月30号 - 2.1.2

    错误修复

    • (JDAF) The isExiting flag not set correctly when DesktopApplication was exiting.
    • (JDAF) When using both JIDE Docking Framework and JIDE Action Framework layouts window sizes where reset on open window. See bug report here.
    • (JDAF) When using DockingManagerListener to manage layout, layout of Dockable information was not persisting. See bug report here.
    • (JDAF) HashedDataModelFactory and MappedDataModelFactory not producing DataModels when resource.properties not available.

    2008年9月24号 - 2.1.1

    新功能

    • (JDAF) Enhanced javadoc for Resources API. See enhancement request here, here, here, and here.
    • (JDAF) Added PropertiesConverter - An ObjectConverter that can convert a String in the form key=value;key=value;... to a Properties object.
    • (JDAF) Add namespacing to MappingResourcesBinding and BeanResourcesBinding.
    • (JDAF) Windows XP Application L&F now shows icons in menus by default. See enhancement request here.

    API变动

    • (JDAF) MappingResourcesBinding Map changed from Map to Map since resource keys are always Strings.

    错误修复

    • (JDAF) Fixed bug in Resources where access to ResourceBundles requiring the System ClassLoader (root-level) bundles would cause an NPE. See bug report here.
    • (JDAF) .

    2008年9月18号 - 2.1

    新功能

    • (JDAF) Enhancements to DockingApplicationFeature that allow tighter integration with JDAF. DockableConfiguration allows more customizable mappings and tighter data cycle control. ToggleFrameAction allow easy menu and toolbar integration. See enhancement request here and here.
    • (JDAF) Initial Release of FramedApplicationFeature. Eases and enhances use of SPLIT_APPLICATION_STYLE by facilitating MVC integration of side-framed DataViews. Similar interface to DockingApplicationFeature.
    • (JDAF) Initial Release of Event API (Included in JDAF standard). Use the EventManager to facilitate centralized events throughout your application.
    • (JDAF) Initial Release of AutoInstallActionsFeature. Action properties can be set that cause menu items and toolbars buttons to be populated automatically.
    • (JDAF) Initial Release of GlobalSelectionFeature. Supports a global selection and response mechanism. See enhancement request here.
    • (JDAF) Introduced SemanticNameDataViewFactory. Vend DataViews based on the semanticName of the DataModel.
    • (JDAF) When running on OS X Leopard/Java5 with ApplicationToolBarsUI.setUseToolBars(true), JDAF now supports the Unified Toolbar" style by setting setToolBarsStyle(UNIFIED_TOOLBAR). Bitwise-or this with LARGE_TOOLBAR_STYLE and/or TEXT_TOOLBAR_STYLE to capture the appropriate look. You will need to place OSXProperties.setBackgroundEffect(OSXProperties.UNIFIED_TOOLBAR) immediately before GUIApplication instantiation. Toolbars will be evenly distributed as per guidelines".
    • (JDAF) To go with the new OS X Unified toolbar style on Leopard/Java5, we have added some methods to set Mac-Specific buttons styles. The makeStyledToolbar(), makeSegmentedToolbar(), and makeSizedToolBar().
    • (JDAF) Added GUIApplication.getApplication(JComponent) as a convenience method for access of GUIApplication instance from a JComponent.
    • (JDAF) Added GUIApplication constructor GUIApplication(String, DataModelFactory, DataViewFactory).
    • (JDAF) DataView classes may now be used to map DataViewHandlers in ApplicationUIManager in addition to DataModel classes. DataModel class takes precedence on match.
    • (JDAF) ApplicationMenuBarsUI and ApplicationToolBarsUI are now sensitive to the Action.SELECTED_KEY of an Action, and will install Toggle" versions of menu items and toolbar buttons automatically. Java 5 users may use the GUIApplicationAction.SELECTED_KEY".
    • (JDAF) Added warnings for when JIDE Docking Framework, JIDE Action Framework, or DocumentPane APIs are requested, but not in the classpath. See enhancement request here.
    • (JDAF) Added ApplicationActonMap.getPropertyChangeListeners().
    • (JDAF) Added ApplicationMenuBarsUI.getMenuGroupingID(Action) - get the MenuGrouping key name that the Action belongs to.
    • (JDAF) Added ApplicationMenuBarsUI.getMenuGroups(JMenu) - get all the MenuGroups that make up the menu.
    • (JDAF) Added ApplicationToolBarsUI.addToolBarButton(Container, Action). Used to only be able to add by actionKey.
    • (JDAF) Added ApplicationToolBarsUI.getStandardToolBarName() to return the localized name of the Standard" toolbar".
    • (JDAF) Added MenuGrouping.insertMenuGroup().
    • (JDAF) MenuGroup is now a Comparable by its anchorIndex.
    • (JDAF) BasicDataModel now sets the criteria in the data property, if it is null, in the newData() and openData() methods as oppose to the init() method. This is more consistent with the idea of data origination. Should not have an effect on current usage.
    • (JDAF) Added ApplicationToolbars method addToolbarSpace() to add a non-separator space in a toolbar.
    • (JDAF) The icon property in AbstractDataModel is now mutable. See enhancement request here.
    • (JDAF) Added targetObject to BeanResourceBinding so that the Object to bind can be different from the resource root.

    API变动

    • (JDAF) Changed signatures in ApplicationToolBarsUI that create and install ToolBar Buttons from JButton to AbstractButton to support Action.SELECTED_KEY. This should't effect most users unless you have overridden the ApplicationUIManagerFactory.
    • (JDAF) OSXProperties.getInstance() is depricated. All methods are now static.
    • (JDAF) DockingApplicationFeature now uses the SemanticNameDataViewFactory instead of MappedDataViewFactory. We have kept MappedDataViewFactory installed for those who expect it, but it is no longer used.
    • (JDAF) Note that all internal JDAF resource bundle files have changed to remove the en_US" Locale identifier. The OS-variants remain as supported by the new OS-extended variant support. See documentation for more details".
    • (JDAF) Added ResourceBinding.getBindTarget() to return the object to bind other than the resource root.

    错误修复

    • (JDAF) Corrected bug in Resources ResourceBundle lookup algorithm. This was causing anomalies in non-en_US" Locales ranging from disappearing Icons to wrong button orders; anything resource related. Those of our international users who had to set an "en_US" Locale may remove this workaround". See bug report here, here, and here.
    • (JDAF) Fixed bug in MappedDataModelFactory - DataModel properties where not getting applied as documented.
    • (JDAF) Fixed bug that kept default layout from restoring when both the Docking and Action frameworks where in operation. See bug report here.
    • (JDAF) Removing some standard Actions was causing NPE. It is now safe to remove all standard Actions (but not recommended). See bug report here.
    • (JDAF) Fixed IOBE in Environment when checking for Linux/KDE. See bug report here.

    2008年7月25号 - 2.0.3

    新功能

    • (JDAF) KDE is now supported automatically. See documentation for details..

    错误修复

    • (JDAF) The JavaCrossPlatformApplicationUI had a regression in the form of an NPE. This would have effected all UNIX platforms or any apps running the -usecp option. See enhancement request here.
    • (JDAF) DATAMODEL_OPENING event was not respecting an ApplicationVetoException. See enhancement request here.

    2008年7月3号 - 2.0.2

    新功能

    • (JDAF) Added ApplicationToolBarsUI.getToolbar(window, name) to return a specific toolbar from a window. See enhancement request here.

    错误修复

    • (JDAF) ApplicationToolBarsUI.getToolBars(name) was returning all toolbars, not just the named one. See enhancement request here.
    • (JDAF) Regression in Docking LayoutPersistence support - was not respecting setPreferedWindowSize due to new support of frame bounds. New behavior respects preferred size until layout is persisted. See enhancement request here and here.
    • (JDAF) Regression when adding program arguments - GUIApplication may not open if argument is not a file that exists. See enhancement request here.

    2008年6月20号 - 2.0.1

    新功能

    • (JDAF) Added getFocusedViews() to the GUIApplication to easily return all focused DataViews (primary and all secondary) from the front-most window.
    • (JDAF) Added getFocusedModels() to the GUIApplication to easily return all focused DataModels (primary and all secondary) from the front-most window.
    • (JDAF) Added getDockingManager(), getDockingManager(DataView), getDataModel(DockableFrame) and getDataView(DockableFrame) to the DockingApplicationFeature for convenience. See enhancement request here.
    • (JDAF) Added reset feature to ProgressFeedback. Now component can be reset to a zero-progress state at progressEnd. Useful for on-screen components if showHide is not desirable.
    • (JDAF) To use the secondary status message in ProgressFeedback, set the client property ProgressFeedback.USE_SECONDARY_STATUS_MESSAGE in your component with Boolean.TRUE.
    • (JDAF) JDAF/Docking Framework auto-persistence now saves/restores window bounds.

    API变动

    • (JDAF) AbstactDataModel no longer exposes the PrpertyChangeSupport. Instead firePropertyChange() methods are provided.
    • (JDAF) Deprications due to spelling of Persistence"".

    错误修复

    • (JDAF) Explicit Save As" from menu continued to save when canceled".
    • (JDAF) JDAF Application Wizard not exiting on Cancel.
    • (JDAF) JDAF Code Generation presenting wrong installActions() signature when subclassing GUIApplication. There should be no arguments.
    • (JDAF) Fixed issue where XP icons revert to classic when swapping out default Actions.
    • (JDAF) BasicDataModel dataChanged not sending correct property name. (Was sending Name" instead of "Data")".
    • (JDAF) DockingApplicationFeature would not reopen DataViews once closed. See enhancement request here.
    • (JDAF) HelpAction causing NPE if name not provided. Added new constructor to provide for name and help topic.
    • (JDAF) Fixed issue where ProgressFeedback was not updating upon reuse when using explicit component. See enhancement request here.

    2008年4月15号 - 2.0

    新功能

    • (JDAF) Added static DataViewPane.getDataViewPane(Component). This method will climb up the container hierarchy to access a top-level DataViewPane, diffusing the need to pass the DataView reference to nested components.
    • (JDAF) Added EDIT_EDIT_SPECIAL_GROUP MenuGrouping to Mac OS X and Windows XP Edit menu. This was not normally available because it is not Guidelines-specified, but we have added it so that users may use it. This provides two MenuGroups in the Edit menu to customize; use EDIT_EDIT_SPECIAL_GROUP_ID and EDIT_USER_GROUP_ID.
    • (JDAF) Added ConsoleCommand resetToIdle().
    • (JDAF) Improved robustity in Environment capture.
    • (JDAF) Added ApplicationWindowsUI sizeToScreen property. In the past JDAF windows are constrained to fit to screen. This option now allows this to be turned off, for example to allow a window to span multiple screens.
    • (JDAF) DefaultWindowTitleFormat now supports UL-syntax. Simply set the appropriate pattern using ${applicaton.x} where "x" is a property of your application or aggregate extension.
    • (JDAF) ActivityAction now has getters and setters for the Activity as opposed to only accepting an Activity in the constructor. This provides more flexibility both with resource binding and Activity configuration.
    • (JDAF) You may use the new pre-run option setUseRecentDocuments(false) on the FileHandlingFeature to turn off this functionality if desired.

    API变动

    • (JDAF) Completed java 5 syntax refactoring.
    • (JDAF) Removed FileDataViewFactory.removePrintViewClass(). Old and unused artifact.
    • (JDAF) com.jidesoft.app.framework.gui.BasicTransferable refactored to com.jidesoft.utils.BasicTransferable.
    • (JDAF) Single string ExecuteCommand constructor mistakenly used argument as newCommand. Changed to use as the external command.

    错误修复

    • (JDAF) NPE when using null as dir argument in FileDialogRequest.showSaveDialog().
    • (JDAF) Opacity setting moving out of bounds on occasion on Mac OS X fade of GlassPaneBlock for Activity ProgresssListener.
    • (JDAF) Fixed ExternalCommand occasional deadlock.
    • (JDAF) Fix extra margin in Wizard generated About box with splash image.
    • (JDAF) Cascade feature now wraps windows to the top when extending past the screen.
    • (JDAF) Fixed intermittent NPE when many windows open on OS X and option-clicked to close all.
    • (JDAF) ObjectFormat was not re-configuring ELFormatTokens when new pattern set.
    • (JDAF) Fixed bug in Activity where Exception in activiyPerformed was not property canceling the Activity as advertised.
    • (JDAF) The MenuGroup method addMenuItem(Action) was adding an empty menu item if the Action was null.
    • (JDAF) BasicDataModel data property change event was firing using PROPERTY_NAME constant. (Regression).
    • (JDAF) BasicDataModelFactory was setting over DataModel name after creation if criteria is null.