我有這樣的代碼:gwt:如何使用setEventListener?
DOM.setEventListener(row.getElement(), new ClickListener(){
@Override
public void onClick(Widget sender) {
// TODO Auto-generated method stub
}});
我認爲的代碼是罰款和ClickListener
延伸EventListener
,但它給錯誤說:The method setEventListener(Element, EventListener) in the type DOM is not applicable for the arguments (Element, new ClickListener(){})
感謝您的詳細答覆!我必須使用DOM的原因是因爲處理程序定義是在一個循環內部,這個循環也在匿名對象層次結構的兩個級別(也許我不應該這樣做)。發件人是一個組合內的按鈕,在RootPanel中,有很多這樣的組合,所以我用一個循環來初始化它們。但它一直告訴我,我的局部變量不是最終的,所以我不能得到對outter對象的引用,即使我使用了'OutterClass.this'。因此,我必須在層次結構之外使用DOM ... – texasbruce
但是,在大多數情況下,我使用小部件來包含事件處理程序,並且感謝有關sinkEvent和內存泄漏的提示! – texasbruce
您可以執行以下操作。在循環內部聲明一個最終變量並給它你想要的值。 for(int i = 0; i <10; i ++){final int y = i;等等}。那麼你可以使用y變量在處理程序定義中引用它。 –