0

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

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

4

1 回答 1

1

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

将其更改为BorderLayout,因为您正在使用BorderLayout约束。

于 2013-10-16T14:16:55.800 回答