图表不会显示我运行它?

时间:2013-10-16 11:07:18

标签: java swing jpanel jfreechart layout-manager

我正在尝试使用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();
}

我没有编译器错误,当它运行时窗口出现按钮,但是当我按下按钮时,我的饼图不会出现。有人知道我可能会失踪吗?

1 个答案:

答案 0 :(得分:1)

检查lowerMain_PNL的布局管理器。 Netbeans表单设计器默认使用GroupLayout,所以除非你改变它,否则就是你得到的。在运行时使用GroupLayout添加到容器是很棘手的,特别是如果组件包含多个子组件(并且需要将组件添加到布局,而不是使用通常的add()方法)。

将其更改为BorderLayout,因为您使用的是BorderLayout个约束。