使用ClickHandler输入未在GWT中呈现

时间:2014-02-02 17:28:50

标签: gwt java-8

我正在使用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。

2 个答案:

答案 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
    }
  });