Affects Version/s: None
Fix Version/s: None
The use-case is having an editable auto-complete combobox where you want to trigger a long-running task when the user has finished changing the selection. You do not want to trigger the long-running task when
- the user is still typing
- the user is navigating with the keyboard arrows
- the user is navigating with the mouse
You do want to trigger the long-running task when
- the user selects an item with the mouse
- the user types an item and confirms with ENTER
- the user selects an item using keyboard arrow navigation and confirms with ENTER
I did not manage to fulfill all these requirements. Attached to this issue 3 classes which show 3 approaches, but none of them work completely. The ImprovedApproach comes closest, but still requires an ENTER after mouse selection.
The last issue usability issue is editing of an existing item to a slightly different one. This is present in all 3 of the samples attached to this issue. You override way too easily the auto-completed part, e.g. in the ImprovedApproach sample do
- select http://java.net/jira/browse/SWINGX-940
- try to edit it to http://java.net/jira/browse/swingx-940 (lower-case letters for swingx) by selecting SWINGX and starting to type swingx
- the auto-completion quickly intercepts, and you end up overriding parts of the String you did not intend.
The actual example which was reported by one of our users was the editing of //SERVER1/Data/... to /server/data/..., so having an option to switch off case-insensitive auto-completion is not enough.