Java中的鼠标事件

时间:2010-06-17 09:49:05

标签: java jtable mouseevent jlabel

我正在尝试移动一个JComponent在一个表上说一个标签。我正在使用MouseMotionListener的mouseDragged方法跟踪这个事件。这个方法完美地帮助我跟踪项目。有一种方法可以在拖动完成后跟踪鼠标释放(。下降事件)。

 tktLabel1.addMouseMotionListener(new MouseMotionListener()
            {

                public void mouseDragged(MouseEvent arg0)
                {
                    tktLabel1.setBounds(tktLabel1.getX() + arg0.getX(),
                            tktLabel1.getY() + arg0.getY(), width, height);

                }

                public void mouseMoved(MouseEvent arg0)
                {

                }
            });

1 个答案:

答案 0 :(得分:4)

鼠标事件有2个听众。您正在使用的MouseMotionListener和MouseListener,它会监听已按下,释放等内容。

如果在此接口上实现所有六种方法的负担过重,则可以扩展MouseAdapter,而不是为所有事件类型提供默认的op方法,您可以覆盖所需的方法。

修改

似乎仔细检查JList,JTable和JTree require a bit extra是否支持拖放。您必须实施DropTarget才能收到有关这些事件的通知。