java - Java中的鼠标事件

标签 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)
                {

                }
            });

最佳答案

有 2 个鼠标事件监听器。您已经使用的 MouseMotionListener 和 MouseListener ,它监听诸如按下、释放等事件。

如果在此接口(interface)上实现所有六个方法的负担太大,您可以扩展 MouseAdapter相反,它为所有事件类型提供默认的 no op 方法,您可以覆盖您需要的方法。

编辑

仔细检查似乎发现 JList、JTable 和 JTree require a bit extra用于拖放支持。您必须实现 DropTarget收到有关这些事件的通知。

关于java - Java中的鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060538/

相关文章:

java - 动态更新jTable

java - 使用没有分组字符(千位分隔符)的数字过滤 JTable

java - 如何在Spring Batch中读取ini文件(键=值)

java - 相互影响 JComboBox

java - 两个日期之间的 JTable rowfilter,同一列

vb.net - 如果我按住鼠标左键或右键,mouseenter 不起作用

swift - 鼠标点击相对于场景的位置,而不是窗口

c++ - C++ Win32 中的哪个控件等于 C# WPF 中的 "Run"控件?

java - 直接在 IDE 中使用 build.gradle 依赖项

java - 子操作的 AKKA 聚合