JFreeChart鼠标移动能够实时监听横纵坐标值,但是屏幕一直闪跟update(Graphics g)有关,找个高手帮帮忙

publicvoidchartMouseMoved(ChartMouseEventchartMouseEvent){point=chartMouseEvent.getTr... public void chartMouseMoved(ChartMouseEvent chartMouseEvent) {
point = chartMouseEvent.getTrigger().getPoint();
mouseX = chartMouseEvent.getTrigger().getX();
mouseY = chartMouseEvent.getTrigger().getY();
Point2D point2D = this.chartPanel.translateScreenToJava2D(new Point(mouseX, mouseY));
ChartRenderingInfo info = this.chartPanel.getChartRenderingInfo();
rectangle2D = chartPanel.getScreenDataArea();
yValue = xyplot.getRangeAxis().java2DToValue(point2D.getY(), info.getPlotInfo().getDataArea(), RectangleEdge.RIGHT);
xValue = xyplot.getDomainAxis().java2DToValue(point2D.getX(), info.getPlotInfo().getDataArea(), RectangleEdge.BOTTOM);
refreshAxis(mouseY, mouseX);
}
public void refreshAxis(int mouseY, int mouseX) {
Graphics g = this.getGraphics();
update(g);
int recW = (int) (rectangle2D.getX() + rectangle2D.getWidth());
int recX = (int) rectangle2D.getX();
int recY = (int) rectangle2D.getY();
int recH = (int) (rectangle2D.getY() + rectangle2D.getHeight());
if (mouseX < recW && mouseX > recX && mouseY < recH && mouseY > recY) {
g.drawLine(recX, mouseY, recW, mouseY);
g.drawLine(mouseX, recY, mouseX, recH);
}
}

@Override
public void update(Graphics g) {
if (g.getClip() == null) {
paint(g);
int recX = (int) rectangle2D.getX();
int recY = (int) rectangle2D.getY();
int recH = (int) (rectangle2D.getY() + rectangle2D.getHeight());
int recW = (int) (rectangle2D.getX() + rectangle2D.getWidth());
if (mouseX < recW && mouseX > recX && mouseY < recH && mouseY > recY) {
g.drawString(String.valueOf((int)(yValue)), mouseX + 20, mouseY + 1);
g.drawString(dateFormat1.format(new Date((long) xValue)), mouseX + 20,mouseY + 12);
}
}
}
这个是鼠标监听的代码,JFreeChart显示的那部分因为有点大没有给出来,找个高手帮帮忙,解决了另外追加100分。。。。
展开
 我来答
twlokary
2012-01-13
知道答主
回答量:14
采纳率:0%
帮助的人:4.9万
展开全部
如果你经常上网,如果你现在还不用人体工程学鼠标,你会发现手一天天的酸痛,当你知道“鼠标手”是一种疾病的时候,你很有可能已经患上了这种顽疾,你可以在百度关注一下“ 人体工程学鼠标 ” ,“ 德国 minicute ” 相对比较好,就是开始用的时候你会不怎么习惯。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友845f74e61
2012-01-20 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1628万
展开全部
你想要做什么呢?

鼠标移动能够实时监听横纵坐标值

是鼠标的X和Y吗?如果是这样。
Point point = MouseInfo.getPointerInfo().getLocation();
point.x point.y
就是实时的鼠标的坐标点。
追问
我不是要鼠标的坐标,我需要的JFreeChart 中鼠标移动,随着移动在鼠标旁边弄个矩形框能实时的更新横纵坐标的信息,现在是功能已经实现了,但是鼠标会一直paint() JFreeChart  出现整个屏幕闪烁,不paint ()的话就更新不了。。
追答
这是个问题,别人给我看过坦克大战的代码,也有这个问题,总是在闪。
有人提过,用图片的双缓冲来解决这个问题,我在网上试过给的例子,没发现能解决。
你可以再找一下。

这个我暂时也没有解决的办法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hong7204
2012-01-25 · TA获得超过9956个赞
知道大有可为答主
回答量:7787
采纳率:68%
帮助的人:3834万
展开全部
你的eclipse或者myeclipse里面没有设置显示行号么?
空引用,这是很常见的问题啊,遇到问题要学会自己先调查,确实解决不了,
再想其他办法,这样可以锻炼你自己的解决问题的能力。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cy3772
2012-01-13 · TA获得超过1678个赞
知道大有可为答主
回答量:2041
采纳率:50%
帮助的人:1261万
展开全部
虽然没帮到你,但也能学习学习
追问
等待高手帮忙解决,JFreeChart是静态图,弄出了横纵坐标,显示有点问题真头痛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-14
展开全部
你的问题我留下,等下回答你
追问
多谢,问题比较急,求指教
追答
我看了,你为什么不用jpanel 呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式