2 回答
TA贡献1951条经验 获得超3个赞
的方法getLegendItem(),看到这里,需要提供在任何渲染图例项目的所有信息,Container你自己选择。GridLayout(0, 2)会将它们分为两列,以任意数量的行。要取消显示现有图例,legend请false在调用图表工厂时将其设置为;该项目将仍然可用,如建议在这里。
附录:基于PieChartDemo1,此片段使用this的getLegendItems().iterator和的变体ColorIcon。
图例图像
public static JPanel createDemoPanel() {
JPanel panel = new JPanel();
JFreeChart chart = createChart(createDataset());
panel.add(new ChartPanel(chart));
panel.add(createLegendPanel((PiePlot) chart.getPlot()));
return panel;
}
private static JPanel createLegendPanel(PiePlot plot) {
JPanel panel = new JPanel(new GridLayout(0, 2, 5, 5));
Iterator iterator = plot.getLegendItems().iterator();
while (iterator.hasNext()) {
LegendItem item = (LegendItem) iterator.next();
JLabel label = new JLabel(item.getLabel());
label.setIcon(new ColorIcon(8, item.getFillPaint()));
panel.add(label);
}
return panel;
}
添加回答
举报