Почему IntelliJ IDEA предпочитает не расширять Composite при использовании GWT UiBinder? - PullRequest
2 голосов
/ 19 марта 2012

Большинство примеров в Документация UiBinder использует базовый класс Composite примерно так:

public class UserDashboard extends Composite { 
    interface MyUiBinder extends UiBinder<Widget, UserDashboard> {}
    private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
    public UserDashboard() {
        initWidget(uiBinder.createAndBindUi(this));
    }
}

В то же время IntelliJ IDEA всегда генерирует:

public class UserDashboard { 
    interface MyUiBinder extends UiBinder<Widget, UserDashboard> {}
    private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
    public UserDashboard() {
        Widget widget = uiBinder.createAndBindUi(this);
    }
}

Итак, вопрос в том, почему IntelliJ IDEA использует второй шаблон?

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Я жалуюсь на предпочтение Eclipse для первой версии - создание Composite - это еще одна дополнительная часть, которая в большинстве случаев не так уж полезна.Вместо этого просто заставьте UserDashboard реализовать IsWidget и заставить метод asWidget() вернуть виджет, созданный вашим uibinder xml.

0 голосов
/ 26 февраля 2013

IDEA не добавляет 'extends Composite', потому что это не всегда требуется.Однако вы можете легко изменить это поведение: перейдите в File |Настройки |Шаблоны файлов, откройте вкладку «JavaEE», выберите «Google Web Toolkit» -> «GwtUiBinder.java template» и добавьте «extends Composite» к тексту шаблона.Также не забудьте добавить обязательный оператор импорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...