如何在JFrame中的JPanel中添加ChartPanel

时间:2013-11-30 07:53:14

标签: java swing jfreechart layout-manager

我一直在尝试这样做..

    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; 
    }
    }

0 个答案:

没有答案