我正在使用GWT 2.6.0,我正在关注StockWatcher tutorial。
简化,这是我的代码:
private Button sendButton = new Button("send");
private VerticalPanel mainPanel = new VerticalPanel();
public void onModuleLoad(){
// this works
mainPanel.add(sendButton);
RootPanel.get("stockList").add(mainPanel);
// until I add a Click Handler:
sendButton.addClickHandler(event -> addStock());
}
private void addStock(){
//TODO: implement
}
未呈现按钮。但是,如果我删除了单击处理程序,该按钮将变为可见。
我是全新的GWT,我想知道我在这里做错了什么?
我正在使用ant devmode
在开发模式下运行,而我正在使用Firefox 26.0。
答案 0 :(得分:3)
我不确定,gwt 2.6支持java8和lambdas。 要确信这一点,请尝试将项目编译为javascript。
支持Java 7,现在是默认设置。 (这可以被覆盖 运用 -sourceLevel 6) http://www.gwtproject.org/release-notes.html#Release_Notes_2_6_0
答案 1 :(得分:1)
看起来GWT不支持lamdas java8功能:
sendButton.addClickHandler(event -> addStock());
以下是添加点击处理程序的方法
Button b = new Button("Click Me");
b.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// handle the click event
}
});