2017-06-08 7 views
2

私はパラメータを使ってvaadinにボタンを作成するメソッドを作成したいと思います。私はラムダとパラメータとしてclickListenerを設定することができますどのようにJava 8はlambdaを使用してパラメータとしてclickListenerを渡します

addButton(newButton, "My test Button", FontAwesome.PLUS_SQUARE, someObject.do()) 

:コールによって

private void addButton(Button button, String toolTip, FontAwesome fontAwesome, ... clickEvent){ 
     button = new Button(fontAwesome); 
     button.setDescription(toolTip); 
     button.setEnabled(false); 
     button.addClickListener(event -> clickEvent); 
    } 

答えて

4
private void addButton(Button button, String toolTip, FontAwesome fontAwesome, Button.ClickListener clickEvent){ 
    button = new Button(fontAwesome); 
    button.setDescription(toolTip); 
    button.setEnabled(false); 
    button.addClickListener(clickEvent); 
} 

次に、[EDIT]このaddButton(newButton, "Test", o, evt -> someMethod());

のようなあなたのメソッドを呼び出します:私はそれはあなたの質問に答えると思うしながら、new Buttonがあるメソッドの呼び出し側からアクセスできなくなりますのでご注意ください。おそらくあなたのコードにバグがあるかもしれないので、代わりにボタンを返すことを検討してください。

関連する問題