我正在研究groovy-wicket集成,並且在編寫事件處理函數時缺乏匿名內部類似乎是一個問題。 有沒有寫這個代碼的更巧妙的方式Groovy中的匿名內部類
import org.apache.wicket.PageParameters
import org.apache.wicket.markup.html.basic.Label
import org.apache.wicket.markup.html.link.Link
import org.apache.wicket.markup.html.WebPage
/**
* Homepage
*/
class HomePage extends WebPage {
public HomePage(final PageParameters parameters) {
// Add the simplest type of label
add(new Label("message", "Wicket running!"));
def link1 = new ClickHandler("link1") //in java, defined inline
add(link1);
}
}
class ClickHandler extends Link{
ClickHandler(String id) {
super(id);
}
void onClick(){println "Hi"}
}
這似乎是正確的答案。唉,看來這些項目至今還沒有看到很多活動。無論如何,這個問題肯定會影響其他框架。有一個關於在未來版本的groovy中實現內部類的討論。 – Dan 2009-09-18 04:13:24
事實上,Groovy匿名內部類在1.8的路線圖上http://docs.codehaus.org/display/GroovyJSR/Groovy+Roadmap – 2009-09-18 09:20:01
匿名內部類在Groovy 1.7 – 2009-09-18 13:35:44