2016-07-15 2 views
1

com.vaadin.ui.ConnectorTracker unregisterConnector 경고를 등록 해제 시도 : 등록 취소 (83)에 시도 여기 angel이라는 MSG 경고 :

등록되지 않은 내 코드는이 경고를 일으키는 것입니다. 애플릿 구성 요소 애드온으로 대체되는 간단한 구성 요소를 수행합니다. 버튼의 클릭에

는 appletConponent.handleClick()

애플릿 작품을 호출하지만 나는 로그에 경고 MSG를 참조하십시오.

static class AppletComponent extends CustomComponent{ 
    Component appletComponent; 
    VerticalLayout container; 
    String contextRoot; 

    void construct(){ 
     container= new VerticalLayout(); 
     setCompositionRoot(container); 
     contextRoot=VaadinServlet.getCurrent().getServletContext().getContextPath(); 
     // initialize with empty component 
     container.addComponent(appletComponent= new Label()); 
    } 
    void handleClick(){ 
      addApplet(); 
     } 
    } 

    void addApplet(){ 
     try{ 
      String appletParam=gatesSession.getPathParameter(); 
      Component oldComponent=appletComponent; 
      Component newComponent=new AppletIntegration() { 
       private static final long serialVersionUID = 1L; 
       @Override 
       public void attach() { 
        // applet codebase,archive url 
       } 
      }; 
      container.replaceComponent(oldComponent, newComponent); 
      appletComponent= newComponent; 
     }catch(Exception e){ 
      logger.error(" could not create session ",e); 
      Notification.show("Cannot Launch ","failed"+ e.getMessage(),Type.ERROR_MESSAGE); 
     } 
    } 
+1

재정의 된 attach() 메소드에서 super.attach();를 호출해야합니다. –

+0

감사합니다. 문제가 해결되었습니다. – user884424

답변

4

구성 요소의 attach() 메서드를 재정뿐만 아니라 super.attach() 전화를 기억

@Override 
public void attach() { 
    super.attach(); // Don't forget this! 
} 

동일 detach()에 적용됩니다.

관련 문제