作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么chartMouseClicked(JFreeChart库)首先起作用,然后mouseClicked又起作用了?
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
分开的原因是 JFreeChart创建自己的事件,其中包含有关鼠标指针“下方”的图表中的实体的附加信息。
关于java - ChartMouseListener 和 MouseListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23370505/
为什么chartMouseClicked(JFreeChart库)首先起作用,然后mouseClicked又起作用了? boolean isDoubleClicked = false; chartPa
我有一个使用 JFreeChart 的图表,单击后将标记放在相关位置上(见下图)。 我需要的是在单击后而不是在鼠标移动后更改位置。 我知道使用模块 ChartMouseListener 我可以扩展它的
我是一名优秀的程序员,十分优秀!