1

可変量のラベルをパネルに追加するのに問題があります。私の問題は、ウィジェットを追加すると何らかの理由でウィジェットの代わりにClickListener返されるvoidことです(エラー)。「new Label('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
    }
  }));
 }
4

1 に答える 1

3

メソッド チェーンからの戻り値は、常に最後の値です。new を変更するA().b().c()と、返される型は c の戻り値の型になります。

あなたの例では、戻り値の型new Label("Test").addClickListener(...は ClickListener の addClickListener 戻り値の型であり、これは void です。

ラベルを作成し、クリック リスナーを追加してから追加できます。

for(int x = 0;x<productIDArray.length();x++) {
  Label l = new Label("Test);
  l.addClickListener(...);
  mainPanel.add(l);
 }
于 2009-05-14T15:02:07.047 に答える