Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 沙特尔·穆塞利斯滕纳和穆塞利斯滕纳_Java_Mouseevent_Jfreechart_Mouselistener_Mouseclick Event - Fatal编程技术网

Java 沙特尔·穆塞利斯滕纳和穆塞利斯滕纳

Java 沙特尔·穆塞利斯滕纳和穆塞利斯滕纳,java,mouseevent,jfreechart,mouselistener,mouseclick-event,Java,Mouseevent,Jfreechart,Mouselistener,Mouseclick Event,为什么一开始使用的是ChartMouseClick(JFreeChart库),然后又使用了MouseClick boolean isDoubleClicked = false; chartPanel.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent me) { if (me.getClickCount() == 2 &am

为什么一开始使用的是ChartMouseClick(JFreeChart库),然后又使用了MouseClick

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(“双击!”)无效。如何更正?

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


ChartMouseListener
MouseListener
分开的原因是,它创建了自己的事件,其中包含有关鼠标指针“下方”图表中实体的附加信息。

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

我决定将所有信息添加到
MouseListener
中,并从
ChartMouseListener
中删除。谢谢你的建议!