2016-03-28 59 views
0

我試過尋找答案來得到這個,但它沒有正常工作,所以這裏去我的問題。我創建了一個條形圖和我想要將它添加到Java Swing應用程序一個JPanel,這裏是我添加圖表面板代碼,將chartchart中的條形圖添加到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

也許這有助於http://stackoverflow.com/questions/12318488/adding-a-chartpanel-to-jpanel – RubioRic

回答

1

我猜你的程序擴展了JFrameApplicationFrame

  • 一個ChartPanel一個JPanel,所以你不需要jPanel2可言。

  • 默認佈局JFrameBorderLayout,默認位置是BorderLayout.CENTER

  • 撥打電話pack()您將內容添加到框架。

  • 致電setVisible()最後;你不應該在裏面調用它。

    void addPanel(JFreeChart chart) { 
        ChartPanel chartPanel = new ChartPanel(chart); 
        this.add(chartPanel); //BorderLayout.CENTER 
        this.pack(); 
        this.setVisible(true); 
    }