问题如下

tcx814616 2011-09-20 03:37:58
GWT 或者Java awt 中这样代码:
move.addMouseDownHandler(new MouseDownHandler() {
public void onMouseDown(MouseDownEvent event) {
if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
moveflag = FLAGSTATUS.MOVE;

}
}
});
move.addMouseUpHandler(new MouseUpHandler() {

public void onMouseUp(MouseUpEvent event) {
if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
moveflag = FLAGSTATUS.NONE;
}

}
});
想实现鼠标左键点击设置moveflag值 松开时再设另外一个值 但好像松开时没有效果 什么问题啊 高手?
...全文
142 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tcx814616 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vivansun 的回复:]

感觉代码没有什么问题,能不能在这句前面做一句输出看看,是否触发了..

if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
moveflag = FLAGSTATUS.NONE;
}
[/Quote]
问题已经解决 点击事件里添加
event.preventDefault();
event.stopPropagation();
DOM.setCapture(move.getElement());
up事件里添加
DOM.releaseCapture(move.getElement()); 主要是后面的这两个函数
vivanSun 2011-09-20
  • 打赏
  • 举报
回复
感觉代码没有什么问题,能不能在这句前面做一句输出看看,是否触发了..

if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
moveflag = FLAGSTATUS.NONE;
}
tcx814616 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ioe_gaoyong 的回复:]

这算全部代码啊?
你也太逗了,类名都没有……
[/Quote]
这个类里面千把行代码你让我怎么贴啊 我只是想只知道鼠标松开事件为什么不触发。
风尘中国 2011-09-20
  • 打赏
  • 举报
回复
这算全部代码啊?
你也太逗了,类名都没有……
tcx814616 2011-09-20
  • 打赏
  • 举报
回复
//move点击事件
move.addMouseDownHandler(new MouseDownHandler() {
public void onMouseDown(MouseDownEvent event) {
if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
moveflag = FLAGSTATUS.MOVE;

}
}
});

//move松开事件
move.addMouseUpHandler(new MouseUpHandler() {
public void onMouseUp(MouseUpEvent event) {
if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
moveflag = FLAGSTATUS.NONE;
}
}
});


// //move拖动事件
move.addMouseMoveHandler(new MouseMoveHandler() {
public void onMouseMove(MouseMoveEvent event) {
int curentEventX, curentEventY;
if(event.getNativeButton() == NativeEvent.BUTTON_LEFT){
warn();
curentEventX = event.getRelativeX(getParent().getElement());
curentEventY = event.getRelativeY(getParent().getElement());
int offsetX=curentEventX-oldEventX;
int offsetY=curentEventY-oldEvnetY;
oldEventX = curentEventX;
oldEvnetY = curentEventY;
System.out.println(moveflag);
if(moveflag == FLAGSTATUS.MOVE){
moveBy(offsetX, offsetY);
}
}

}
});
风尘中国 2011-09-20
  • 打赏
  • 举报
回复
把全部代码贴出来看看吧,这一半的代码没法调试

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧