我已经尝试过寻找答案但是它没有正常工作所以这就是我的问题。我创建了一个条形图,我想将它添加到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中不可见,并且不会出现任何错误。 如何更改此代码以使其正常工作?
答案 0 :(得分:1)
我猜你的程序扩展了JPanel
或ApplicationFrame
。
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}}