0

我试图寻找答案来得到这个,但它不能正常工作,所以这是我的问题。我创建了一个条形图,我想将其添加到 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 中不可见,并且它没有给出任何错误。如何更改此代码以使其正常工作?

4

1 回答 1

1

我猜你的程序扩展JFrameApplicationFrame.

  • Aa ,所以你根本不需要。ChartPanel JPaneljPanel2

  • 默认布局JFrameBorderLayout,默认位置是BorderLayout.CENTER

  • 将内容添加到框架pack() 调用。

  • setVisible() 最后打电话;你不应该为里面的任何东西调用它。

    void addPanel(JFreeChart chart) {
        ChartPanel chartPanel = new ChartPanel(chart);
        this.add(chartPanel); //BorderLayout.CENTER
        this.pack();
        this.setVisible(true);
    }
    
于 2016-03-28T09:54:06.737 回答