将图表面板中的条形图添加到jpanel

时间:2016-03-28 05:47:54

标签: java jpanel bar-chart jfreechart chartpanel

我已经尝试过寻找答案但是它没有正常工作所以这就是我的问题。我创建了一个条形图,我想将它添加到java swing应用程序的jpanel中,这是我将代码添加到面板的代码,

void addpanel(JFreeChart chart) {

ChartPanel chartpanel = new ChartPanel(chart);
jPanel2.setLayout(new BorderLayout());
jPanel2.add(chartpanel, BorderLayout.CENTER);
chartpanel.setVisible(true);
this.add(jPanel2);
this.pack();
setContentPane(jPanel2);
jPanel2.setVisible(true);

}

但是当我运行此图表时,图表在jpanel2中不可见,并且不会出现任何错误。 如何更改此代码以使其正常工作?

1 个答案:

答案 0 :(得分:1)

我猜你的程序扩展了JPanelApplicationFrame

  • ChartPanel 一个jPanel2,因此您根本不需要JFrame

  • BorderLayout的默认布局为BorderLayout.CENTER,默认位置为pack()

  • 在中将内容添加到框架后调用setVisible()

  • 最后致电void addPanel(JFreeChart chart) { ChartPanel chartPanel = new ChartPanel(chart); this.add(chartPanel); //BorderLayout.CENTER this.pack(); this.setVisible(true); } ;你不应该把它叫做任何内部的东西。

    {{1}}