JGoodies Dialogs Release Notes CHANGES IN 1.28.1 --------------------------------------------------------- o Removed redudant type information. CHANGES IN 1.28.0 --------------------------------------------------------- o The deprecated login classes have been removed. o Removed the Windows Aero (Vista/7) style and its icons. CHANGES IN 1.27.0 --------------------------------------------------------- o FIX: Command area line separator invisible. o The Windows Aero style (for Windows Vista/7) has been removed; the Windows Metro style will be used on these platforms. o Refreshed the Basic style's expansion control icons. o Overhauled the command area settings. o Marked the login classes as deprecated. CHANGES IN 1.26.0 --------------------------------------------------------- o Replaced deprecated [Action]ObjectHandler code. o Recompiled against JGoodies Components 1.31. o Improved JavaDocs. CHANGES IN 1.25.0 --------------------------------------------------------- o Removed the obsolete TaskPane#PROPERTY_EXPAND_FOOTER. o Fixed JavaDocs regarding hyperlink listeners. CHANGES IN 1.24.0 --------------------------------------------------------- o CommandValue.APPLY is no longer categorized as commit button. o Added a test that APPLY may be used as additional command button. o Added a style check that main instructions don't start with "Please" or "Would you like". o Added tests for the new style check. o Added localized common text for "Duplicate". o Improved tests. o Fixed JavaDocs syntax. CHANGES IN 1.23.1 --------------------------------------------------------- o Added OS-specific variants for the AboutPanes default dialog title. o Added package infos. o Source cleanup. CHANGES IN 1.23.0 --------------------------------------------------------- FIX: InputPaneBuilder ignores size settings: minimumSize, maximumSize, and resizable. o Added JSDLCoreSetup#setDialogResizableDefault(boolean) to specify, if dialogs created with this library's builders are resizable by default or not. This setting is overridden per builder. o Added InputPaneBuilder methods: - #contentGrowsHorizontally - #showSingleLineTextInputDialog(String initialText, int columns) - #showSingleLineTextInputDialog(String initialText, String prompt) - #showMultiLineTextInputDialog(String initialText, int columns, int rows) o Changed TabbedStyledPane, TabbedFormPane, and TabbedPropertyPane: - They accept tab titles marked with a mnemonic marker ('_' or '&'), and set the tab's mnemonic and mnemonic index. - Blank tab titles are rejected. - Added a style check for tab title's that are not trimmed. - Added tests for adding (marked) tab titles. o Added TabbedStyledPane.Adder#scrolledContent. CHANGES IN 1.22.0 --------------------------------------------------------- o Added TaskPaneBuilder#onExpandedChangeWindowsSizeBy o Added #minimumSize and #maximumSize to TaskPaneBuilder, InputPanelBuilder, *SelectionPaneBuilder. o Added TaskPane#setAdditionalCommandButtons(JButton...). o Added TaskPaneBuilder#additionalCommandButton(JButton...). o Added StyledPane#setAdditionalCommandButtons(JButton...). o Added StyledPaneBuilder#additionalCommandButton(JButton...). o Fixed JavaDocs. CHANGES IN 1.21.1 --------------------------------------------------------- o Fixed a text resource. CHANGES IN 1.21.0 --------------------------------------------------------- o Source cleanup. o Recompiled against JGoodies Common 1.23.0. o Fixed docs. CHANGES IN 1.20.0 --------------------------------------------------------- o Incompatible change in the JSDLCoreStyleChecks: - As an API class it has been moved from package *.dialogs.internal to *.dialogs.core. - WINDOW_TITLE_HAS_NO_ENDING_PUNCTUATION -> WINDOW_TITLE_DOES_NOT_END_WITH_PUNCTUATION_MARK, - MAIN_INSTRUCTION_HAS_NO_ENDING_PUNCTUATION -> MAIN_INSTRUCTION_DOES_NOT_END_WITH_PERIOD o Overhauled the internal core style check implementation. o New window title check: must not end with a punctuation mark. CHANGES IN 1.19.1 --------------------------------------------------------- o FIX: ClassCastException if a TaskPane is closed while uninitialized. Affected methods are: - MessagePaneBuilder#showConfirmation - MessagePaneBuilder#showRiskyActionConfirmation - StandardPaneBuilder#showReviewAllChangesConfirmation - StandardPaneBuilder#showSaveAllChangesConfirmation - StandardPaneBuilder#showSaveChangesConfirmation o AbstractStyledPane does not set a WindowFocusListener. o Fixed StandardPaneBuilder JavaDocs. CHANGES IN 1.19.0 --------------------------------------------------------- o FIX: AbstractStyledPane#createDialog rejects event sources from heavy weight popups. o Removed AbstractPaneFactory. o Removed deprecated methods pairs #addTab + #done from: - ListPropertyPaneBuilder - TabbedPropertyPaneBuilder - TabbedStyledPaneBuilder - TreePropertyPaneBuilder These have been replaced by #beginTab + #endTab before. o Migrated tests to JUnit 5. o Added support for auditory feedback - if supported by the Look&Feel. As of version 3.6, the JGoodies Windows L&f has auditory feedback for opening error, warning, question, and information dialogs. The default implementation for JGoodies styled panes plays sounds only for error and warning dialogs. You can disable this auditory feedback by overriding the L&fs playlist, using: UIManager.put("AuditoryCues.playList", new Object[] {}); after the Look&feel installation. To just play the error sound, use: UIManager.put("AuditoryCues.playList", new Object[] { "OptionPane.errorSound"}); CHANGES IN 1.18.2 --------------------------------------------------------- o Marked AbstractPaneFactory as deprecated. o Internal implementation change. CHANGES IN 1.18.1 --------------------------------------------------------- o FIX: AbstractStyledPane#createDialog throws ClassCastException when invoked with an owner component from a popup window. o Localized for Switzerland. o Internal implementation change. CHANGES IN 1.18.0 --------------------------------------------------------- o Improved the directory chooser feature: - added DirectoryChooserView#isSelectionEmpty and #hasSelection - StandardPaneBuilder#showDirectoryChooser returns ReturnValue - fixed French directory chooser resources CHANGES IN 1.17.1 --------------------------------------------------------- o FIX: SingleSelectionPaneBuilder's and MultipleSelectionPaneBuilder's supplemental instruction does not wrap, is located between label (main instruction) and list view, and is not accessible. The supplemental instruction is now located below the list view and is implemented as static text. CHANGES IN 1.17.0 --------------------------------------------------------- o Replaced builder API method pairs (addXXX/done) by (beginXXX/endXXX). Marked the old API as deprecated. o Changed the MultipleSelectionPaneBuilder - added #cellFormatter(Function) - changed #selectedItems(V) to #selectedItems(V...) o Fixed JavaDocs. CHANGES IN 1.16.0 --------------------------------------------------------- o Removed the footnote feature from all dialog classes and builders. o Removed JSDLCoreResources, use CoreDialogResources instead. o Removed deprecated JSDLUtils methods: - #getParent(EventObject) -> #getWindowFor(EventObject) - #getWindowForComponent(Component) -> #getWindowFor(Component) o Added InputPaneBuilder#showLocalDateInputDialog. CHANGES IN 1.15.0 --------------------------------------------------------- o Marked JSDLCoreResources as deprecated. This class and its API has been replaced by class CoreDialogResources. o Added CommandValue.DONE. CHANGES IN 1.14.3 --------------------------------------------------------- o Renamed methods in JSDLUtils: - #getParent(EventObject) -> #getWindowFor(EventObject) - #getWindowForComponent(Component) -> #getWindowFor(Component) o Marked footnote features as deprecated; these will be removed from the next version: - TaskPane#getExpandFooter, #setExpandFooter - TaskPane#getFootnoteIcon, #setFootnoteIcon - TaskPane#getFootnoteText, #setFootnoteText - PaneBuilder#expandFooter - PaneBuilder#footnoteIcon - PaneBuilder#footnoteText o Removed an unused AbstractStyledPane constructor. o Improved the command bar builder internal API. o Fixed JavaDocs. o Removed a reference to an outdated internal Commons API. o Adjusted tests. CHANGES IN 1.14.2 --------------------------------------------------------- o (Accessibility) Fixed broken ControlList resource access. CHANGES IN 1.14.1 --------------------------------------------------------- o BasicCommandValues have been replaced by new CommandValues: SAVE_ALL_CHANGES, DISCARD_ALL_CHANGES, DISCARD_CHANGES, REVIEW_ALL_CHANGES, REVIEW_CHANGES. o Added CommandValues: PROCEED_ANYWAY, RUN_ANYWAY. o WizardPageBuilder allows blank main instruction text, but checks this condition with a new style check JSDLCoreStyleChecks.WIZARD_PAGE_MAIN_INSTRUCTION_NOT_BLANK. o The three core resource bundles com.jgoodies.dialogs.core.resource.Accessibility, com.jgoodies.dialogs.core.resource.CommonLabels, and com.jgoodies.dialogs.core.resource.Resources have been merged to com.jgoodies.dialogs.core.resources.CoreDialogResources. This bundle comes as properties files encoded in UTF-8. o Removed the Mac-specific texts from the resource texts. o By default JSDLCoreResources has a ResourceBundle.Control set that reads the core resources as UTF-8. o The text resources from com.jgoodies.dialogs.basics.resources.BasicCommandValue, have been moved to the 'Commands' section of com.jgoodies.dialogs.core.resources.CoreDialogResources. This bundles comes as properties files encoded in UTF-8. o The text resources from com.jgoodies.dialogs.basics.resources.BasicVerifications, have been moved to the 'Texts' section of com.jgoodies.dialogs.core.resources.CoreDialogResources. This bundles comes as properties files encoded in UTF-8. o The following basic resource bundles com.jgoodies.dialogs.basics.accessibility.resources.ControlList, com.jgoodies.dialogs.basics.choice.list_builder.resources.AbstractListBuilderView, com.jgoodies.dialogs.basics.login.dialog.resources.LoginResources, com.jgoodies.dialogs.basics.misc.resources.AboutPanes, com.jgoodies.dialogs.basics.misc.resources.TipOfTheDayPane, com.jgoodies.dialogs.basics.resources.StandardPaneBuilder, have been merged to com.jgoodies.dialogs.basics.resources.BasicDialogResources. This bundle comes as properties files encoded in ISO-8859-1, which is the default in Java 8 for PropertyResourceBundle. o Added French core and basic resources. o FIX: German login text resources are broken. CHANGES IN 1.13.1---------------------------------------------------------- o Implementation uses more method references for event handlers. CHANGES IN 1.13.0---------------------------------------------------------- o Removed StandardPaneBuilder methods: - #preferredWidth(int) - #preferredwidth(PreferredWidth) - #aspectRatio(double) - #aspectRatio(AspectRatio) - #buildNotYet* o Internationalized StandardPaneBuilder#showDirectoryChooser. o Implementation uses more method references. o Shorter standard dialog texts, for example: "Do you want to save changes in Invoice 123?" -> "Save changes in Invoice 123?" o Removed the default icon for the Not Yet-Dialogs. o StandardPaneBuilder's directory chooser can check for synthetic files that are not in the file system. o Added JavaDocs. CHANGES IN 1.12.0---------------------------------------------------------- o Fixed InputPaneBuilder#showMultiLineTextInputDialog. o Added JSDLCoreResources#setResourceBundleControl. CHANGES IN 1.11.2---------------------------------------------------------- o Implementation improvement. CHANGES IN 1.11.1---------------------------------------------------------- o API clarification for setting the hyperlink listener in AbstractStyledPanes and AbstractStyledPaneBuilder. CHANGES IN 1.11.0---------------------------------------------------------- o Improved support for high dpi displays. o Added AbstractStyledPaneBuilder#commandBar. CHANGES IN 1.10.1---------------------------------------------------------- o Builders reject duplicate calls to method that shall be called once. o Improved layout for input and selection dialogs where the main instruction text labels the content. o Added missing JavaDocs to some builders. o Improved internal code. CHANGES IN 1.10.0---------------------------------------------------------- o Removed all deprecated methods. CHANGES IN 1.9.1 ---------------------------------------------------------- o Implementation uses more Java 8 features. o Improved JavaDocs. CHANGES IN 1.9.0 ---------------------------------------------------------- o All builder constructors are now public. o All static methods *builder#create() have been marked as deprecated. Use the public constructor instead. o Fixed broken ListBuilder move-up and move-down button labels. o Added WizardPane#addPages(WizardPage...) and #addPages(List). o Added a sanity check that avoids duplicate wizard pages. o Added WizardPaneBuilder. o Added TreePropertyPaneBuilder. o ListPropertyPaneBuilder and TabbedPropertyPaneBuilder now use a new API for adding tabs that is consistent with other builder APIs for adding child items. CHANGES IN 1.8.1 ---------------------------------------------------------- o Added a style check that a main instruction must not repeat the window title. o Uses the I18nActionBuilder for internal Actions. CHANGES IN 1.8.0 (Java 8) ------------------------------------------------- o Moved to Java 8. o Replaced some annotated event handling methods by method references. CHANGES IN 1.7.2 --------------------------------------------------------- o Fixed the style setup on dynamic L&f changes. o Improved the color configuration for Ocean and Nimbus. CHANGES IN 1.7.1 --------------------------------------------------------- o Task pane foot note gap between icon and text uses DLU not pixel. CHANGES IN 1.7.0 --------------------------------------------------------- o Task pane command area has height 0 if command content is invisible. o Replaced the internal JSDLCardPanel by the JGCardPanel. o Renamed com.jgoodies.jsdl.* -> com.jgoodies.dialogs.* CHANGES IN 1.6.0 --------------------------------------------------------- o Replaced JGoodies Forms by JGoodies Layout. o Fixed and added JavaDocs. CHANGES in 1.5.0 --------------------------------------------------------- o "JSDL-Core" + "JSDL-Basics" -> "JGoodies Dialogs". o Added CommandValues CONNECT, DISCONNECT, and RESOLVE. o Uses the new hyper link API. o Fixed revalidation on layout changes, e.g. #layoutType(WIDE). o New Metro command area style. o More consistent dialog default widths. o Adjusted ControlList and its resources for the new link classes. o Fixed texts for StandardPaneBuilder's save-all-changes. o Added a directory chooser to StandardPaneBuilder, see the methods #showDirectoryChooser. o Renamed WizardPage interface methods: #onPageShowing -> #onActivating #onPageVisible -> #onActivated #onPageHiding -> #onDeactivating o Fixed many JavaDoc issues. CHANGES in 1.4.1 --------------------------------------------------------- o Changed the mnemonic marker from ampersand ('&') to underscore ('_'). o Replaced German umlauts by unicode. o Improved JavaDocs. o Changed a mnemonic in German resources. CHANGES in 1.4.0 --------------------------------------------------------- o Moved to Java 7. o Fixed broken control list resources. o Static internationalization for the control list view. CHANGES in 1.3.0 --------------------------------------------------------- o Significantly extended and improved the JavaDocs. o Removed deprecated code. o Replaced the tab border configuration by the padding concept in TabbedPropertyPaneBuilder, ListPropertyPaneBuilder, and TabbedStyledPaneBuilder. Instead of general Borders, now only EmptyBorders are allowed. These will typically be created using the Paddings class. CHANGES in 1.2.0 --------------------------------------------------------- o Removed the internationalization API from all builders. In other words, all methods *TextKey(String key, Object... args) have been removed from the TaskPaneBuilder, PropertyPaneBuilder, WizardPageBuilder, etc. o Fixed a regression where a missing cancel command was not detected. o Fixed and improved JavaDocs. o WizardModel#onFinishPerformed and #onCancelPerformed now accept a general EventSource instead of ActionEvent. Useful to perform the finish operation from other event such as mouse double click. o Added AbstractWizardPageModel#doFinish and #doCancel. CHANGES in 1.1.0 --------------------------------------------------------- o Moved TaskPane to the package com.jgoodies.jsdl.core.pane.task. To migrate, just reorganize your imports. o Added builders for TaskPane, PropertyPane, TabbedPropertyPane, ListPropertyPane, WizardPage, StyledPane, TabbedStyledpane. They use a simple, guided, and rich API for building panes, and showing dialogs for these panes. The builders provide new convenience behavior: - Formatted texts such as main instruction text, foot note text, etc, for example: #mainInstructionText(String text, Object... args). - Resource access for Icons, and formatted Strings, for example: #titleKey(String key, Object... args) #mainInstructionTextKey(String key, Object... args) #mainInstructionIconKey(String key) #contentTextKey(String key, Object... args) #verificationTextKey(String key, Object... args) #footNoteTextKey(String key, Object... args) - Setting a TaskPaneWorker that is executed on showing the dialog o Overhauled the TaskPane API: - Removed #addRadioButton(Object, Icon, String) because the icon should be the standard icon. o Overhauled the visual configuration for all styled panes. - The configuration of gaps, margins, background areas, fonts, etc has been moved to a visual configuration that can be accessed via #getVisualConfiguration(). - The old setters have been marked as deprecated. - To migrate replace for example: aTaskPane.setMarginContentTop(0) by aTaskPane.getVisualConfiguration().setMarginContentTop(0). - Added new features for the content's horizontal alignment and task pane main icon vertical alignment. o Added DefaultWizardPageModel(WizardModel, WizardButtons...). Useful to turn new DefaultWizardPageModel(model, new Buttons(FINISH, CANCEL)) into new DefaultWizardPageModel(model, FINISH, CANCEL) o Added ListPropertyPane/TreePropertyPane behavior to add a tab where the text used as component title differs from the tab text displayed in the list/tree. o Source style improvements. o Changed list builder resources: - "Add all ->" becomes "Add all" - "<- Remove all" becomes "Remove all" o Added PreferredWidths #XS, #XL, and #XXL. o Added a TaskPane style violation check that the main instruction text shall be more than a single word in western languages. o Marked many TaskPane constructors that have been replaced by the TaskPaneBuilder as deprecated. CHANGES in 1.0.7 --------------------------------------------------------- o Fixed localized text for "common.remove". o Added list builder resources to the common labels: "Add ->", "<- Remove", "Add all ->" and "<- Remove all". o Replaced CommandValue.UP by CommandValue.MOVE_UP and CommandValue.DOWN by CommandValue.MOVE_DOWN. o Added resources for "Select all" and "Clear all" check boxes. o Added a style check for wizard page main instructions that shall not use ending punctuation. o Fixed broken Forms reference in pom.xml. CHANGES in 1.0.6 --------------------------------------------------------- o Added an ellipsis to the "Browse" and "Save as" resource texts. o Added common labels "More..." and "Other...". o Added list builder resources "Add ->" and "<- Remove". CHANGES in 1.0.5 --------------------------------------------------------- o Added a style check for trailing "..." in main instructions that should be replaced by the ellipsis character \2026. o Added tests for the main instruction style checks. o Added a special check for Mac application events to JSDLUtils#getParent(EventObject). Returns the single root frame - if any. CHANGES in 1.0.4 --------------------------------------------------------- o Added style checks for null window parents. o Added tests for new and existing style checks. o Added docs for AbstractStyledPane#createDialog and #showDialog. o Sets the name of the TaskPane foot note component. CHANGES in 1.0.3 --------------------------------------------------------- o Fixed broken default command in screen reader optimization mode. o Improved default handling of the initial focus in styled panes. The new behavior aims to enabled immediate keyboard support for changing the default command button with the arrow keys. o Compiled against the JGoodies Common 1.5. o Adjusted a test for rejected whitespace command link descriptions. o Source code cleanup. o Fixed and extended the pom.xml: - added schema - fixed scope for dependencies - added build data CHANGES in 1.0.2 --------------------------------------------------------- o Adjusted the implementation after changes in requires libraries. CHANGES in 1.0.1 --------------------------------------------------------- o The javadocs, main and test sources are delivered as JARs. CHANGES in 1.0.0 --------------------------------------------------------- o Requires Java 6. o Supports the Java 6 Dialog.ModalityType. Added method variants that set this type: AbstractStyledPane#createDialog and #showDialog. o Added component names to simplify automated tests. CHANGES in 0.11.0 --------------------------------------------------------- INCOMPATIBLE CHANGES o All Action methods in interfaces use ActionEvent instead of EventObject as parameter type. For example WizardPageModel#onBackPerformed(EventObject) is now #onBackPerformed(ActionEvent) o AbstractLink, ActionLink, HelpLink, MenuLink, CommandLink, and their resources have been moved to JSDL Component. OTHER CHANGES o Resource cleanup. o AbstractPropertyPaneModel extends ActionBean. JSDL Core 0.10.2 --------------------------------------------------------- CHANGES o All Actions that are implicitly created by the JSDL Core commit a pending edit value before the action is performed via TextComponentUtils#commitImmediately(). o Simplified interface definition by extending ObservableBean[2]. o Source code improvements. JSDL Core 0.10.2 --------------------------------------------------------- CHANGES o Improved the accessibility of wizard pages. JSDL Core 0.10.1 --------------------------------------------------------- BUG FIXES o Fixed a regression in AbstractStyledPane where it avoids to focus static text if optimized for screen reader. CHANGES o Removed the check for the a blank CommandLink description. o Wizard pages aim to avoid to transfer focus to static text; this reduces the text being read by screen readers. JSDL Core 0.10.0 --------------------------------------------------------- INCOMPATIBLE CHANGES o Removed AbstractStyledPane#createButton(String). Uses the JGComponentFactory instead where you can configure the button creation. o Removed AbstractWizardPage#createStaticText(String). o Removed factories. o Moved factory methods to the JGComponentFactory. o Moved the StyleChecker infrastructure to JSDL Common. o Moved JSDLSetup hyperlink listener to JGComponentFactory. o Moved HyperlinkAdapter to JSDL Component. o Moved JSDLUtils#crop to JSDL Common IconUtils. o Moved JSDLUtils resource methods to internal JSDLCoreResources. NEW FEATURES o AbstractStyledPane can have an individual hyperlink listener that overrides the default in JGComponentFactory. o AbstractStyledPane#setCommitValues accepts JButtons as arguments making it easier to open views without model for a quick preview. The relevant constructors (TaskPane, StyledPane, PropertyPane) that direct to #setCommitValues also accept buttons. o PropertyPane, TabbedPropertyPane, ListPropertyPane, TreePropertyPane accept a null PropertyPane during construction. Useful to build a view without model. o FormPane and TabbedFormPane accept a null FormPaneModel. o AbstractStyledPane aims to avoid to transfer focus to static text; this reduces the text being read by screen readers. JSDL Core 0.9.20 --------------------------------------------------------- BUG FIXES o Added the "TaskPane.informationIcon" as resource, not as icon type. This icon is useful for Tip of the day dialogs. JSDL Core 0.9.19 --------------------------------------------------------- CHANGES o Removed JSDLFactory#createTextArea. o Clarified in JavaDocs that AbstractStyledPane#isInitialFocusVisible is inactive if the screen reader optimization is enabled. o AbstractStyledPane avoids static text like the main instruction and supplemental instruction as default component when the focus is transferred to the pane when it becomes showing. o Although not specified by the JavaDocs, #setDefaultCommon in AbstractStyledPane aims to set the default button, even if the pane or its container window is already showing. o Adjusted imports for the JSDL-Common and JSDL-Component libraries. JSDL Core 0.9.18 --------------------------------------------------------- BUG FIXES o Fixed broken check for known languages in StyleChecker. OTHER CHANGES o Removed system output from StyleChecker. JSDL Core 0.9.17 --------------------------------------------------------- INCOMPATIBLE CHANGES o Removed the deprecated IconType.INFORMATION. Information icons aren't needed in dialog boxes, notifications, and balloons because their context sufficiently communicates that they are providing users with information. Information icons are used to draw attention to banners, for example if you notify the user about security issues. o Renamed event handling methods: CloseRequestHandler#paneClosing -> onPaneClosing FormPaneModel#performAccept -> onAcceptPerformed #performCancel -> onCancelPerformed #performApply -> onApplyPerformed PropertyPaneModel#performOK -> onOKPerformed #performCancel -> onCancelPerformed #performApply -> onApplyPerformed WizardModel#performFinish -> onFinishPerformed #performCancel -> onCancelPerformed WizardPageModel#performBack -> onBackPerformed #performNext -> onNextPerformed #performFinish -> onFinishPerformed #performCancel -> onCancelPerformed #pageActivating -> onPageActivating #pageActivated -> onPageActivated #pageDeactivated -> onPageDeactivated #windowClosing -> onWindowClosing WizardPage#pageShowing -> onPageShowing #pageVisible -> onPageVisible #pageHiding -> onPageHiding OTHER CHANGES o Added style check that errors are never OK. o Reduced style check severity for missing mnemonic in labeling main instructions to INFO. o Simplified some style checks. o Fixed some unit tests. JSDL Core 0.9.16 --------------------------------------------------------- o Marked IconType.INFORMATION as deprecated. Will be removed from the next version of the JSDL Core. o Added MessageType.QUESTION_CRITICAL that has a warning icon and uses a question window (if supported by the window system). Used for questions where you want to indicate a critical condition or an imminent problem. o Checks that the TaskPane main instruction is a question, if the MessageType is QUESTION or QUESTION_CRITICAL. o Checks that the window title and the main instruction do not use ending punctuation. o Overhauled the style checking system. The default setup logs all style guide violations and never throws exceptions. You can enable exceptions for style violation errors by setting the System property "StyleViolation.logUpToLevel" to "warning". If you want to throw exceptions for errors and warnings, set the value to "info"; use "ignore" for throwing exceptions for error, warning, and info violations. If you want to temporarily disable some style checks, use this: StyleCheckConfiguration original = StyleChecker.ignore( StyleChecker.WINDOW_TITLE_HAS_NO_ENDING_PUNCTUATION, StyleChecker.MAIN_INSTRUCTION_HAS_NO_ENDING_PUNCTUATION); < here goes the code that shall be performed without the checks > StyleChecker.restore(original); o Removed JSDLSetup methods for the old style checking feature. o Adjusted tests. JSDL Core 0.9.15 --------------------------------------------------------- INCOMPATIBLE CHANGES o Removed the deprecated monster constructors from the AbstractWizardPageModel and DefaultWizardPageModel classes that have been replaced by the new construction in 0.9.14. o Removed JSDLSetup#setEnhancedAccessibility and its getter that has been replaced by #setOptimizedForScreenReader in 0.9.14. BUG FIXES o Fixed resource key in AbstractStyledPane#rejectPaneClosing. o Fixed resource key in AbstractStyledPane#rejectWindowClosing. OTHER CHANGES o Added CommandValues PROCEED, SAVE_ANYWAY. JSDL Core 0.9.14 --------------------------------------------------------- This version comes with an overhauled construction of AbstractWizardPageModels and DefaultWizardPageModels. See the below and the JavaDocs of the new constructors for examples how to use them. INCOMPATIBLE CHANGES o Removed IconType.QUESTION. Questions just have a question mark in the main instruction text. Use IconType.WARNING (or better MessageType.WARNING) for questions where you want to indicate a critical condition or an imminent problem. o Removed the rarely used monster constructors that set for all buttons (Back, Next, Finish, Cancel) the visibility, enablement, and text. o Marked the monster constructors that set for all buttons the visibility and enablement as deprecated. These constructors will be removed from the next version. o Renamed resource keys in the Resources bundle, e.g. rejectPaneClosing.content -> rejectPaneClosing.supplementalInstruction o AbstractStyledPane#createDialog and #showDialog check that dialogs are created in the EDT. o Renamed the implementation class CardPanel to JSDLCardPanel and moved it to the internal package. o The CommandValue.DONT_* are now commit only commands. Hence, they are rejected as additional commands. NEW FEATURES o Added CommandValue.DONT_REMOVE. o Added MessageType.HELP. o Added the Verification interface. o Added TaskPane#setVerification(Verification). o Added TaskPane#setMainInstructionLabelsContent(boolean) and AbstractWizardPage#setMainInstructionLabelsContent(boolean) that can be used to omit control labels that restate the main instruction. Example: Acceptable Enter your billing address &Billing address: [TextArea ] Better &Enter your billing address [TextArea ] CHANGES o JSDLSetup renamings: + #getEnhancedAccessibility -> #isOptimizedForScreenReader, + #setEnhancedAccessibility -> #setOptimizedForScreenReader, o Improved AbstractWizardPageModel JavaDocs. o Improved JavaDocs related to the main instruction. o Improved predefined main instruction texts. o Added new constructors to AbstractWizardPageModel and DefaultWizardPageModel that accept a WizardModel and a Buttons instance that is used to set up the buttons. Examples: 1) All buttons visible and enabled: new DefaultWizardPageModel( aWizardModel, new Buttons(BACK, NEXT, FINISH, CANCEL)); 2) All buttons hidden: new DefaultWizardPageModel( aWizardModel, new Buttons()); 3) Back invisible, Next disabled, Finish and Cancel enabled: new DefaultWizardPageModel( aWizardModel, new Buttons(NEXT_DISABLED, FINISH, CANCEL)); JSDL Core 0.9.13 --------------------------------------------------------- This version adds CommandValue#DONT_DELETE and creates instances of JGButton not JButton for command bars. JSDL Core 0.9.12 --------------------------------------------------------- INCOMPATIBLE CHANGES o Removed the deprecated method JSDLUtils.isOSMac() that has been replaced by JSDLSystemUtils.IS_OS_MAC in a previous release. o Removed the deprecated method DefaultWizardModel#ask that has been replaced by #confirm in a previous release. o Removed the deprecated StyleUtils class. o Added checks for null parameters in constructors and methods. NEW FEATURES o Added access to the tabbed pane's selection model via #getTabModel to TabbedPropertyPane, TabbedStyledPane and TabbedFormPane. USING JGOODIES COMMON This version has a dependency to the JGoodies Common library. Internal classes have been replaced by common classes. o Replaced JSDLAbstractBean by Common AbstractBean. o Replaced JSDLRenderingUtils by Common RenderingUtils. o Validation of constructor and method parameters and state is done by the new Preconditions class. o Uses the Common MnemonicUtils OTHER CHANGES o Overhauled all preconditions. o Fixed FormPane JavaDocs. o Added and adjusted tests. JSDL Core 0.9.11 --------------------------------------------------------- INCOMPATIBLE CHANGES o Removed the deprecated method AbstractWizardPage#buildTextContent(). o The IconType.QUESTION is rejected by the JSDL strict checks. Question dialogs have a question mark in the main instruction text; don't use a question icon. The icon is warning or none, where the warning icon indicates a critical condition or an imminent problem. o The MessageType.QUESTION has a null icon where it had the IconType QUESTION associated before. o Changed resources keys in the "Resources" bundle: rejectPaneClosing.windowTitle -> rejectPaneClosing.title rejectWindowClosing.windowTitle -> rejectWindowClosing.title rejectWindowClosing.contentText has been removed BUG FIXES o ActionLink and MenuLink hide the mnemonic if desired by the L&f. o HelpLink suppresses mnemonic correctly. o Fixed broken JSDLGroupUtils group population. o JSDL group ids may overlap with UIF2 group ids. o Fixed typos in German text resources. NEW FEATURES o Added DefaultWizardModel#confirmCancel(EventObject) that provides a default question for cancelling a wizard. o Added resources to the Resources bundle for the reject wizard closing dialog and default confirm cancel dialog. o AbstractWizardPageModel has its WizardModel generified making it easier to use the concrete WizardModel type. o CommandValue has been turned from an enumeration into an extensible class with constants. Useful to create subclasses that provide constants in the same manner as CommandValue. See the CommandValue class comment for details. o New CommandValues UPLOAD, DONT_UPLOAD, and CONTINUE. o Added TaskPane#addCommandLink(CommandValue, String). OTHER CHANGES o Replaced DefaultWizardModel#ask(EventObject, String, String) by #confirm(EventObject e, String title, String mainInstruction). o ActionLink, HelpLink, and MenuLink reject more illegal arguments, for example if the Action is null, or the link text is null, empty, or blank. o Added tests for the new constructor parameter checks. o Improved JavaDocs. Significantly improved the CommandValue docs. o JSDLSystemUtils replaces StyleUtils. The latter has been marked as deprecated and will be removed from the next version. o Added a note to some internal classes that they are not part of the public JSDL API. JSDL Core 0.9.10 --------------------------------------------------------- BUG FIXES o CommandLink underlines its mnemonic - if any. NEW FEATURES o Added a strict check for the discouraged IconType.QUESTION. VISUALLY INCOMPATIBLE CHANGES o The MessageType.QUESTION has a null icon where it had the IconType QUESTION associated before. Questions have a question mark in the main instruction text. A warning icon is used to indicate a critical condition or an imminent problem. JSDL Core 0.9.9 ---------------------------------------------------------- BUG FIXES o Broken resource lookup in AbstractWizardPageModel#rejectCancel. o Fixed German accessible descriptions for ListPropertyPane and TreePropertyPane. NEW FEATURES o More precise accessible roles for TaskPane, PropertyPane, and WizardPane as defined in JSDLAccessibleRoles. o Prepared more precise accessible roles for ActionLink, CommandLink, HelpLink, and MenuLink. These are currently disabled, because the JAWS 7 screen reader seems to be unable to correctly interpret the new roles. INCOMPATIBLE CHANGES o Renamed AbstractWizardPageModel#rejectCancel to #rejectWindowClosing OTHER CHANGES o Moved internal classes to com.jgoodies.jsdl.core.internal. o Renamed the internal utility class JSDLModel to JSDLAbstractBean. o Moved accessibility resources to the new Accessibility bundle. JSDL Core 0.9.8 ---------------------------------------------------------- BUG FIXES o FormPane ignores FormPaneModel's initial accept text. o FormPane ignores FormPaneModel's accept text changes. o Read-only HTML text does not process the ENTER key. Works around a bug in the JEditorPane that ignores the pane's editable state. NEW FEATURES o Added a mode for enhanced accessibility in JSDL panes and components, see JSDLSetup#setEnhancedAccessibility. o Added MessageType#getDescription(). o Added IconType#getDescription(). o AbstractFormPaneModel allows accept text changes. INCOMPATIBLE CHANGES o Replaced Messages bundle by Resource bundle. o Renamed JSDLUtils#getCommonMessage to #getResourceString. o AbstractStyledPane#setMessageType is now protected. This method is public in TaskPane and StyledPane. OTHER CHANGES o CommandLink default accessible name contains text and description. o Static text returned by the DefaultComponentFactory is made focusable in enhanced accessibility mode, see above. The property "requestFocusEnabled" is set to false always, so that static text shall not receive mouse focus, even if it is focusable. o If a dialog is created for a styled pane, and this dialog has no accessible name set, the default accessible name includes the MessageType description for errors and warnings. o Most icons used by the default styles have a description. o Adjusted CommandLink tests. o Added PropertyPane and FormPane tests. JSDL Core 0.9.7 ---------------------------------------------------------- BINARY INCOMPATIBLE CHANGES o Replaced the CloseCallback interface by CloseHandler. o CloseCallback#paneClosing -> CloseHandler#closePane o AbstractStyledPane#getCloseCallback -> #getCloseHandler o AbstractStyledPane#setCloseCallback -> #setCloseHandler o JSDLSetup#getDefaultCloseCallback -> #getDefaultCloseHandler o JSDLSetup#setDefaultCloseCallback -> #setDefaultCloseHandler o AbstractStyledPane#closePane -> #close o AbstractStyledPane#setDefaultCommand is now protected. This method is made public in TaskPane and StyledPane only. NEW FEATURES o Introduced the CloseRequestHandler that is used to customize the close behavior for embedded styled pane. It can for example implement how to handle a user click on a Back or Home button. o Added AbstractStyledPane#setCloseRequestHandler o Added FormPane, TabbedFormPane that are intended for editing properties in a general container, not a dialog. o Added FormPaneModel and AbstractFormPaneModel. OTHER CHANGES o Improved CommandLink Aero-like glyph icon shadow transparency (thanks to M. Hoffmann). o Uses Aero-like CommandLink icons in WindowsXPStyle. JSDL Core 0.9.6 ---------------------------------------------------------- INCOMPATIBLE CHANGES o Removed AbstractStyledPane#getValue, #setValue and PROPERTY_VALUE. These have been replaced in version 0.9.5 by the bound property "commitValue". BUGS FIXED o Link underline is now removed if a modal dialog is opened. o AbstractLink#setRolloverForeground compared new value with disabledForeground. OTHER CHANGES o ActionLink(Action) sets iconVisible to false. o HelpLink is underlined in rollover mode only. o The check for at least one commit button honors the StrictMode. JSDL Core 0.9.5 ---------------------------------------------------------- NEW FEATURES o JSDLUtils#setCommitValueFor(EventSource e, Object commitValue) is equivalent to JSDLUtils.getPaneFor(e).setValue(commitValue). BUGS FIXED o AbstractStyledPane#setDefaultCommand failed when the command was an additional command. OTHER CHANGES o Renamed the AbstractStylePane bound property "value" to "commitValue". The old getter and setter delegate to the new methods and are marked as deprecated. These will be removed from the next version of the JSDL. o The default StylePolicy uses the Windows Modern or Aero style for the JGoodies Plastic XP L&f. o Added tests for the CommandLink Accessibility information. o Added a bunch of TaskPane tests for valid and invalid configs. o Improved a few JavaDocs. o Minor source code improvements. JSDL Core 0.9.4 ---------------------------------------------------------- NEW FEATURES o Property panes can now indicate that there are some pending changes that can't be abandoned. In this case the Cancel button shall be renamed to Close. Class PropertyPane accepts Close for Cancel, and the PropertyPaneModel interface got a new bound property "allChangesAbandonable" that is observed by the PropertyPane handler to rename the Cancel button to Close and vice versa. o Overhauled the wizard back mechanism in DefaultWizardPageModel. The previous page is now set automatically during the page change in AbstractWizardPageModel#goNext(). You need to set a custom back page only, to override the default, for example if Go back shall hop over a previous (progress) page. Calls to 0.9.3 DefaultWizardPageModel#setBackPage can likely be removed. o Accessibility support for styled panes, main instructions, command links, and read-only text areas. o Header labels honor marked text and set the mnemonic and its index. o Added AbstractStyledPane#isCancelled. This check is more robust against changes of the positive commit command (let's say OK) than getValue() == CommandValue.OK. The latter needs to be adjusted when OK would be changed to Save, Install, Run, or something like that. BUGS FIXED o Poor text background and border with NimbusLookAndFeel. o Wrong expansion control rollover icons in NimbusLookAndFeel. OTHER CHANGES o Added tests for the new configurations. o Added JavaDocs for some enumerations. o Updated the contained Forms version to 1.3.0 preview 2. JSDL Core 0.9.3 ---------------------------------------------------------- NEW FEATURES o Added improved keyboard navigation for TaskPane radio buttons, command links, and styled pane command bars. JSDL Core 0.9.2 ---------------------------------------------------------- INTRODUCTION This update release contains bug fixes and binary incompatible changes and improvements. BUGS FIXED o Class memory leak in StyleManager when using ClassLoaders to load different versions of the JSDL core. o Small appearance of the expansion control on the Mac. o Spelling check honors changes of the default Locale. NEW FEATURES o Overhauled the build process of the default command bar. Uses the new CommandBarBuilder instead of ButtonBarBuilder2. o Added style-specific resource suffixes. Used for example to have "Don't save" on Windows and "Don't Save" on the Mac. INCOMPATIBLE CHANGES o Removed the internal class WizardLabels. OTHER CHANGES o Replaced ButtonBarBuilder by ButtonBarBuilder2. o Check for modern rasterizer checks for AWTUtilities, not the NimbusLookAndFeel class. o Changed command names in German Locale to follow the sentence-style capitalization, e.g. "Nicht speichern" where it was "Nicht Speichern" before. o The main instruction font and foreground now better comply with the Mac Aqua Human Interface Guidelines. o Increased the command area minimum height on Aqua. o Removed obsolete type casts. o Improved JavaDocs. JSDL Core 0.9.1 ---------------------------------------------------------- INTRODUCTION This update release contains bug fixes and binary incompatible changes and improvements. NEW FEATURES o Added AbstractStyledPane#showDialog methods that invoke the associated #createDialog method, make the created dialog visible and dispose it after it has been closed. Old style: JDialog dialog = aPane.createDialog(e, title); dialog.setVisible(true); dialog.dispose(); New style: aPane.showDialog(e, title); o Improved support for mnemonics in TaskPane texts: expanded control text, collapsed control text, verification text, radio button texts. o Added JSDLUtils#configureMnemonic(AbstractButton, String) and #configureMnemonic(JLabel, String). o TaskPane#addRadioButton returns the created button. Useful to further configure the button with client properties. INCOMPATIBLE CHANGES o Overhauled the pane close process. Dialogs that have been created for a pane are automatically made invisible and disposed. A pane's CloseCallback is invoked only if a pane if #closePane invoked and no dialog has been created for this pane. CloseCallbacks are used only for "closing" non-dialog panes, for example panes that are embedded in a container or glass pane. o Removed AbstractStyledPane#hasDialog, #getDialog, #closeDialog. o Removed TaskPane#addCommandLink(Object value, String text) and #addCommandLink(Object value, Icon icon, String text) because these methods will always fail in strict mode. o JSDLUtils#stripMnemonicMarker is private. OTHER CHANGES o Removed the mnemonic for "Close" (has a default binding). o Fixed a character case in the German "Don't run" label. o Fixed typo in a runtime exception.