Taming the GWT PopupPanel
I was working on a feature of a GWT application today, and decided to fix a problem that had been bugging me. While the issue was not a server crashing bug, it was a usability nuisance. Between the main content of the app, and the navigation bar, there was an Anchor. When a user moused over the Anchor, a PopupPanel would be shown with some user data in it. Everytime i moved my mouse up to the navigation bar, I'd mouse over the anchor, and have this annoying PopupPanel in my way. To compund the issue, there was a RPC call each time the panel was popped up. To combat this issue, I decided to use the GWT Timer class, along with the MouseOverEvent and MouseOutEvent. This was incredibly simple after I moved the presenter and view to use the UiField, and UiHandler annotations along with the UiBinder. The Code: @UiHandler("popupAnchor") void showPopup(ClickEvent e) { showPopup(); } private long mouseOverTime = 0; private int loadPopupTime = 300; @UiHandler("p