GWT-弹出位置
如何在gwt中将弹出窗口定位到鼠标位置。 我有一个巨大的flextable,flextable包含一个按钮。如果按下按钮,则会出现一个包含一些数据的弹出窗口,但该弹出窗口始终显示在页面顶部。 如果用户位于表的底部,那么弹出窗口将不在视图中,并且他们无法看到它GWT-弹出位置,gwt,Gwt,如何在gwt中将弹出窗口定位到鼠标位置。 我有一个巨大的flextable,flextable包含一个按钮。如果按下按钮,则会出现一个包含一些数据的弹出窗口,但该弹出窗口始终显示在页面顶部。 如果用户位于表的底部,那么弹出窗口将不在视图中,并且他们无法看到它 如何获取鼠标位置的x和y坐标?要显示弹出窗口,请使用center()方法而不是show()方法。这将创建一个弹出窗口,并将其显示在浏览器视口的中心。要获取鼠标位置,可以从已传递给事件处理程序函数的事件中使用getClientX/Y()或ge
如何获取鼠标位置的x和y坐标?要显示弹出窗口,请使用
center()
方法而不是show()
方法。这将创建一个弹出窗口,并将其显示在浏览器视口的中心。要获取鼠标位置,可以从已传递给事件处理程序函数的事件中使用getClientX/Y()或getScreenX/Y()
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);
}
});
}
});
}
}
在主面板中添加此项并将全局vars对象中的坐标保存为静态(?) 然后从代码中的其他地方获取坐标
main_verticalPanel.addDomHandler(new MouseMoveHandler() {
@Override
public void onMouseMove(MouseMoveEvent event) {
GlobalVars.mouseX = event.getX();
GlobalVars.mouseY = event.getY();
}
}, MouseMoveEvent.getType());