站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > NetBeans API Javadoc 5.0.0

Change History for the Window Systems API - NetBeans API Javadoc 5.0.0

Introduction

What do the Dates Mean?

The supplied dates indicate when the API change was made, on the CVS trunk. From this you can generally tell whether the change should be present in a given build or not; for trunk builds, simply whether it was made before or after the change; for builds on a stabilization branch, whether the branch was made before or after the given date. In some cases corresponding API changes have been made both in the trunk and in an in-progress stabilization branch, if they were needed for a bug fix; this ought to be marked in this list.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.openide.windows > 1.20

Changes by affected class

org.openide.actions.AbstractCompileAction

org.openide.actions.AddWatchAction

org.openide.cookies.ArgumentsCookie

org.openide.actions.BuildAction

org.openide.actions.BuildAllAction

org.openide.actions.BuildProjectAction

org.openide.explorer.propertysheet.editors.ChoicePropertyEditor

org.openide.actions.CleanAction

org.openide.actions.CleanAllAction

org.openide.windows.CloneableTopComponent

org.openide.actions.CompileAction

org.openide.actions.CompileAllAction

org.openide.actions.CompileProjectAction

org.openide.cookies.CompilerCookie

org.openide.loaders.CompilerSupport

org.openide.options.ControlPanel

org.openide.loaders.DataObjectFilter

org.openide.cookies.DebuggerCookie

org.openide.actions.DebugProjectAction

org.openide.DialogDisplayer

org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor

org.openide.cookies.ElementCookie

org.openide.explorer.propertysheet.editors.ElementFormatEditor

org.openide.cookies.ExecCookie

org.openide.loaders.ExecSupport

org.openide.actions.ExecuteAction

org.openide.actions.ExecuteProjectAction

org.openide.loaders.ExecutionSupport

org.openide.loaders.ExtensionListEditor

org.openide.explorer.propertysheet.editors.ExternalCompiler

org.openide.explorer.propertysheet.editors.FileEditor

org.openide.explorer.propertysheet.editors.FileOnlyEditor

org.openide.filesystems.FileUtil

org.openide.actions.FinishDebuggerAction

org.openide.actions.GoAction

org.openide.actions.GoToCursorAction

org.openide.actions.HelpAction

org.openide.awt.HtmlBrowser

org.openide.explorer.propertysheet.editors.IconEditor

org.openide.explorer.propertysheet.editors.IdentifierArrayEditor

org.openide.modules.IllegalModuleException

org.openide.windows.InputOutput

org.openide.windows.IOProvider

org.openide.LifecycleManager

org.openide.modules.ManifestSection

org.openide.explorer.propertysheet.editors.MethodParameterArrayEditor

org.openide.explorer.propertysheet.editors.ModifierEditor

org.openide.modules.ModuleDescription

org.openide.nodes.NodeOperation

org.openide.NotifyDescriptor

org.openide.actions.OpenProjectAction

org.openide.windows.OutputEvent

org.openide.windows.OutputListener

org.openide.windows.OutputWriter

org.openide.Places

org.openide.cookies.ProjectCookie

org.openide.util.actions.ProjectSensitiveAction

org.openide.loaders.RepositoryNodeFactory

org.openide.actions.SaveProjectAction

org.openide.cookies.SourceCookie

org.openide.actions.StartDebuggerAction

org.openide.awt.StatusDisplayer

org.openide.actions.StepOutAction

org.openide.explorer.propertysheet.editors.StringArrayCustomEditor

org.openide.explorer.propertysheet.editors.StringArrayCustomizable

org.openide.explorer.propertysheet.editors.StringArrayEditor

org.openide.actions.ToggleBreakpointAction

org.openide.windows.TopComponent

org.openide.windows.TopComponentGroup

org.openide.TopManager

org.openide.actions.TraceIntoAction

org.openide.actions.TraceOverAction

org.openide.explorer.propertysheet.editors.TypeEditor

org.openide.windows.WindowManager

org.openide.WizardDescriptor

org.openide.windows.Workspace


Details of all changes by API and date


Window System API

Added the TopComponent.getHtmlDisplayName, TopComponent.setHtmlDisplayName and WindowManager.topComponentHtmlDisplayNameChanged methods.

Oct 31 '05; API spec. version: 6.4; affected top-level classes: TopComponent WindowManager; made by: dsimonek; issues: #66777
The TopComponent.getHtmlDisplayName and TopComponent.setHtmlDisplayName methods was added to allow TopComponents to have display name that contains html tags differentiated from regular display name. Regular display name should be used for tasks like alphabetical sorting while html display name is used for labels and titles that support html, like editor tabs. WindowManager.topComponentHtmlDisplayNameChanged was also added to let window system implementation know about html display name change.

Added the TopComponent ability to bring their parent Window to front of other windows.

Mar 21 '05; API spec. version: 5.8; affected top-level classes: TopComponent WindowManager; issues: #56277
The TopComponent class has a new method toFront() that attempts to bring the parent Window of the TopComponent to front of other top-level windows. The method is implemented in the WindowManager class using AWT's java.awt.Window#toFront().

TopComponent can request attention

Nov 17 '04; API spec. version: 5.1; affected top-level classes: WindowManager TopComponent; made by: mkleint; issues: #48811

TopComponent.requestAttention(boolean) and TopComponent.cancelRequestAttention added to allow components to signal that they require user's attention or the attention is no longer required. It's up to the current TopComponent container to decide how to attract user's attention. If the user activates the attention-requiring component, the container assumes the goal was achieved and the action is cancelled. The methods are thread-safe.

For those implementing WindowManager class, there is an incompatible change where abstract methods topComponentCancelRequestAttention(TopComponent) and topComponentRequestAttention(TopComponent) were added.

Allow association of Lookup with TopComponent later than in constructor.

Jan 20 '04; API spec. version: 4.23; affected top-level classes: TopComponent; made by: jtulach; issues: #38475
Adding TopComponent.associateLookup to allow late (in middle of constructor) association of Lookup with component. This is especially useful in org.openide.explorer.ExplorerUtils.

Method TopComponent.getPersistenceType() is added to replace usage of client property PersistenceType.

Jan 7 '04; API spec. version: 4.20; affected top-level classes: TopComponent; made by: mslama; issues: #36916
Method to get TopComponent persistence type is added to API.

New constructor for better delegation

Dec 27 '03; API spec. version: 4.19; affected top-level classes: TopComponent; made by: jtulach; issues: #38185
Easier way for TopComponents to provide their own Lookup and still maintain their contract with getActivatedNodes.

Added method findTopComponent(String tcID) to WindowManager

Nov 25 '03; API spec. version: 4.15; affected top-level classes: WindowManager; made by: mslama; issues: #37199
This method is necessary to be able to retrieve TopComponent instance using unique TopComponent ID. Important mainly to access persistent singleton TopComponent instances.

New Window System implementation

Nov 12 '03; API spec. version: 4.13; affected top-level classes: CloneableTopComponent TopComponent TopComponentGroup WindowManager Workspace; made by: pzavadsky; issues: #29836
Provided implementation of new window system. It is a new major version of module core/windows. There also open API affected. There were added some new APIs, some older were deprecated and also some older APIs have adjusted their semantics. Look at the changes document which has the detailed information.

Removal of TopComponent(DataObject) constructor

Apr 2 '03; API spec. version: 4.3; affected top-level classes: TopComponent CloneableTopComponent; made by: jtulach; issues: #32143
Due to separation of openide-loaders.jar the TopComponent (DataObject) and CloneableTopComponent (DataObject) constructors have been removed. Instead of using the old behavior
        new TopComponent (dataObject);
        
please change the code to use TopComponent.NodeName:
        tc = new TopComponent ();
        NodeName.connect (tc, dataObject.getNodeDelegate ());
        

CloneableTopComponent.Ref.getArbitraryComponent method added

Feb 27 '03; API spec. version: 3.41; affected top-level classes: CloneableTopComponent; made by: pzavadsky; issues: #25824
The method getAnyComponent in CloneableTopComponent.Ref class uses NoSuchElementException as a mean indicating there is no component. Moreover the exception is runtime one (unchecked). It forces clients to use try-catch blocks, which doesn't follow rule, which says there shouldn't be used exception for controlling program flow. It is replaced by method getArbitraryComponent which returns null instead of throwing an exception.

New property "WizardPanel_errorMessage" for WizardDescriptor has been added

Feb 20 '03; API spec. version: 3.39; affected top-level classes: org.openide.WizardDescriptor; made by: dkonecny; issues: #28466
New property with name "WizardPanel_errorMessage" was added to WizardDescriptor class. It is String property and can contain description why the wizard panel is invalid. Non-null value of this property is automatically displayed at the bottom of the wizard panel.

Add new DTD 1.2 for wsmode configuration file

Jul 1 '02; made by: mslama; issues: #25268
Current frame state is now stored. Added attribute for restored frame state, valid only when frame state is maximized. (Restored frame state is state of frame when frame is not maximized, it can be normal or iconified.)

Add new DTD 1.1 for window manager configuration file

Jun 14 '02; made by: mslama; issues: #24451
Support for positioning main windom in MDI mode during first user start.

TopComponent shown state notification methods added to Winsys API

May 10 '02; API spec. version: 2.18; affected top-level classes: TopComponent WindowManager; made by: pzavadsky; issues: #21618
Four new methods has been added to Winsys API, i.e. TopComponent: protected void componentShowing(), protected void componentHidded(), protected void componentOpened(), protected void componentClose(). The last two replaces deprecated protected void openNotify() and protected void closeNotify() methods. Two methods were added also to WindowManager to handle the notifiction via its subclasses: protected void componentShowing(TopComponent) and protected void componentHidden(TopComponent).

Add List TopComponent.availableModes(List modes) method

Apr 23 '02; API spec. version: 2.14; affected top-level classes: TopComponent; made by: dsimonek; issues: #20153
Method availableModes(...) added to TopComponent to allow TopComponent to specify where can be docked.

Add WindowManager.getDefault() method

Mar 21 '02; API spec. version: 2.10; affected top-level classes: WindowManager; made by: dsimonek; issues: #20942
Method WindowManager.getDefault() added to loose coupling between Topmanager and winsys. Old method TopManager.getWindowManager() was deprecated.

Add new DTD 1.1 for workspace configuration file

Jan 6 '02; made by: dsimonek; issues: #19072
Added element for maximized desktop in MDI mode.

Make a top component visible without focus change

Jul 27 '01; affected top-level classes: TopComponent WindowManager
Added method to make component visible without change of focus or frames z-order. If it is not possible to make component visible without change of focus it works in the same way as requestFocus(). New methods:

OK button in notify dialog can be turned off

Apr 11 '01; affected top-level classes: org.openide.NotifyDescriptor
Added methods isValid and setValid, added property name String constant PROP_VALID. It can be used to change validity (enable/disable) of standard OK button in dialog.

Open and close notification for top components

Mar 7 '01; affected top-level classes: TopComponent WindowManager
Added open and close notification for top components. New methods:

Wizard panels can refuse to go forward

Jan 15 '01; affected top-level classes: org.openide.WizardDescriptor
WizardDescriptor.Panel.readSettings can throw IllegalStateException. This can be used to indicate that data provided by the previous panels are not OK and that the panel wants the wizard to go back one panel.

Both Swing client properties and descriptor properties checked for wizard steps/image/help

Jan 9 '01; affected top-level classes: org.openide.WizardDescriptor
Added new functionality without API change. Wizard descriptor creates wizard panel with list of steps/image/help on the left depending on the properties supplied by ((JComponent)WizardDescriptor.current().getComponent()).putClientProperty() or WizardDescriptor.putProperty().

Several members of InputOutput removed

Jun 16 '00; affected top-level classes: org.openide.windows.InputOutput
Several members of this interface were technically public before and are now deprecated: In fact they were meant to be package-private and were only public due to a quirk of Java's syntax (default modifier inside interfaces is public).
Compatibility: First broken, later re-added but deprecated in trunk and boston. Any code referring to these members is erroneous and must be rewritten. The only useful related member, the InputOutput.NULL constant, is still public and accessible.

Uncategorized changes

API separation, phase II

Nov 1 '02; API spec. version: 3.17; affected top-level classes: org.openide.actions.AbstractCompileAction org.openide.actions.BuildAction org.openide.actions.BuildAllAction org.openide.actions.CleanAction org.openide.actions.CleanAllAction org.openide.actions.CompileAction org.openide.actions.CompileAllAction org.openide.actions.ExecuteAction org.openide.cookies.ArgumentsCookie org.openide.cookies.CompilerCookie org.openide.cookies.ExecCookie org.openide.filesystems.FileUtil org.openide.loaders.CompilerSupport org.openide.loaders.ExecutionSupport org.openide.windows.IOProvider org.openide.windows.InputOutput org.openide.windows.OutputEvent org.openide.windows.OutputListener org.openide.windows.OutputWriter; affected packages: org.openide.compiler org.openide.execution; made by: jglick; issues: #19443

Three sections of the Open APIs were split into new autoload modules.

New modules wishing to use these APIs must declare regular module dependencies on them. Future changes in these APIs will be documented separately.

Furthermore, modules wishing to use certain services must OpenIDE-Module-Require them if appropriate:

Other minor changes:


Compatibility:

Module authors using the now-separated APIs will need to adjust their compilation classpaths to include the new JAR files. Modules wishing to use recent APIs and declaring a current openide specification version dependency will need to explicitly declare dependencies on these new APIs if there are any.

For compatibility, modules with no declared Open APIs dependency, or declared on a version prior to 3.17, will have their dependencies automatically refined as if to include the declarations:

OpenIDE-Module-Module-Dependencies: org.openide.compiler > 1.0,
  org.openide.execution > 1.0, org.openide.io > 1.0
OpenIDE-Module-Requires: org.openide.compiler.CompilationEngine,
  org.openide.execution.ExecutionEngine, org.openide.windows.IOProvider
        

And any package dependencies from old modules on org.netbeans.lib.terminalemulator will be converted to module dependencies.


Binary-compatible

API separation, phase I

Oct 15 '02; API spec. version: 3.14; affected top-level classes: org.openide.DialogDisplayer org.openide.LifecycleManager org.openide.Places org.openide.TopManager org.openide.actions.AddWatchAction org.openide.actions.BuildProjectAction org.openide.actions.CompileProjectAction org.openide.actions.DebugProjectAction org.openide.actions.ExecuteProjectAction org.openide.actions.FinishDebuggerAction org.openide.actions.GoAction org.openide.actions.GoToCursorAction org.openide.actions.HelpAction org.openide.actions.OpenProjectAction org.openide.actions.SaveProjectAction org.openide.actions.StartDebuggerAction org.openide.actions.StepOutAction org.openide.actions.ToggleBreakpointAction org.openide.actions.TraceIntoAction org.openide.actions.TraceOverAction org.openide.awt.HtmlBrowser org.openide.awt.StatusDisplayer org.openide.cookies.DebuggerCookie org.openide.cookies.ElementCookie org.openide.cookies.ProjectCookie org.openide.cookies.SourceCookie org.openide.explorer.propertysheet.editors.ChoicePropertyEditor org.openide.explorer.propertysheet.editors.DirectoryOnlyEditor org.openide.explorer.propertysheet.editors.ElementFormatEditor org.openide.explorer.propertysheet.editors.ExternalCompiler org.openide.explorer.propertysheet.editors.FileEditor org.openide.explorer.propertysheet.editors.FileOnlyEditor org.openide.explorer.propertysheet.editors.IconEditor org.openide.explorer.propertysheet.editors.IdentifierArrayEditor org.openide.explorer.propertysheet.editors.MethodParameterArrayEditor org.openide.explorer.propertysheet.editors.ModifierEditor org.openide.explorer.propertysheet.editors.StringArrayCustomEditor org.openide.explorer.propertysheet.editors.StringArrayCustomizable org.openide.explorer.propertysheet.editors.StringArrayEditor org.openide.explorer.propertysheet.editors.TypeEditor org.openide.loaders.DataObjectFilter org.openide.loaders.ExecSupport org.openide.loaders.ExecutionSupport org.openide.loaders.ExtensionListEditor org.openide.loaders.RepositoryNodeFactory org.openide.modules.IllegalModuleException org.openide.modules.ManifestSection org.openide.modules.ModuleDescription org.openide.nodes.NodeOperation org.openide.options.ControlPanel org.openide.util.actions.ProjectSensitiveAction org.openide.windows.IOProvider; affected packages: org.openide.debugger org.openide.src org.openide.src.nodes; made by: jglick; issues: #19443 #20898

Many classes were moved to a separate module, openide-deprecated.jar, not available to modules by default. Uses of these classes in modules should be cleaned up whenever possible.

Additionally, the entire contents of org.openide.src.* and org.openide.src.nodes.*, as well as org.openide.cookies.SourceCookie and some associated property editors, were moved to a separate module.

The most common apparent symptom for module authors will be the absence of TopManager. Most methods in this class have been replaced by newer utility classes in a straightforward manner. See the Upgrade Guide.


Compatibility:

The deprecated classes continue to be available in the module org.openide.deprecated which you may depend on it you cannot remove uses of the deprecated APIs. In order for TopManager.getDefault() to work, you must also require the token org.openide.TopManager, which is provided by an unspecified module. The deprecated API module and its implementation module are autoloads, meaning they will not be loaded unless some module still requires them.

Similarly, the Java Hierarchy API was moved to the module org.openide.src which you should depend on in order to use this API.

For compatibility, the above three dependencies are added to your module automatically in case it either requests no specific API version at all, or requests an API version prior to 3.14. Modules requesting APIs 3.14 or higher must declare these dependencies explicitly if they in fact need them.


Binary-compatible

Built on May 3 2007.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.