java - JList MouseMoved 和 MousePressed

标签 java swing mouseevent mouse jlist

我扩展了一个 JList 以提供两个独立的功能,项目的 toolTipText 和右键单击选项。两者分开工作,但是当我尝试将它们一起使用时,MouseMoved 事件没有被识别?以下是我的新监听器方法的内容。我应该如何谈判这些不同的事件?

public class JListTT extends javax.swing.JList {
    public JListTT() {
        super();
       addMouseListener(new ttListener());
...
   class ttListener extends MouseAdapter {
        public void mouseMoved(MouseEvent e) {
             String nodeID = bldItemNodeID();
             theList.setToolTipText(nodeID);
            }
        public void mousePressed(MouseEvent ev)  {check(ev); }
        public void mouseReleased(MouseEvent ev) {check(ev); }
        public void mouseClicked(MouseEvent ev)  {check(ev); }
        public void check(MouseEvent ev) {
            if (ev.isPopupTrigger()) { 
                theList.setSelectedIndex(theList.locationToIndex(ev.getPoint())); 
                menu.show(theList, ev.getX(), ev.getY()); 
            }
        }
    }

最佳答案

您将 ttListener 对象添加为 MouseListener,但我没有看到您将 ttListener 对象添加为 MouseMotionListener。例如:

ttListener myMouseadapter = new ttListener();
addMouseListener(myMouseadapter);
addMouseMotionListener(myMouseadapter);

关于java - JList MouseMoved 和 MousePressed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8373097/

相关文章:

java - 为什么 GUI 应用程序使用左上角而不是左下角?

java - Android DatePicker 对话框,日期应该来自明天

java - 如何阻止 jzy3d 打印帮助消息?

java - Java 中有没有好的计数布隆过滤器实现?

java - 将图像和按钮添加到 JPanel 上

添加 JTextfield 后 Java 不呈现组件

javascript - jquery的hover函数可以传递变量吗

python - [Python][evdev] 获取鼠标点击后光标位置

python - Tkinter:使用鼠标绘制矩形

java - 开始 Java : Finding the greatest number out of a list