2012-08-31 3 views
0

내 응용 프로그램에는 국가 추천 상자를 표시해야하는 곳이 12 곳 정도 있습니다. 제안 상자의 모든 코드 (사용자 정의 SuggestOracle의 생성, 초기화 및 다양한 처리기 포함)의 모든 코드는 ~ 100 줄을 차지하며 프로젝트 전체에서 복사하면 나를 위해 상당히 하드 코어 인 것 같습니다. 그래서 CountrySuggestBox을 작성하여 SuggestBox 자체를 내 맞춤형 SuggestOracle으로 감쌌으며 모든 클릭/키 처리 자체를 수행했습니다. 이 후에 나는 @UiFiled(provided=true) CountrySuggestBox = new CountrySuggestBox(countryList);의 줄에 무언가를 써 넣을 계획이었습니다. 그러나 나는 또한 CountrySuggBox가 LeafValueEditor<Country>을 구현할 필요가있다. SuggestBox가 HasText를 구현하고 이러한 인터페이스가 서로 "좋아"하지 않기 때문에 나는 할 수 없다.GWT SuggestBox 사용자 지정 비 텍스트 편집기

따라서 CountrySuggestBox을 사용하는 클래스에 사용자 지정 편집기 메서드를 작성하지 않고도 국가 형식 속성의 편집기를 만들 수 있습니다.

답변

3

상속보다 합성을 선호합니다.

CountrySuggestBoxComposite를 (또는 단순히 IsWidget를 구현) 확장하고 SuggestBox 포장 되세요. 그런 다음 LeafValueEditor<Country> 또는 IsEditor<LeafValueEditor<Country>> (TakesValue<Country> 또는 HasValue<Country>)

과 함께 만들 수 있습니다.
관련 문제