改变jfree图表的背景颜色

时间:2014-08-24 07:10:51

标签: java swing jfreechart

我正在尝试更改jfreechart的背景颜色。它以灰色显示,我想要一个白色背景。我试过了  chart.setBackgroundPaint(Color.WHITE); 但它并没有向我展示白色背景。 我有以下代码显示情节

chart = ChartFactory.createXYLineChart("Line Chart","Year","Temperature", dataset);
ChartPanel chartPanel = new ChartPanel(chart, false);
graph1.setLayout(new BorderLayout());
graph1.add(chartPanel, BorderLayout.EAST);
graph1.add(chartPanel);
SwingUtilities.updateComponentTreeUI(this);
graph1.updateUI();
System.out.println("Database created successfully...");

我应该如何显示白色背景?

2 个答案:

答案 0 :(得分:13)

ChartPanel继承方法javax.swing.JComponent.setBackground(java.awt.Color)

chartPanel.[setBackground][2]( Color.RED );

或尝试:

chart.getPlot().setBackgroundPaint( Color.BLUE );

请参阅JFreeChart.getPlot()Plot.setBackgroundPaint()

的文档

请参阅SO上的this postthis one

答案 1 :(得分:1)

你必须像这样使用JFreeChart.getPlot().setBackgroundPaint(Color.WHITE);

public static void main(String[] args) {
    DefaultPieDataset pieDataset = new DefaultPieDataset(); 
    pieDataset.setValue("LoggedIn" +": "+ 5, 10);
    pieDataset.setValue("LoggedOut" +": "+ 8, 17);
    JFreeChart jfc = ChartFactory.createPieChart("title", pieDataset, false, false, false );
    jfc.getPlot().setBackgroundPaint(Color.WHITE);
    ChartPanel chart = new ChartPanel(jfc);
    JFrame frame = new JFrame();
    frame.add(chart);
    frame.pack();
    frame.setVisible(true);
}   

我希望它有所帮助!