2014-01-10 2 views
0

ConfirmDialog 부가 기능을 다운로드했습니다. 자, 내 customcomponent에 confirmdialong을 만들려고 노력하고 있지만,이 UI에서는 작동하지 않는다고 생각합니다. 내가 ConfirmDialog을 만들고 UI로 내 CustomComponent을 통과 할 때Customcomponent에서 ConfirmDialog 추가 기능을 사용 하시겠습니까?

public class Customer extends CustomComponent implements Button.ClickListener{ 
    private Button btnSave; 
    private VerticalLayout vLayout; 

    public Customer(){ 
     vLayout = new VerticalLayout(); 
     setCompositionRoot(vLayout); 
     btnSave = new Button("Save"); 
     btnSave.addClickListener(this); 
     vLayout.addComponent(btnSave); 
    } 

    @Override 
    public void buttonClick(ClickEvent event) { 
     if(event.getButton() == btnSave){ 
      save();  
     } 
    } 

    /** save informations if ConfirmDialog return true */ 
    private void save(){ 
     ConfirmDialog.show(this, "Please Confirm:", "Are you really sure?", 
      "I am", "Not quite", new ConfirmDialog.Listener() { 
       public void onClose(ConfirmDialog dialog) { 
        if (dialog.isConfirmed()) { 
         System.out.println(dialog.isConfirmed()); 
        } else { 
         System.out.println(dialog.isConfirmed());      } 
       } 
      }); 
    } 

} 

(이) 허용하지 않습니다. try null로 패스하지만 작동하지 않습니다.

답변

1

문제가 해결되었습니다. 나는 UI.getCurrent()를 사용하고 작동했다.

/** save informations if ConfirmDialog return true */ 
private void save(){ 
    ConfirmDialog.show(UI.getCurrent(), "Please Confirm:", "Are you really sure?", 
     "I am", "Not quite", new ConfirmDialog.Listener() { 
      public void onClose(ConfirmDialog dialog) { 
       if (dialog.isConfirmed()) { 
        System.out.println(dialog.isConfirmed()); 
       } else { 
        System.out.println(dialog.isConfirmed());      } 
      } 
     }); 
} 
관련 문제