0

パネルに表示されるチャートの画像ファイルを作成するコードを書いています。その目的のために、そのバッファリングされたイメージを作成し、ImageIO.write() を使用します。動作しますが、パネル (灰色のパネル) のみが表示されますが、そのパネルに存在するチャートは表示されません。この場合どうする??これが私のコードです

com.objectplanet.chart.NonFlickerPanel p = 
    new com.objectplanet.chart.NonFlickerPanel(new BorderLayout());
p.add("Center", chart); // this statements adds the chart in the center of the panel
ChartPanel.add("Center", p);
ChartPanel.setSize(500, 200);
ChartPanel.show();
 int w = ChartPanel.getWidth();
int h =  ChartPanel.getHeight();
  BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
  Graphics2D g = bi.createGraphics();
  ChartPanel.paint(g);
  ChartPanel.printAll(g);
  File f = new File("D:\\image.png");
    try {
            // png is an image format (like gif or jpg)
            ImageIO.write(bi, "png", f);
    } catch (IOException ex) {
        ex.printStackTrace();
    }

さて、私は問題を解決しました。同じ問題に直面している人は誰でも、ここに解決策があります

ペイント関数だけでなく、ペイントオール関数を使用する

4

0 に答える 0