This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 237203 - canEditAsText=FALSE is ignored in ComboInplaceEditor
Summary: canEditAsText=FALSE is ignored in ComboInplaceEditor
Alias: None
Product: platform
Classification: Unclassified
Component: Property Editors (show other bugs)
Version: 7.3.1
Hardware: PC Windows XP
: P3 normal with 1 vote (vote)
Assignee: Stanislav Aubrecht
Depends on:
Reported: 2013-10-16 14:23 UTC by michael.kuettner
Modified: 2013-10-21 13:56 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:

Small demo application to reproduce behavior (2.51 KB, application/zip)
2013-10-16 14:23 UTC, michael.kuettner

Note You need to log in before you can comment on or make changes to this bug.
Description michael.kuettner 2013-10-16 14:23:15 UTC
Created attachment 141158 [details]
Small demo application to reproduce behavior

In my application i have a special String property that is displayed inside an OutlineView.
The value of this property shoud be selected by a Combobox.
The user should not be allowed to enter any undefined text.

So i tried to set "canEditAsText" to Boolean.FALSE for this property. But this has no effect in ComboInplaceEditor (that is automatically used to edit this property),
because ComboInplaceEditor has a build in auto-complete-mechanism that sets the combobox to be editable.
See connect(PropertyEditor pe, PropertyEnv env) method of ComboInplaceEditor:
  setEditable(editable || isAutoComplete);

ComboInplaceEditor seems to take care of this auto-complete-mechanism in its getValue() method.
But if the user enters any text that is not contained in the Combobox (selItem == -1) and strictAutoCompleteMatching == true then getSelectedItem() is returned.
Which again contains the user entered text!

See attachment for a small demo application.
Comment 1 Stanislav Aubrecht 2013-10-21 13:56:10 UTC
core-main e8e0615257ca

Thanks for the sample code!