A classe a seguir é de um Grafico pizza que recebe 2 informações (Titulo e Valor)
[code]import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.PieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.util.Rotation;
public class PieChart3DDemo4 extends ApplicationFrame {
public PieChart3DDemo4(final String title) {
super(title);
final PieDataset dataset = createSampleDataset();
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
private PieDataset createSampleDataset() {
final DefaultPieDataset result = new DefaultPieDataset();
result.setValue("opção 1", new Double(43.2));
result.setValue("opção 2", new Double(10.0));
result.setValue("opção 3", new Double(17.5));
result.setValue("opção 4", new Double(32.5));
result.setValue("opção 5", new Double(1.0));
return result;
}
private JFreeChart createChart(final PieDataset dataset) {
final JFreeChart chart = ChartFactory.createPieChart3D(
"Pie Chart 3D Demo 4", // chart title
dataset, // data
true, // include legend
true,
false
);
final PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(290);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5f);
plot.setNoDataMessage("No data to display");
plot.setLabelGenerator(new CustomLabelGenerator());
return chart;
}
public static void main(final String[] args) {
final PieChart3DDemo4 demo = new PieChart3DDemo4("Pie Chart 3D Demo 4");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
static class CustomLabelGenerator implements PieSectionLabelGenerator {
public String generateSectionLabel(final PieDataset dataset, final Comparable key) {
String result = null;
if (dataset != null) {
if (!key.equals("PHP")) {
result = key.toString();
}
}
return result;
}
}
}[/code]
MInha duvida é como posso fazer que o metodo a seguir receba 2 valores passados de outra classe ? um list resolveria recebendo esses 2 valores, sendo uma string e um double ? :?:
[code] private PieDataset createSampleDataset() {
final DefaultPieDataset result = new DefaultPieDataset();
result.setValue("opção 1", new Double(43.2));
result.setValue("opção 2", new Double(10.0));
result.setValue("opção 3", new Double(17.5));
result.setValue("opção 4", new Double(32.5));
result.setValue("opção 5", new Double(1.0));
return result;
}[/code]
Grato desde já ;D