【发布时间】:2014-07-15 17:06:26
【问题描述】:
我目前正在浏览此处的示例代码:http://www.java2s.com/Code/Java/Chart/JFreeChartStackedBarChartDemo1.htm
package org.jfree.chart.demo;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
/**
* A simple demonstration application showing how to create a stacked bar chart
* using data from a {@link CategoryDataset}.
*
*/
public class StackedBarChartDemo1 extends ApplicationFrame {
/**
* Creates a new demo.
*
* @param title the frame title.
*/
public StackedBarChartDemo1(final String title) {
super(title);
final CategoryDataset dataset = createDataset();
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset.
*
* @return a sample dataset.
*/
private CategoryDataset createDataset() {
return DemoDatasetFactory.createCategoryDataset();
}
/**
* Creates a sample chart.
*
* @param dataset the dataset for the chart.
*
* @return a sample chart.
*/
private JFreeChart createChart(final CategoryDataset dataset) {
final JFreeChart chart = ChartFactory.createStackedBarChart(
"Stacked Bar Chart Demo 1", // chart title
"Category", // domain axis label
"Value", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // the plot orientation
true, // legend
true, // tooltips
false // urls
);
return chart;
}
public static void main(final String[] args) {
final StackedBarChartDemo1 demo = new StackedBarChartDemo1("Stacked Bar Chart Demo 1");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
对于这部分
public StackedBarChartDemo1(final String title) {
super(title);
final CategoryDataset dataset = createDataset();
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
我对什么 super(title); 有点困惑。做。我知道它使用字符串参数“tittle”调用父构造函数,但我希望有人能解释它对参数的作用。我查看了许多教程,他们有所帮助,但他们对我的问题的回答对我来说有点高级。我了解从父类调用方法时如何使用 super() ,但我不明白为什么在此代码中需要它。我的猜测是它被传递给 ApplicationFrame 类以放入方法 setTitle() 但我不确定它是如何工作的。
【问题讨论】:
-
不要添加不必要的代码(例如:那些巨大的 cmets)。仅粘贴相关部分
标签: java parent children super