Java GWT TextArea-调整大小处理程序
一些浏览器为HTML文本区域显示一个句柄,用于调整文本框的大小。在GWT中是否有任何方法可以响应此调整大小事件 我尝试使用此代码,但未触发事件: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");
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设计者来说很有用。