比如用 ChartFX 生成的png饼图,要求点击饼图不同区块的时候弹出不同的窗口或触发不同的事件。
Chart chart1 = new ChartServer(getServlet().getServletContext(), request, response);
...
chart1.getPoint(0,0).getLink().setUrl("popup.do?id=123");
chart1.getPoint(0,1).getLink().setUrl("popup.do?id=456");
chart1.getPoint(0,2).getLink().setUrl("popup.do?id=789");
...
String htmlImgTag = chart1.getHtmlTag("395","275");
将生成的htmlImgTag在jsp中打出来就可以了。一般内容类似下面
<IMG SRC=".....03332812B14.png" WIDTH="395" HEIGHT="275" usemap="#Chart1">
可以看到这里使用了 usemap="#Chart1" 这个map是在哪里输出的?
查看输出的html,确实有个 <map name="Chart1">
这个自动打印出来的map,可能是因为使用new ChartServer(servletContext, request, response);创建的Chart对象,由这个Chart对象自动输出到response里的。
http://softwarefx.com/SFXJavaProducts/CFXforJava/