我正在尝试使用JFreeChart在netbeans中的jpanel上显示一个简单的饼图,并得到了这个:
public void createPieChart()
{
DefaultPieDataset myPie = new DefaultPieDataset();
myPie.setValue("Apples",new Integer(12));
myPie.setValue("Oranges",new Integer(23));
myPie.setValue("Mangos",new Integer(7));
myPie.setValue("Pears",new Integer(22));
JFreeChart myChart = ChartFactory.createPieChart3D("Damo's Fruit Sales", myPie,true,true,true);
PiePlot3D pie3D = (PiePlot3D)myChart.getPlot();
ChartPanel myPanel = new ChartPanel(myChart);
lowerMain_PNL.removeAll();
lowerMain_PNL.add(myPanel,BorderLayout.CENTER);
lowerMain_PNL.revalidate();
}
我没有编译器错误,当它运行时窗口出现按钮,但是当我按下按钮时,我的饼图不会出现。有人知道我可能会失踪吗?
答案 0 :(得分:1)
检查lowerMain_PNL
的布局管理器。 Netbeans表单设计器默认使用GroupLayout
,所以除非你改变它,否则就是你得到的。在运行时使用GroupLayout
添加到容器是很棘手的,特别是如果组件包含多个子组件(并且需要将组件添加到布局,而不是使用通常的add()
方法)。
将其更改为BorderLayout
,因为您使用的是BorderLayout
个约束。