打扰一下:
我只是不知道如何将这些连续的操作联系起来?
按住鼠标,然后拖动,然后松开。如果用户不执行此操作,某些操作将不会发生...
我是否应该添加代码,因为已经按下了来区分这一点?
尽管我在mouse event api中找到了参数,但常量MOUSE_MOVED不起作用,因为Eclipse告诉我它不知道这一点
我不知道怎么回事..。请帮帮我!
发布于 2011-11-18 01:39:45
使用MouseInputAdapter子类实现MouseInputListener并处理mousePressed、mouseDragged和mouseReleased事件。
请看此tutorial中的示例。
发布于 2016-12-21 00:23:41
下面是一个封装了拖动检测的简单类:
public abstract static class MouseDragListener {
java.awt.Component component;
MouseEvent dragStart;
public MouseDragListener(java.awt.Component component) {
super();
this.component = component;
component.addMouseMotionListener(new MouseAdapter() {
public void mouseMoved(MouseEvent e) {
dragStart = null;
}
public void mouseDragged(MouseEvent e) {
if (dragStart == null)
dragStart = e;
}
});
component.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (dragStart != null) {
dragReleased(dragStart, e);
}
}
});
}然后使用:
new MouseDragListener(center){
void dragReleased(MouseEvent start,MouseEvent end){
// do something ...
}
}https://stackoverflow.com/questions/8171621
复制相似问题