2016-06-02 6 views
0

SmartGWT를 사용하여 내 응용 프로그램의 GUI를 만들었습니다. 이처럼 KeyPressHandler를 기본 레이아웃에 추가하면 다른 모든 클래스 (새 레이아웃)에서도이 키퍼 레인을 사용할 수 있습니다. @ColinAlworth처럼KeyPressHandler를 모든 호출 된 클래스로 확장하는 방법은 무엇입니까?

layout.addKeyPressHandler(new KeyPressHandler() { 

     @Override 
     public void onKeyPress(com.smartgwt.client.widgets.events.KeyPressEvent event) { 
      if (event.getKeyName() != null) { 
       if (event.getKeyName().equals("f1")) { 
        /*...*/ 
       } 

      } 
     } 
    }); 
+0

질문을 이해하지는 못 하겠지만 줄을 읽으면서 사용하는 모든 레이아웃에 처리기를 추가해야합니다. – Euclides

+0

유클리드가 맞다면, 그것도 필요하지 않습니다. 단지 RootPanel에 연결하십시오. –

+0

문제가 해결되었습니다. 감사합니다. 루트 레이아웃에 첨부하는 것으로 충분했습니다. 핸들러는 루트 레이아웃의 다른 패널에 있었으므로 다른 패널은 볼 수 없었습니다. –

답변

0

당신이 당신의 GUI에서 루트 레이아웃에 이벤트를 첨부 할 경우가 발생하면 그의 모든 자녀가 이벤트를 트리거, 자신의 의견에 말한다.

이 같은 검사 할 또한 경우 : 당신은 널을 확인할 필요가없는

if ("f1".equals(event.getKeyName())) { 
    /*...*/ 
} 

합니다.