我用jfreechart生成了本地图片,怎么在页面上无法显示啊,本地已经生成,而且在页面上把路径显示出来没错,但他在页面上就一个红叉,不可以用.

解决方案 »

  1.   

    路径有相对和绝对的,所以建议你使用火狐的 FireBug 插件 查看下静态页面里的图片的路径是不是正确。
      

  2.   

    这要看你·是 用Servlet  还是  struts 咯不同的框架的配置都不大一样! 本地可以 IE上不一定行 因为相应的配置文件要配置 路径才行这类似的 网上很多! 只要针对你的框架去 搜索就能找到 例子了!
      

  3.   

    我是用的struts1.2框架,生成本地图片,不知道是我生成的文件有问题还是怎么会是,不是我生成的图片可以显示出来,而系统自带可以显示出来
      

  4.   

      不一定是路径的问题,我也遇到过这个问题,路径配置没问题,用jfreechart时,jfreechart图表已经生成,生成的图片在tomcat目录下是正常的,但是页面无法显示该图片。给DisplayChart传的filename参数必须准确。通过查看jfreechart源代码,发现必须给文件加个前缀"public-",这样生成的图片对所有客户端可见。这个问题也已经解决。 也就是 在    filename = ServletUtilities.saveChartAsPNG(chart, 600, 400, info, session); 加上ServletUtilities.setTempFilePrefix("public-jfreechart-");
      

  5.   


    FileOutputStream fos_jpg = null;
    try {
    fos_jpg = new FileOutputStream("D:\\fruit.jpg");
    ChartUtilities.writeChartAsJPEG(fos_jpg, 1.0f, chart, 400, 300,
    null);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    fos_jpg.close();
    } catch (Exception e) {
    }
    }
    以前这种写法不可以现在换这种方法可以了
    为什么
    categoryAxis.setLabelFont(new Font("宋体", Font.BOLD, 22));// 设置横轴显示标签的字体
    categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);// 分类标签以45度倾斜
    categoryAxis.setTickLabelFont(new Font("宋体", Font.BOLD, 20));// 分类标签字体
    File tempFile = new File(fileName);
    try {
    ChartUtilities.saveChartAsPNG(tempFile, chart, w, h, null);
    } catch (IOException e) {
    e.printStackTrace();
    }谢了,结贴
      

  6.   

    请问,有没有做过JFreeChart里面的甘特图,我的联系方式[email protected].