0

JavaでJFreeChartを使ってチャートを作ろうとしています!

グラフで使用するデータはDBからのものです。

だから私は多くのタイプのパンのテーブルを持っていますそして私はそれぞれのパンの数を数え、JFreeChartのメソッドを使ってそれらをデータセットに追加します。

私の問題は、出力に何も得られなかったことです。

ここに少しのコードがあります!

for (int i =0 ; i<typesPannes.length ; i++)     
{
    ResultSet res = st.executeQuery(req+" and typeDerang = '"+typesPannes[i]+"'");  
    System.out.println(req+" and typeDerang = '"+typesPannes[i]+"'");
    int count=0; 
    while (res.next()) {    count++ ; }
    System.out.println(count) ;  
    dataset.setValue(count, " "  ,  typesPannes[i]); 
}       
    JFreeChart chart = ChartFactory.createBarChart ("BarChart using JFreeChart","row", "col", dataset, 
    PlotOrientation.VERTICAL, false,true, false);
    chart.setBackgroundPaint(Color.yellow);
    chart.getTitle().setPaint(Color.blue); 
    CategoryPlot p = chart.getCategoryPlot(); 
    p.setRangeGridlinePaint(Color.red); 
    ChartPanel ch1=new ChartPanel(chart);
    panel.add(ch1);

dataSetに問題がありますか....助けてください!

dataset.setValue(count、 ""、typesPannes [i]);

手伝ってくれてありがとう !!!

4

1 に答える 1

1
dataset.setValue(count, " "  ,  typesPannes[i]);

次のように置き換えてみてください:

dataset.setValue(count, typesPannes[i], "");

カテゴリは1つだけですが、シリーズは複数あるためです。

スクリーンショットを見た後で編集します。panel.add(ch1);を置き換えると、グラフが正常に表示されます。チャートを含む新しいJFrameを使用します。そのため、パネルがすでにメインフレームに追加されているかどうか、パネルが再描画されていないかどうかなどを確認する必要があります。メインフレームのサイズを変更してみてください。グラフを追加する前に、単純なJLabelを追加して、フレームに正しく表示されていることを確認することもできます。

于 2012-05-06T12:33:36.400 に答える