我一直在尝试这样做..
JFreeChart chart = createChart(createDataset());
jPanel1 = new ChartPanel(chart, false);
这个JPanel1在JFrame里面(它是一个Netbeans的JFrame形式,所以我有一些标签和textAreas)
jPanel1在Netbeans的设计者内部修复了......在做了其他数据工作之后的某个地方 现在我想在所有关于数据的文本下找到我的数据图表。
我尝试了其他解决方案,例如将JFreeChart强制转换为jPanel。 还
JFreeChart chart = createChart(createDataset());
JChartPanel P=new ChartPanel(chart,false);
jPanel1.add(P);
实际代码:
public class NucleotideComposition extends JFrame{
public NucleotideComposition(String filename) {
DNA dna=new DNA(filename);
int count
moleculeName.setText(dna.getSeq_name());
Length.setText(Integer.toString(count = dna.length()));
JFreeChart chart = createChart(createDataset(dna.countA(),dna.countT,dna.Countc,dna.countG));
jPanel1 = new ChartPanel(chart, false);
}
private static PieDataset createDataset(int A,int T,int C,int G) {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("A", A);
dataset.setValue("T", T);
dataset.setValue("G", C);
dataset.setValue("C", G);
return dataset;
}
private static JFreeChart createChart(PieDataset dataset) {
JFreeChart chart = ChartFactory.createPieChart3D(
"Nucleotide Composition", // chart title
dataset, // data
true, // include legend
true,
true
);
PiePlot3D pieplot3d = (PiePlot3D) chart.getPlot();
pieplot3d.setStartAngle(270D);
pieplot3d.setDirection(Rotation.ANTICLOCKWISE);
pieplot3d.setForegroundAlpha(0.6F);
Rotator rotator = new Rotator((PiePlot3D) chart.getPlot());
rotator.start();
return chart;
}
}