首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >chartMouseListener和MouseListener

chartMouseListener和MouseListener
EN

Stack Overflow用户
提问于 2014-04-29 16:41:15
回答 2查看 1.5K关注 0票数 0

为什么一开始工作的是chartMouseClicked (JFreeChart库),然后是mouseClicked?

代码语言:javascript
复制
boolean isDoubleClicked = false;
chartPanel.addMouseListener(new MouseListener() {
        @Override
        public void mouseClicked(MouseEvent me) {
            if (me.getClickCount() == 2 &&) {
                isDoubleClicked = true;
            }
        }
        @Override
        public void mousePressed(MouseEvent me) {}
        @Override
        public void mouseReleased(MouseEvent me) {}
        @Override
        public void mouseEntered(MouseEvent me) {}
        @Override
        public void mouseExited(MouseEvent me) {}
    });



chartPanel.addChartMouseListener(new ChartMouseListener() {
        @Override
        public void chartMouseClicked(ChartMouseEvent cme) {
            if (isDoubleClicked)
                System.out.println("Double clicked!");
        }
        @Override
        public void chartMouseMoved(ChartMouseEvent cme) {}
    });

所以,System.out.println("Double clicked!");不起作用。怎么改正呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-29 18:58:44

这里有两个不同的侦听器对象,一个是MouseListener实例(侦听面板上的鼠标事件),另一个是ChartMouseListener实例(监听面板中图表上的鼠标事件)。它们在单独的侦听器列表中注册,来自一个对象的isDoubleClicked字段对另一个对象不可见。

ChartMouseListenerMouseListener分离的原因是JFreeChart创建了自己的事件,这些事件在“鼠标指针下面”的图表中包含有关实体的附加信息。

票数 2
EN

Stack Overflow用户

发布于 2019-02-22 12:53:50

要在@DavidGilbert上加起来,还可以使用ChartMouseEvent.getTrigger().getClickCount()来检测图表中的双击。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23370505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档