0

我有一个 GWT 小部件,它是一个窗口。用户可以拖放窗口。我正在使用一个名为 GWT-Ext 的旧 API。它有能力实现一个监听器来检测窗口何时被移动。我想通过检测窗口的 XY 坐标并在窗口“越界”时将窗口放回原始位置来防止窗口隐藏在浏览器栏下。如何确定浏览器栏的 XY 坐标,以便知道我的窗口是否被浏览器栏遮挡?

4

2 回答 2

1

浏览器始终位于 0。但您必须考虑文档的滚动位置,因此实际上它位于Document.get().getScrollTop().

于 2013-01-28T16:23:30.833 回答
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);
      }
   }            
});
于 2013-01-30T13:15:10.257 回答