SuggestBox GWT, показывающий все варианты на клавише Enter

Я должен создать SuggestBox, который покажет все варианты при нажатии клавиши Enter. Я записал следующую реализацию, и это, кажется, хорошо работает. Я хотел бы, чтобы кто-то рассмотрел мою реализацию и сообщил мне, вызовет ли она проблемы в каком-либо конкретном сценарии. Кроме того, SuggestOracle, который будет передан этому SuggestBox, нужно установить предложения по умолчанию путем вызова метода setDefaultSuggestions () на MultiWordSuggestOracle. Любой пользователь моего SuggestBox должен быть очевиден для этого факта. Следовательно я предполагаю, что должен буду перенестись (или расшириться), MultiWordSuggestOracle, чтобы сделать настройки предложений по умолчанию. Можно ли рекомендовать то, что будет хорошим способом сделать это?

public class SuggestBoxWithAllOptions extends SuggestBox implements 
    KeyPressHandler { 
    public SuggestBoxWithAllOptions(MultiWordSuggestOracle oracle) { 
            super(oracle); 
            this.addKeyPressHandler(this); 
    } 
    @Override 
    public void onKeyPress(KeyPressEvent event) { 
            char c = event.getCharCode(); 
            int i = this.getText().length(); 
    if (c == KeyboardListener.KEY_ENTER && i == 0) { 
            /* Since the query string is null, the default suggestions 
           will get listed */ 
            this.showSuggestionList(); 
     } 
    } 
   } 

  /* Code for initializing the SuggestBox */ 
            List<String> suggestions = new ArrayList<String>(); 
            suggestions.add("Tablet"); 
            suggestions.add("Capsule"); 
            MultiWordSuggestOracle myOracle = new MultiWordSuggestOracle(); 
            myOracle.addAll(suggestions ); 
            myOracle.setDefaultSuggestionsFromText(suggestions); 
            SuggestBox mySuggest = new SuggestBoxWithAllOptions(myOracle); 
5
задан Vishal Singh 14 June 2010 в 17:33
поделиться