2017-09-07 21 views
0

データベース内とカレンダー内のデータを削除する削除ボタンを作成しました。しかし、私はこれが間違った選択ではないことを確かめるためにMessageBoxを使いたいと思います。しかし、MessageBox.WithYesButton()に2つのアクションを追加することはできません。どうすればいいですか? は、ここに私のコード:Vaadin Buttonアクションと2つのアクションを持つMessageBox

remove.addClickListener(new Button.ClickListener() { 
      @Override 
      public void buttonClick(Button.ClickEvent event) { 
       for (CalendaringItem calendaringItem : calendaringList.getCalendarings()) { 
        MessageBox.createQuestion().withMessage("Do you want to delete this event ?").withYesButton(() 
          -> calendaringItem.delete(calendaringItem, name.getValue())).withNoButton().open(); 
        //calendar.removeEvent(e); 
       } 
       window.close(); 
      } 
     }); 

あなたの助けをありがとう!

答えて

1
MessageBox.createQuestion() 
      .withMessage("Do you want to delete this event ?") 
      .withYesButton(() -> { 
       calendaringItem.delete(calendaringItem, name.getValue()); 
       //action 
       //action2 ... 
      }) 
      .withNoButton().open(); 

さらに、新しいClickListenerを宣言する必要はありません。あなたはそれを簡単に行うことができます:

remove.addClickListener(event -> { 
    actionAfterButtonClick(); 
}); 
+0

素晴らしい!ありがとう、私はそれについて考えなかった!私に恥があります:) – Kravennagen

関連する問題