2012-01-04 20 views
5

içinde oluşturulmasından sonra eklenmesi/değiştirilmesi SuggestBox ve MultiWordSuggestOracle için bulabildiğim tüm bilgiler, bir öneri kutusu için bir kehanet oluşturmanın tek yolunun, oluşturulduğunda olduğunu belirtir. Bunun mantıklı olduğunu sanmıyorum, çünkü bir kehaneti kabul etmeyen ve muhtemelen sizin için bir tane yaratan varsayılan bir kurucu var. Bu pek iyi değil. Aradığım şey, setSuggestOracle(MultiWordSuggestOracle) veya addToSuggestOracle(String) gibi yöntemler olabilir, ancak bu belgede nasıl yapılacağını öneren hiçbir şey bulamıyorum.SuggestBox'un GWT

cevap

7

sen yaratıldı SuggestBox sonra SuggestOracle örneğini değiştirebilirsiniz gibi görünmüyor, ancak SuggetBox::getSuggestOracle() ile erişebilirsiniz. Buradan değişiklik yapmak için uygulama sınıfına gitmelisiniz; SuggestOracle taban sınıfının kendisi hiçbir şey sağlamaz. Öyleyse bir şey gibi:

SuggestOracle oracle = new MultiWordSuggestOracle(); 
SuggestBox box = new SuggestBox(oracle); 

try { 
    MultiWordSuggestOracle multiWordOracle = (MultiWordSuggestOracle)box.getOracle(); 
    multiWordOracle.add("This awesome suggestion."); 
} catch (ClassCastException e) { 
    // the oracle was not what you thought it was 
} 
+0

Güzel çözüm. Teşekkürler! – Neeko

+0

Neden öneriden almak yerine oracle değişkeninde çalışmıyorsunuz? – Guillaume

+0

@Guillaume Evet, bunu yapabilirsin. Ancak, Oracle'ı öneri kutusundan nasıl çıkaracağınızı göstermeye çalışıyordum. –