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.

The release41 branch was made on Apr 03 '05 for use in the NetBeans 4.1 release.
Specification versions: 6.0 begins after this point.

The release40 branch was made on Nov 01 '04 for use in the NetBeans 4.0 release.
Specification versions: 5.0 begins after this point.

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:

Oct 20 '14; API spec. version: 6.59; affected top-level classes: OutlineViewNodeRenderer; made by: mentlicher; issues:
#247556
It is possible not to show icons in OutlineView and in TreeView and it's descendants.
Methods OutlineView.setShowNodeIcons(boolean)/isShowNodeIcons()
and NodeRenderer.setShowIcons(boolean)/isShowIcons()
are added for this purpose.

Apr 4 '12; API spec. version: 6.44; affected top-level classes: OutlineView; made by: mentlicher; issues:
#208713
In order to conveniently set attributes to column properties,
setPropertyColumnAttribute() method is added to OutlineView.
After OutlineView.setProperties() method was deprecated, the preferred
way how to add columns is via addPropertyColumn()/setPropertyColumns().
But then there's no Node.Property to set additional attributes on.
This is why setPropertyColumnAttribute() method is introduced.

Aug 31 '11; API spec. version: 6.39; affected top-level classes: PropertyEnv; made by: tpavek; issues:
#201223
Added PropertyEnv.create
method for creating an instance of PropertyEnv for given property and beans (nodes).
To be used when there is a need to initialize an ExPropertyEditor instance independently from
PropertySheet or PropertyPanel infrastructure (e.g. before the property appears in UI).

Jun 10 '11; API spec. version: 6.37; affected top-level classes: org.openide.explorer.propertysheet.BaseTablePropertySheet; made by: tomwheeler; issues:
#199349
Added methods setQuickSearchAllowed(boolean) and isQuickSearchAllowed()
to BaseTable to control and query whether the quick search feature is enabled. Since the BaseTable
instance of a PropertySheet is private, setQuickSearchAllowed(boolean) and
isQuickSearchAllowed() delegate methods were also added to PropertySheet. This allows
a developer control on a per-instance basis, though it is also possible to disable property sheet
quick search globally by setting the ps.quickSearch.disabled.global system property
to true.

Jul 7 '10; API spec. version: 6.30; affected top-level classes: OutlineView; made by: mentlicher; issues:
#188130
In order to be able to provide horizontal scroll bar in the tree column,
two methods are added: getTreeHorizontalScrollBarPolicy()
and setTreeHorizontalScrollBarPolicy().

Jan 11 '10; API spec. version: 6.25; affected top-level classes: OutlineView; made by: tboudreau; issues:
#179397
Added methods to manipulate the displayed columns of an OutlineView
without needing to create prototype property objects, both making
it simpler to use, and avoiding the common problem of properties
not appearing because the prototype property does not use the
exact type required.

Deprecated OutlineView.setProperties(), as this was
only needed for ease of replacement of TreeTableView.

Sep 16 '08; API spec. version: 6.16; affected top-level classes: ExplorerManager; made by: t_h; issues:
#145376Nodes can be removed outside of AWT thread while e.g. view can
try to select them. This generated IllegalArgumentException during checking if
such a node is under root context. Now
setSelectedNodes().
does partial selection
of valid nodes instead of throwing IllegalArgumentException.

May 29 '08; API spec. version: 6.15; affected top-level classes: OutlineView; made by: saubrecht; issues:
#33281Added new OutlineView component which is a table with expandable
tree-like part and which replaces the current buggy TreeTableView.

Nov 2 '07; API spec. version: 6.12; affected top-level classes: NodeTableModel; made by: saubrecht; issues:
#113642Added support for property ColumnDisplayNameWithMnemonicTTV. This
property may be used to specify column names with mnemonic char using '&' char.
Such display name will be used in 'Change Visible Columns' dialog window.

When an external object (e.g. file(s)) is dragged over the
Explorer, the drag events passed to Nodes under the cursor. It means
that the appropriate Node is asked whether the dragged object(s) can
be dropped to it. The drag support classes will also provide appropriate
visual drag feedback - change cursor shape and/or draw drop line indicator.

When the object is dropped then the Node under the cursor will be
asked to provide supported PasteTypes that will handle
the drop.

Apr 29 '05; API spec. version: 6.3; affected packages: org.openide.explorer.view; made by: jtulach; issues:
#57972
When doing drag and drop of nodes from explorer
to another place in explorer the
Node.drag method is called when doing copy
and in both cases of copy or move the
ExClipboard.convert
method is called for Transferable containing
all the nodes, so one can wrap the whole transfer with
pre and post operations.

Aug 25 '04; API spec. version: 4.45; affected top-level classes: TreeView; made by: jrechtacek; issues:
#47672
The methods TreeView.setDragSource(boolean) and TreeView.setDropTarget
can set drag/dropActive on/off. The drag source and drop target are enabled by default.
Before the views were forced to be drag/drop active no matter what state was set.

Jun 14 '04; API spec. version: 4.40; affected top-level classes: ExplorerUtils; made by: pnejedly; issues:
#37543
Add the utility method for computing the help id for a set
of nodes with a fallback to provided default id.

Dec 9 '03; API spec. version: 4.17; affected top-level classes: InplaceEditor; made by: tboudreau; issues:
#37626
This method was introduced post-3.5, and has proven unnecessary, as the
event may effectively be dispatched to the component using dispatchEvent().
It will instead be the responsibility of the component to determine if
it has just been added to a container and should handle the event in some
special way because of that.

Dec 9 '03; API spec. version: 4.17; affected top-level classes: PropertyPanel; made by: tboudreau; issues:
#31896
As part of the rewrite of the internals of PropertyPanel to use the new
property sheet's infrastructure, users of PropertyPanel are encouraged
to use Node.Property rather than PropertyModel objects to drive their
PropertyPanel instances. To that end, methods and constructors have been
added in order to support using Node.Property objects. The method
getPropertyEditor() has been deprecated, and the property change
PROP_PROPERTY_EDITOR will no longer be fired. As documented, in the case
of custom editors, its function has not changed, but for inline uses,
there is no particular use for holding a reference to the property editor
instance, so for inline uses it is no longer guaranteed to return the
same property editor instance as previously - this is now the sole
responsibility of the Property object. As this method was primarily used
by the old property sheet, this is a low-impact change.

Nov 21 '03; API spec. version: 4.14; affected top-level classes: org.openide.explorer.ExplorerActionsorg.openide.explorer.ExplorerPanelExplorerUtils; made by: jtulach; issues:
#34758
As part of the work on separation of openide.jar into smaller parts
the existing ExplorerActions class and ExplorerPanel
are being deprecated and replaced by new factory methods in
ExplorerUtils class. Use them to create actions
handling copy, cut, paste and delete on given ExplorerManager.

Apr 4 '03; API spec. version: 4.3; made by: tboudreau; issues:
#32619
Properties of type boolean or Boolean can now
supply the following hint to the property editor:
stringValues - a String[2] which will be used
to replace the standard "true" or
"false" displayed in the editor.

Apr 4 '03; API spec. version: 4.3; made by: tboudreau; issues:
#20736
#5278
#31879
Properties representing instances of int or Integer can
now supply the following hints to their property editors:
stringKeys, intValues, codeValues. The String[] keys will be
displayed in a drop down in the propertysheet; the
int[] values are used when a key of the corresponding
index is selected; the optional codeValues String[]
can be used to supply custom text to getJavaInitializationString()
for code generation.
This replaces the functionality of the now deprecated
ChoicePropertyEditor.

Mar 26 '03; API spec. version: 4.2; made by: tboudreau; issues:
#29294
Properties representing String instances can now supply
the following additional hints: oneline, suppressCustomEditor
and instructions. These affect the behavior of the custom
editor if invoked. If these hints are not supplied, behavior
will be the same as it always was.

Feb 13 '03; API spec. version: 3.38; affected top-level classes: MenuView; made by: pnejedly
The HelpCtx of the underlying node is now exported through
HelpCtx.Provider interface. For the API users, HelpCtx.findHelp
keeps working the same way.

May 27 '02; API spec. version: 2.20; affected top-level classes: PropertyPanelPropertyEnv; issues:
#23369Define interface that would allow to tell customizer that it should check
user changed values and that it should commit values. PropertyPanel controls/obtains
the value of the PropertyEnv.getState of the current property editor.
Thus adding method PropertyPanel.getState () and firing property
changes appropriatelly.
Added public methods
PropertyPanel.getState(),
PropertyEnv.addPropertyChangeListener(PropertyChangeListener) and
PropertyEnv.removePropertyChangeListener(PropertyChangeListener).
Added public static field
PropertyPanel.PROP_STATE.

Oct 19 '01; API spec. version: 1.41
The property editor for org.openide.loaders.DataObject may now be given the
property hint rootNode specifying a root node of displyed nodes hierarchy.
If omited filesystems repository root node is used instead.

Aug 22 '01; affected top-level classes: PropertyPanel
The added property allows to control whether the changes fired from
property editor are immediately propagated to the value of the property
(more precisely to the property model).
Compatibility:
Added two public methods to class PropertyPanel: public boolean
isChangeImmediate(); and public void
setChangeImmediate(boolean b);

public static final String PROP_STATE;
public static final Object STATE_VALID;
public static final Object STATE_NEEDS_VALIDATION;
public static final Object STATE_INVALID;
public void setState (Object state);
public Object getState ();
public void addVetoableChangeListener(VetoableChangeListener l);
public void removeVetoableChangeListener(VetoableChangeListener l);

The added methods allow to modify the state of the "environment" from
a property editor. They also allow listening on such changes and
veto the change if needed.
The API documentation for the class PropertyEnv should
provide information on what they do.

Feb 20 '01; affected top-level classes: ExplorerManager
New method public final void setExploredContextAndSelection(Node
value, Node[] selection) throws PropertyVetoException added to the
class ExplorerManager. It is replacement for the
setExploredContext method which should throw the exception.

Nov 6 '00; affected top-level classes: BeanTreeView
Method selectionChanged made protected, not public, to match
the access mode of the method it was implementing in
TreeView. Code calling it as public is erroneous.
Binary-compatible

Oct 25 '00; affected top-level classes: ExPropertyEditorDefaultPropertyModelPropertyEnvExPropertyModel
New interface ExPropertyEditor added to the package org.openide.explorer.propertysheet.
It extends PropertyEditor allowing to pass information to the
property editor by passing an instance of PropertyEnv class - this
class was also added. To be able to pass the required information
the PropertyModel interface was also extended to ExPropertyModel.
DefaultPropertyModel was modified to implement the new interface
ExPropertyModel (instead of PropertyModel).

Sep 5 '00; affected top-level classes: MenuView
Interface MenuView.Acceptor is now deprecated. It is
recommended to use nodes.NodeAcceptor over
MenuView.Acceptor, which will be probably removed entirely in
future. The protected field action in both
MenuView.Menu and MenuView.MenuItem has changed
type to be NodeAcceptor.
Compatibility:
Subclasses accessing the action field will be broken.

May 31 '00; affected top-level classes: org.openide.explorer.propertysheet.PropertyDialogManager
Made inaccessible. No one should have been using this class outside its
package to begin with, it was public by accident.
Compatibility:
First broken, later restored binary compatibility in trunk and
boston. Code referring to this class can generally be easily
rewritten to simply embed the supplied component in a dialog and show that
dialog.
Binary-compatible

Mar 9 '00; affected top-level classes: org.openide.explorer.ExplorerPanelExplorerManager; made by: jglickreadExternal of ExplorerPanel or deserialization
of ExplorerManager may throw SafeException to
indicate a failure in the loading of the manager's handles, but the stream
is OK.

The entire
org.openide.explorer.propertysheet.editors
package is generally deprecated
and no longer included in Javadoc.

As of 3.14, this package is again included in the Javadoc, though only
only a few interfaces remain, and of these several are in fact
deprecated, and the rest will probably be deprecated at some point.

Built on March 31 2015. | Portions Copyright 1997-2015 Oracle. All rights reserved.