Java 如何将JFreeChart图表插入单独GUI上的面板?

Java 如何将JFreeChart图表插入单独GUI上的面板?,java,swing,jpanel,jfreechart,Java,Swing,Jpanel,Jfreechart,我需要使用JFreeChart将图表放入GUI类文件中的新面板中。我有3个Java文件:一个带有调用饼图生成器的按钮,一个用于创建饼图,另一个用于显示饼图。我有一个创建图形的按钮: PieChartGenerator tweetSource = new PieChartGenerator( "Comparison", "What device are people using to Tweet?"); tweetSource.pack(); tweetSource.setVisible(

我需要使用JFreeChart将图表放入GUI类文件中的新面板中。我有3个Java文件:一个带有调用饼图生成器的按钮,一个用于创建饼图,另一个用于显示饼图。我有一个创建图形的按钮:

PieChartGenerator tweetSource = new PieChartGenerator(
    "Comparison", "What device are people using to Tweet?");
tweetSource.pack();
tweetSource.setVisible(true);
特定的GUI类文件称为“Graphs”,面板称为“sourcePieChartPanel”。创建图表的代码如下所示:

public class PieChartGenerator extends JFrame {

public PieChartGenerator(String applicationTitle, String chartTitle) throws IOException {
    super(applicationTitle);

    PieDataset dataset = createDataset();
    JFreeChart chart = createChart(dataset, chartTitle);

    ChartPanel pieChartPanel = new ChartPanel(chart);
    pieChartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(pieChartPanel);
}

/**
 * Creates a sample dataset
 */
private PieDataset createDataset() throws IOException {
    DefaultPieDataset result = new DefaultPieDataset();
    File file = new File("C:\\Users\\markc\\OneDrive\\Documents\\NetBeansProjects\\TwitterProject\\src\\text\\pieChartSource.txt");
    Scanner s = new Scanner(file);
    int twitterWebClient = 0;
    int tweetDeck = 0;
    int android = 0;
    int iphone = 0;
    int hootsuite = 0;
    int other = 0;

    while (s.hasNext()) {
        String Scan = s.nextLine();
        if (Scan.contains("Twitter Web Client")) {
            twitterWebClient++;
        } else if (Scan.contains("TweetDeck")) {
            tweetDeck++;
        } else if (Scan.contains("Twitter for Android")) {
            android++;
        } else if (Scan.contains("Twitter for iPhone")) {
            iphone++;
        } else if (Scan.contains("Hootsuite")) {
            iphone++;
        } else {
            other++;
        }
    }
    s.close();

    result.setValue("Twitter Web Client " + twitterWebClient, twitterWebClient);
    result.setValue("TweetDeck " + tweetDeck, tweetDeck);
    result.setValue("Android " + android, android);
    result.setValue("IPhone " + iphone, iphone);
    result.setValue("Hootsuite " + hootsuite, hootsuite);
    result.setValue("Other " + other, other);
    return result;

}

/**
 * Creates a chart
 */
private JFreeChart createChart(PieDataset dataset, String title) {

    JFreeChart chart = ChartFactory.createPieChart3D(title, dataset, true, true, false);

    PiePlot3D plot = (PiePlot3D) chart.getPlot();
    plot.setStartAngle(290);
    plot.setDirection(Rotation.CLOCKWISE);
    plot.setForegroundAlpha(0.5f);
    return chart;

}

这将创建饼图并将其放入名为
pieChartPanel
的新内容面板中。我如何实现这一点,使新图表显示在名为
Graphs
的类文件中的面板中?

请编辑您的问题,以包括一个显示您描述的问题的;使用特殊数据使
createDataset()
自包含。是否能够将
getChart()
方法添加到
PieChartGenerator