gwt getOffsetWidth返回零

hba*_*hba 7 gwt

我需要在屏幕上渲染后获取窗口小部件的宽度,因为当我尝试在连接后获取宽度时,它返回零.我可以检索小部件的有效偏移宽度的最早时间是多少?

提前致谢!

Joh*_*nna 5

仅在浏览器构建页面内容后才知道框的偏移宽度.使用scheduleDefferred(),然后你可以得到价值.

例:

final TextBox yourInput = new TextBox();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {

  @Override
  public void execute() {
    int width = yourInput.getOffsetWidth();
    /* Do anything with width */
  }
});
Run Code Online (Sandbox Code Playgroud)


pis*_*ies 1

看一下 Widget 的 onLoad() 方法。这是一个可以覆盖的无操作方法,在小部件附加到浏览器文档后立即调用。