aha*_*ert 1 gwt canvas mouseevent
我目前正在为GWT开发类似绘画的应用程序.我想添加一个鼠标处理程序,当用户将鼠标拖过画布时运行(如制作正方形等;),问题是我不确定要使用什么处理程序.查看在canvas中实现的处理程序已经引出了一些提示,但关于适用于哪个事件的文档很少.
有谁知道我应该如何实现它?谢谢.
没有"拖动"处理程序.你使用MouseDown,MouseMove和MouseUp事件进行"拖动".
class YourWidget extends Composite
{
@UiField
Canvas yourCanvas;
private boolean dragging;
private HandlerRegistration mouseMove;
@UiHandler("yourCanvas")
void onMouseDown(MouseDownEvent e) {
dragging = true;
// do other stuff related to starting of "dragging"
mouseMove = yourCanvas.addMouseMoveHandler(new MouseMoveHandler(){
public void onMouseMove(MouseMoveEvent e) {
// ...do stuff that you need when "dragging"
}
});
}
@UiHandler("yourCanvas")
void onMouseUp(MouseUpEvent e) {
if (dragging){
// do other stuff related to stopping of "dragging"
dragging = false;
mouseMove.remove(); // in earlier versions of GWT
//mouseMove.removeHandler(); //in later versions of GWT
}
}
}
Run Code Online (Sandbox Code Playgroud)