Добавление динамических виджетов на панель (GWT) - PullRequest
1 голос
/ 14 мая 2009

У меня проблемы с добавлением переменного количества меток на панель. Моя проблема в том, что по какой-то причине при добавлении моего ClickListener возвращается void вместо виджета (ошибка). Если у меня просто есть «новый ярлык (« xyz »)», который работает нормально, но мне нужно, чтобы у каждой панели был свой ClickListener. Вот код:

for (int x = 0; x < productIDArray.length(); x++) {
  mainPanel.add(new Label("Test").addClickListener(new ClickListener() {
    @Override
    public void onClick(Widget sender) {
      // TODO Auto-generated method stub
    }
  }));
 }

1 Ответ

3 голосов
/ 14 мая 2009

Возвращаемое значение из цепочки метода всегда является последним значением. Если вы измените новый A().b().c(), возвращаемый тип будет возвращаемым типом C.

В вашем примере тип возврата new Label("Test").addClickListener(... - это тип возврата addClickListener ClickListener, который является недействительным.

Вы можете создать метку, добавить прослушиватель кликов, а затем добавить его:

for(int x = 0;x<productIDArray.length();x++) {
  Label l = new Label("Test);
  l.addClickListener(...);
  mainPanel.add(l);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...