2013-03-22 2 views
-1

이미지와 레이블로 구성된 VerticalPanel이 있습니다. 내가 구현하려고하는 것은 데스크톱 아이콘과 비슷합니다. 클릭하면 '표시'되고 아마도 메뉴가 나타납니다. 아이콘 바깥 쪽을 클릭하면 메뉴가 사라지고 아이콘이 표시되지 않습니다.GWT는 데스크톱 아이콘과 같은 것을 구현합니다.

현재 저는 FocusPanel에 VerticalPanel을 래핑하고 포커스 처리를 사용하여이 작업을 수행하려고하고 있지만 지금까지 만족스러운 결과를 얻지 못했습니다.

이 기능을 가장 효과적으로 구현하는 방법에 대한 지침을 제공해 주시면 감사하겠습니다.

감사합니다.

+1

나는 메뉴 위해 만든 위젯 사용하려고합니다 : [MenuBar의 (http://google-web-toolkit.googlecode.com/svn를 /javadoc/latest/com/google/gwt/user/client/ui/MenuBar.html) - 약간의 스타일을 사용하면 일반적인 메뉴/메뉴 막대처럼 보이지 않아도됩니다. –

답변

0

당신은 FocusPanel 래퍼로 바른 길을 가고 있습니다. 원하는 것을 수행하기위한 FocusPanel의 핵심은 클릭 수를 캡처한다는 것입니다 (HasClickHandlers 구현). 그런 다음 클릭 수를 처리하고 패널 CSS 규칙을 할당 할 수 있습니다. border-width, border-color 또는 background-color 등과 같이 아이콘을 눌렀거나 선택했음을 나타냅니다.

+0

음 ... 좋아요,하지만 초점 패널을 클릭하면 어떨까요? 그런 다음 선택을 취소해야합니다. 어떻게 구현할 수 있을까요? – mdzh

+0

FocusPanel 이후 [BlurHandler] (http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/event/dom/client/BlurHandler.html)도 추가 할 수 있습니다. [HasBlurHandlers] (http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/event/dom/client/HasBlurHandlers.html)를 구현하고 onBlur()에서 수정할 수 있습니다. 귀하의 패널의 CSS는 선택의 손실을 나타냅니다. –

+0

고마워요! 그 트릭을 했어! – mdzh