일부 마우스 수신기를 GWT의 MenuBar 하위 메뉴/계단식 메뉴에 추가하려고합니다. 슬프게도, 나는 하위 메뉴 popuppanel에 직접 액세스 할 수없는 것처럼 보입니다. 그렇게하는 방법 (getPopup())은 private입니다. 그리고 GWT 컴파일 방식으로 인해 리플렉션을 통해 액세스 할 수 없습니다.GWT 메뉴 모음 팝업 패널/하위 메뉴에 액세스하려면 어떻게합니까?
주 메뉴 모음에 마우스 수신기를 추가하면 (마우스가 메뉴 막대 경계 안에있을 때 감지) 좋고 간단합니다. 그러나 마우스가 계단식 하위 메뉴 중 하나에있을 때 알려주는 마우스 수신기를 추가하는 방법을 알아낼 수는 없습니다.
com.google.gwt.user.client.ui.MenuBar myMainBar = new MenuBar();
myMainBar.addDomHandler(menuHoverOutHandler, MouseOutEvent.getType());
myMainBar.addDomHandler(menuHoverOverHandler, MouseOverEvent.getType());
이 실제 GWT MenuBar의 위대한 작품 :
는 내가 뭐하는 거지하는 것은 이것이다. 마우스를 꽂으면 mouseOverEvent가 트리거됩니다. 마우스를 뽑으면 MouseOutEvent가 트리거됩니다.
문제는 메인 메뉴 바에서 하위 메뉴를 열면 해당 메뉴에 마우스를 올리면 MouseOutEvent가 트리거된다는 것입니다. 나는 그렇게하지 말아야한다. 내가 말할 때
하위 메뉴 나는 여기에서 보이는 것과 같은 의미 :
http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/MenuBar.html
그래서 오랫동안 나는 스타일, 과일 및 기간, 마우스를 나열하는 '주'줄이야로 이벤트가이를 인식합니다.
하지만 굵게, 기울임 꼴로 표시되는 하위 메뉴로 내려 가면 마우스 이벤트가 메뉴 모음을 완전히 떠났다 고 생각합니다. 마우스가 이러한 부 메뉴 중 하나에 있는지 확인하는 방법이 필요합니다. 당신은 단순히
myMainBar.getPopup()
을하고 getPopup이 비공개로 결과 PopupPanel에 청취자를 추가 할 수 없습니다
(또는이 메인 메뉴 바의 하위 메뉴가 어딘가 열려 있음). MenuBar.popup에 접근 할 다른 방법을 찾고 있어요
하위 메뉴 중 하나가 열려 있는지 알려주는 방법이없는 것 같습니다. 이는 다소 당혹 스럽습니다. 이 하위 메뉴와 상호 작용할 수있는 능력이 절망적으로 부족한 것 같아요. 내가 뭔가를 놓치고 있는지 궁금합니다.
코드에 어떻게 액세스합니까? :) 당신이하고있는 일에 대해 알려주는 코드를 공유 할 수 있습니까? – Braj
나는 내가하고있는 것을 보여주는 몇 가지 코드와 몇 가지 추가 설명을 추가했다. 좀 봐 주셔서 감사합니다! – user2197116
해결할 수 있었습니까? 지금 당장이 문제에 직면하고 있습니다 ... – Sleeper9