http://ltc603.iteye.com/blog/30207
http://langhua9527.iteye.com/blog/395244
http://chinaxxren.iteye.com/blog/701297
http://hoocy.iteye.com/blog/327066
http://www.iteye.com/wiki/topic/360994
public String getToolTipText(MouseEvent e) {
// TODO Auto-generated method stub
// return super.getToolTipText(e);
Point2D p = translateScreenToJava2D(e.getPoint());
ChartRenderingInfo info = getChartRenderingInfo();
Rectangle2D dataArea = info.getPlotInfo().getDataArea();
// check if the mouse is really in the data area
if (dataArea.contains(p) == false) {
return null;
}
XYPlot plot = (XYPlot) chart.getPlot();
ValueAxis domainAxis = plot.getDomainAxis();
RectangleEdge domainAxisEdge = plot.getDomainAxisEdge();
double chartX = domainAxis.java2DToValue(p.getX(), dataArea,
domainAxisEdge);
ValueAxis yAxis = plot.getRangeAxis();
RectangleEdge yAxisEdge = plot.getRangeAxisEdge();
double chartY = yAxis.java2DToValue(p.getY(), dataArea, yAxisEdge);
String value = String.format("x = %.1f, y= %.1f", chartX, chartY);
// return String.valueOf(chartX);
return value;
}
Rectangle2D dataArea = chartPanel.getChartRenderingInfo().getPlotInfo().getDataArea();
Point2D p = chartPanel.translateScreenToJava2D(pt);
double chartX = xyplot.getDomainAxis().java2DToValue(p.getX(), dataArea, xyplot.getDomainAxisEdge());
double chartY = xyplot.getRangeAxis().java2DToValue(p.getY(), dataArea, xyplot.getRangeAxisEdge());
chartPanel
.addChartMouseListener(new org.jfree.chart.ChartMouseListener() {
public void chartMouseClicked(ChartMouseEvent evt) {
try {
if (evt.getChart() != null
& evt.getEntity() != null) {
CategoryItemEntity cie = (CategoryItemEntity) evt
.getEntity();
if (cie.getCategory() == null)
return;
if (cie.getCategoryIndex() >= 0) {
cie = (CategoryItemEntity) evt.getEntity();
int i = cie.getCategoryIndex();
System.out.println("Your Selected Index > "
+ i);
}
} else
return;
} catch (Exception ce) {
System.out.println("Error" + ce);
}
}
public void chartMouseMoved(ChartMouseEvent event) {
int x = event.getTrigger().getX();
int y = event.getTrigger().getY();
ChartEntity entity = event.getEntity();
if (entity != null) {
System.out.println("Mouse moved: " + x + ", " + y
+ ": " + entity.toString());
} else {
System.out.println("Mouse moved: " + x + ", " + y
+ ": null entity.");
}
}
});
分享到:
相关推荐
JFreeChart 使用教程(中文) JFreeChart 是一个功能强大、灵活易用的 Java 绘图 API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在 Swing 和 Web 等中制作自定义的图表或报表...
JFreeChart使用详细教程
**JFreeChart 使用指南** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种图表,包括折线图、柱状图、饼图、散点图等,广泛应用于数据分析和报告中。这篇指南将深入探讨如何有效地使用...
**JFreeChart 使用详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种复杂的图表,如折线图、柱状图、饼图、散点图以及更专业的图表类型,如甘特图和雷达图。在Java应用中,如果你...
### JFreeChart 使用心得 #### 一、JFreeChart 的介绍与获取 JFreeChart 是一个功能强大的开源 Java 图表库,支持多种图表类型,包括但不限于条形图、饼图、雷达图、K线图等。它适用于客户端/服务器 (C/S)、浏览器...
**JFreeChart使用心得与实例解析** JFreeChart是一款强大的Java图表库,它允许开发者创建各种复杂的图表,如柱状图、饼图、线图、散点图等,广泛应用于数据分析、报告展示以及Web应用程序中。本文将分享JFreeChart...
### JFreeChart 使用教程知识点详解 #### 一、概述 JFreeChart是一款强大的Java图表库,可以用于绘制各种类型的图表,如柱状图、饼图、曲线图等,并且能够很好地集成到Swing和Web应用中。对于希望提高数据可视化...
### JFreeChart使用教程:从下载到环境配置及柱状图绘制详解 #### 一、JFreeChart简介及其优势 JFreeChart是一款功能强大的Java绘图API,它提供了丰富的图表类型,如柱状图、饼图、曲线图、甘特图等,适用于Swing...
**JFreeChart 使用详解** JFreeChart 是一个用于Java平台的开源图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图等,广泛应用于数据可视化和报告生成。在本篇文章中,我们将深入探讨如何使用...
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,...《JFreeChart使用教程 》将通过引领读者学习在JFreeChart中饼图、柱状图和曲线图的进阶应用,来达到熟练使用JFreeChart的目的。
这个压缩包"JFreeChart使用+手册+架包.zip"包含了JFreeChart的使用指南、相关文档以及可能的库文件,为开发者提供了全面的学习和参考资料。 1. **JFreeChart的基本使用**: JFreeChart库通过简单的API调用来创建和...
### JFreeChart使用总结 #### 一、JFreeChart简介 JFreeChart是一个强大的Java图表绘制库,由JFree组织开发并维护。该库提供了一系列丰富的API,支持开发者创建多种类型的图表,包括但不限于饼图、柱状图、线图、...
**JFreeChart 使用详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种复杂的图表,如折线图、柱状图、饼图、散点图、甘特图等。这个库广泛应用于数据分析、报告生成以及Java应用中...
### JFreeChart使用大全 #### JFreeChart简介 JFreeChart是开源软件社区SourceForge.net上的一款强大且灵活的Java图表库,专为Java开发者设计,用于生成多种类型的图表,如饼图、条形图(包括堆叠条形图)、线图、...
1. **设置JFreeChart使用的字体**:在生成图表时,可以通过自定义`Font`对象,并在`TextBlock`或`LegendItem`等元素中设置该字体,确保使用的是能正确显示中文的字体。例如,可以这样设置: ```java Font font = ...