我正在尝试移动 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)
{
}
});
最佳答案
有 2 个鼠标事件监听器。您已经使用的 MouseMotionListener 和 MouseListener ,它监听诸如按下、释放等事件。
如果在此接口(interface)上实现所有六个方法的负担太大,您可以扩展 MouseAdapter相反,它为所有事件类型提供默认的 no op 方法,您可以覆盖您需要的方法。
编辑
仔细检查似乎发现 JList、JTable 和 JTree require a bit extra用于拖放支持。您必须实现 DropTarget收到有关这些事件的通知。
关于java - Java中的鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060538/