未在GWT中呈现ClickHandler的输入

未在GWT中呈现ClickHandler的输入,gwt,java-8,Gwt,Java 8,我正在使用GWT2.6.0,并遵循以下步骤 简而言之,这是我的代码: private Button sendButton = new Button("send"); private VerticalPanel mainPanel = new VerticalPanel(); public void onModuleLoad(){ // this works mainPanel.add(sendButton); RootPanel.get("stockList").add

我正在使用GWT2.6.0,并遵循以下步骤

简而言之,这是我的代码:

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。

看起来GWT还不支持java8功能:

   sendButton.addClickHandler(event -> addStock());
下面是如何添加单击处理程序

  Button b = new Button("Click Me");
  b.addClickHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
      // handle the click event
    }
  });
GWT似乎还不支持java8功能:

   sendButton.addClickHandler(event -> addStock());
下面是如何添加单击处理程序

  Button b = new Button("Click Me");
  b.addClickHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
      // handle the click event
    }
  });

我不确定GWT2.6是否支持java8和lambdas。 要确信这一点,请尝试将项目编译为javascript

Java 7是受支持的,现在是默认值。这是可以忽略的 使用 -源级别6


我不确定GWT2.6是否支持java8和lambdas。 要确信这一点,请尝试将项目编译为javascript

Java 7是受支持的,现在是默认值。这是可以忽略的 使用 -源级别6


奇怪的是,单行lambda是重构新ClickHandler的结果。。。在IntelliJ思想中。似乎我不太理解Java8和lambdas,因为匿名内部类的代码确实可以工作。感谢您的代码看起来很好,我认为@Dmitry有道理,gwt可能不会处理java 8类文件。@aepurniet是的,我意识到,我更新了answerOdd,一行lambda是重构新ClickHandler的结果。。。在IntelliJ思想中。似乎我不太理解Java8和lambdas,因为匿名内部类的代码确实可以工作。感谢您的代码看起来很好,我认为@Dmitry有道理,gwt可能不处理java 8类文件。@aepurniet是的,我意识到,正如您发布的链接中所述,我更新了答案java 7是受支持的,但java 8还不受支持。Java8甚至还没有正式发布,我们只有预发布版本。没有Java8,您还不能拥有lambdas。正如您发布的链接中所指出的,Java7是受支持的,但是Java8还不受支持。Java8甚至还没有正式发布,我们只有预发布版本。没有Java8,您还不能拥有lambdas。