在Swing中拖动一个组件以及截图,我们抛开定位布局不说,是件很容易的事情。拖动图片和拖动部件是同样的道理,如果您准备拖动一个组件,只要给插件增加两个器就可以了。一个是addMouseListener(MouseListener l),另一个是:addMouseMotionListener(MouseMotionListener l) ;由于MouseListener和MouseMotionListener都继承同一个父类EventListener,所以我们给模块提高器时,只要减少同一个器就可以了。即:
DragPicListener listener = new DragPicListener();
component.addMouseListener(listener);
component.addMouseMotionListener(listener);
对于器DragPicListenerswing组件集,我们即使实现鼠标按下时的触发事件public void mousePressed(MouseEvent e);和鼠标拖动时的触发事件:public void mouseDragged(MouseEvent e) ,就可以完成模块的拖动了。当鼠标按下时我们记录下鼠标的位置;当鼠标移动时,获得鼠标当前的位置,并把模块移动到当前位置。类程序如下:
class DragPicListener extends MouseInputAdapter {