Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement AutoComplete TextField using ControlsFX

I'm using the latest version(8.0.5) of ControlsFX and I think I need a little help with the AutoComplete TextField because I'm very new at this.

I got this code from here

AutoCompletionTextFieldBinding.createBinding(
MyTxtField,
SuggestionProvider.create("Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola")
);

But it show a error: method SuggestionProvider is not applicable.

Any advice to implement this autocomplete in order to have an array like a dictionary with ID and VALUE?

like image 603
napstercake Avatar asked Jan 10 '23 21:01

napstercake


2 Answers

If you check the transcript to which you have quoted the code https://bitbucket.org/controlsfx/controlsfx/pull-request/196/auto-complete-support-see-127/diff (early feb) and the release date of controlsfx 8.05 dated 4 march http://fxexperience.com/controlsfx/ , likely explanation is that the code is likely not working because what you have quoted is just experimental API that yet to be finalized then. The final version is the one currently working in the final 8.05 as in

TextFields.bindAutoCompletion(
            textField,
            "Hey", "Hello", "Hello World", "Apple", "Cool", "Costa", "Cola", "Coca Cola");

and other API you can check using autocomplete from your IDE

I recommend checking out controlfx 8.05 samples to look at the source code and that will help a lot :}

like image 163
Macdevign Avatar answered Jan 17 '23 11:01

Macdevign


Now, you can use the AutoCompletionTextFieldBinding as the following:

TextField textField = new TextField();
new AutoCompletionTextFieldBinding(textField, new Callback<AutoCompletionBinding.ISuggestionRequest, Collection>() {
    @Override
    public Collection call(AutoCompletionBinding.ISuggestionRequest param) {
        return Arrays.asList("Option 1", "Option 2");
    }
});
like image 32
swist Avatar answered Jan 17 '23 10:01

swist