我有一个窗口的GWT小部件。用户可以拖放窗口。我正在使用一个名为GWT-Ext的旧API。它能够实现一个侦听器来检测Window何时被移动。我想通过检测窗口的XY坐标并将窗口恢复到原始位置(如果超出范围")来阻止窗口隐藏在浏览器栏下面。如何确定浏览器栏的XY坐标,以便我知道浏览器栏是否遮挡了我的窗口?
答案 0 :(得分:1)
浏览器栏始终为0.您必须考虑文档的滚动位置,因此实际上它位于Document.get().getScrollTop()
。
答案 1 :(得分:0)
我确定浏览器栏位于0.所以我检查我的Y位置是否小于0然后拨打.setPagePosition
。
this.addListener(new PanelListenerAdapter()
{
@Override
public void onMove(BoxComponent component, int x, int y)
{
// prevent user from accidentally dragging window under browser bar
if (y <= 0)
{
component.setPagePosition(DEFAULT_X_POS, DEFAULT_Y_POS);
}
}
});