Если вы хотите добавлять новый "emailLineLayout" каждый раз, когда нажимаете кнопку добавления и подтверждаете действие, вам нужно вызвать addComponents в вашем dialogConfirmed методе.
@Override
public void dialogConfirmed(Person email)
{
GridLayout emailLineLayout = new GridLayout(3, 1);
// adding components to the GridLayout
...
person.setEmail(email.getEmail());
emailLayout.addComponent(emailLineLayout);
}
Вы также не должны добавлять «emailLineLayout» при инициализации «emailLayout».
emailLayout.addComponent(emailButton);
PS: вы создали "emailLineLayout" только один раз. Вам нужен новый экземпляр GridLayout каждый раз, когда вы хотите добавить новое электронное письмо.