The showRelativeTo method of the PopupPanel class works well in my use case.
import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.PopupPanel.PositionCallback; public class CommentPanelPopupImage extends Image { public CommentPanelPopupImage(final int tableId, final String referenceId, final String title) { super("external-link-ltr-icon.png"); setTitle("Click to see comments"); final CommentPanelPopupImage commentPanelPopupImage = this; addClickHandler(new ClickHandler() { public void onClick(final ClickEvent event) { final CommentPopupPanel popup = new CommentPopupPanel(tableId, referenceId, title); popup.setPopupPositionAndShow(new PositionCallback() { public void setPosition(int offsetWidth, int offsetHeight) { popup.showRelativeTo(commentPanelPopupImage); } }); } }); } }
source share