2017-09-07 5 views
0

J'ai créé un bouton Supprimer qui supprime les données dans ma base de données et dans mon calendrier. Mais je veux utiliser MessageBox pour être sûr que ce n'est pas un mauvais choix. Mais je ne peux pas ajouter 2 actions dans mon MessageBox.WithYesButton(), Alors avez-vous une idée de comment je peux le faire? Voici mon code:Vaadin Button action et MessageBox avec 2 actions à faire

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(); 
      } 
     }); 

Merci pour votre aide!

Répondre

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

De plus, vous n'avez pas besoin de déclarer un nouveau ClickListener. Vous pouvez simplement faire cela:

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

Super! Merci beaucoup, je n'y ai pas pensé! Honte sur moi :) – Kravennagen