Java GWT TextArea-调整大小处理程序

Java GWT TextArea-调整大小处理程序,java,javascript,html,gwt,Java,Javascript,Html,Gwt,一些浏览器为HTML文本区域显示一个句柄,用于调整文本框的大小。在GWT中是否有任何方法可以响应此调整大小事件 我尝试使用此代码,但未触发事件: TextArea textArea = new TextArea(); textArea.addHandler(new ResizeHandler() { @Override public void onResize(ResizeEvent event) { System.out.println("resize");

一些浏览器为HTML文本区域显示一个句柄,用于调整文本框的大小。在GWT中是否有任何方法可以响应此调整大小事件

我尝试使用此代码,但未触发事件:

TextArea textArea = new TextArea();

textArea.addHandler(new ResizeHandler() {

    @Override
    public void onResize(ResizeEvent event) {
        System.out.println("resize");

    }
}, ResizeEvent.getType());
“看起来您不能专门将事件附加到调整文本区域的大小。调整窗口大小时,将触发调整大小事件。


这个问题已经有两年了,但对于那些被谷歌带到这个问题上的人来说,我有一个解决方案

您可以使用“鼠标下移”、“鼠标移动”和“鼠标上移”事件来调整文本区域的大小。以下是一个基本代码:

TextArea textArea = new TextArea();
...
textArea.addMouseDownHandler(new MouseDownHandler() {
  private HandlerRegistration mouseMoveUpRegistration;
  private int lastWidth;
  private int lastHeight;

  @Override
  public void onMouseDown(MouseDownEvent event) {
    lastWidth = getOffsetWidth();
    lastHeight = getOffsetHeight();

    if (mouseMoveUpRegistration == null) {
      mouseMoveUpRegistration = Event.addNativePreviewHandler(new NativePreviewHandler() {
        @Override
        public void onPreviewNativeEvent(NativePreviewEvent event) {
          if (event.getTypeInt() == Event.ONMOUSEMOVE || event.getTypeInt() == Event.ONMOUSEUP) {
            int width = getOffsetWidth();
            int height = getOffsetHeight();
            if (width != lastWidth || height != lastHeight) {
              // do whatever you want to to while still resizing
              lastWidth = width;
              lastHeight = height;
            }

            if (event.getTypeInt() == Event.ONMOUSEUP) {
              // do whatever you want to do when resizing finished
              // perhaps check actual and initial size to see if the size really changed
              /* mouse up => additionally remove the handler */
              if (mouseMoveUpRegistration != null) {
                mouseMoveUpRegistration.removeHandler();
                mouseMoveUpRegistration = null;
              }
            }
          }

      });
    }
  }

}))

可能与你想通过此实现的目标重复?如果你发现相同的帖子,因为你没有足够的声誉,你应该将其标记为重复,或者用该问题发表评论。在我看来,这不是真正的重复。我认为这个问题对于没有Javascript知识的GWT设计者来说很有用。