PrimeFaces Piechart:工具提示未在本地环境中显示
我已重新创建primefaces showcase中显示的示例页面,网址为: 饼图成功显示,并且我能够调整饼图模型以获得可用的setter和getter,但是将鼠标悬停在饼图的一部分上根本不会显示任何工具提示 这不是浏览器问题,因为在同一浏览器中,工具提示显示在演示站点上 jqplot highlighter工具提示div显示在html源代码中,但悬停时不会更新。javascript控制台中没有显示任何错误 我正在使用5.2 maven Dependency,也尝试过4.0,但没有任何改变 如果您有任何想法,我将不胜感激 谢谢 托管bean的代码如下所示:PrimeFaces Piechart:工具提示未在本地环境中显示,primefaces,charts,tooltip,pie-chart,Primefaces,Charts,Tooltip,Pie Chart,我已重新创建primefaces showcase中显示的示例页面,网址为: 饼图成功显示,并且我能够调整饼图模型以获得可用的setter和getter,但是将鼠标悬停在饼图的一部分上根本不会显示任何工具提示 这不是浏览器问题,因为在同一浏览器中,工具提示显示在演示站点上 jqplot highlighter工具提示div显示在html源代码中,但悬停时不会更新。javascript控制台中没有显示任何错误 我正在使用5.2 maven Dependency,也尝试过4.0,但没有任何改变 如
package org.primefaces.examples;
import org.primefaces.model.chart.PieChartModel;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import java.io.Serializable;
@ManagedBean
public class ChartView implements Serializable {
private static final long serialVersionUID = 1075867144472594293L;
private PieChartModel pieModel1;
private PieChartModel pieModel2;
@PostConstruct
public void init() {
createPieModels();
}
public PieChartModel getPieModel1() {
return pieModel1;
}
public PieChartModel getPieModel2() {
return pieModel2;
}
private void createPieModels() {
createPieModel1();
createPieModel2();
}
private void createPieModel1() {
pieModel1 = new PieChartModel();
pieModel1.set("Brand 1", 540);
pieModel1.set("Brand 2", 325);
pieModel1.set("Brand 3", 702);
pieModel1.set("Brand 4", 421);
pieModel1.setTitle("Simple Pie");
pieModel1.setLegendPosition("w");
}
private void createPieModel2() {
pieModel2 = new PieChartModel();
pieModel2.set("Brand 1", 540);
pieModel2.set("Brand 2", 325);
pieModel2.set("Brand 3", 702);
pieModel2.set("Brand 4", 421);
pieModel2.setTitle("Custom Pie");
pieModel2.setLegendPosition("e");
pieModel2.setFill(false);
pieModel2.setShowDataLabels(true);
pieModel2.setDiameter(150);
}
}
查看页面的代码为:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head/>
<h:body>
<p:chart type="pie" model="#{chartView.pieModel1}" style="width:400px;height:300px" />
<p:chart type="pie" model="#{chartView.pieModel2}" style="width:400px;height:300px" />
</h:body>
</html>
我也面临同样的问题。使用扩展器修复了它:
- Facelet:
<script type="text/javascript"> function pieExtender() { this.cfg.highlighter = { show: true, tooltipLocation: 'n', useAxesFormatters: false, formatString: '%s = %d' }; } </script>
有关更多调整,请参见:我认为它在我的项目中不起作用,因为我使用的是Primefaces 4.0,但通过此解决方案,我获得了有用的工具提示。干得好,斯卡。
pieModel.setExtender("pieExtender");