jfreechart 出错TrueTypeFont.class

llf1987 2009-08-17 08:20:57
package com.ff.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.awt.Font;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

import com.ff.order.*;
import com.ff.product.Product;
import com.ff.util.DBTool;

public class BarServlet extends HttpServlet {


public BarServlet() {
super();
}


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
CategoryDataset dataset = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D("产品", // 图标题
"产品", // 目录轴的显示标签
"数量", // 数值轴的显示标签
dataset, PlotOrientation.VERTICAL,// 图表方向:水平,垂直
true, // 是否显示图例
false, // 是否生成工具
false);// 是否生成URL链接

// 设置图标题的字体
Font font = new Font("黑体", Font.HANGING_BASELINE, 20);
TextTitle title = new TextTitle("产品图");

// BarRenderer3D render = new BarRenderer3D();
// render.setBaseItemLabelFont(new Font("黑体",Font.BOLD,12));//12号黑体加粗
// 设置图例中的字体
LegendTitle legend = chart.getLegend();
legend.setItemFont(new Font("宋体", Font.BOLD, 16));
// 横轴
CategoryPlot plot = (CategoryPlot) chart.getPlot();
// CategoryPlot plot = (CategoryPlot) chart.getCategoryPlot();

// plot.setRenderer(render);//使用我们设计的效果

CategoryAxis cateaxis = plot.getDomainAxis();
cateaxis.setLabelFont(new Font("粗体", Font.BOLD, 16));
// 设置横轴的标签
cateaxis.setTickLabelFont(new Font("粗体", Font.BOLD, 16));
// 纵轴
NumberAxis numaxis = (NumberAxis) plot.getRangeAxis();
numaxis.setLabelFont(new Font("宋体", Font.BOLD, 16));
chart.setTitle(title);

FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\product.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 500, 400, null);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doGet(request,response);

}


public CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();

Connection conn=DBTool.getConnection();
Statement st=DBTool.getStatment(conn);
String sql="select product.name, count(salesitem.pcount) " +
"from product join salesitem on (product.id=salesitem.productid)group by product.id";
System.out.print(sql);
ResultSet rs=DBTool.getRusultSet(st, sql);
try {
while(rs.next()){
dataset.addValue(rs.getInt(2), "", rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBTool.close(rs);
DBTool.close(st);
DBTool.close(conn);
}
return dataset;
}
}

数据库查询结果:
|neme |count(salesitem.pcount)|
|商品0| 3 |
|商品1| 2 |
|商品3| 1 |

在Tomcat6.0中老是出 TRuetypeFont的错误
在虚拟机上无错误
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
skay 2010-01-15
  • 打赏
  • 举报
回复

org.apache.catalina.startup.Bootstrap at localhost:3502
Thread [main] (Running)
Daemon Thread [MySQL Statement Cancellation Timer] (Running)
Daemon Thread [ContainerBackgroundProcessor[StandardEngine[Catalina]]] (Running)
Daemon Thread [http-8081-Acceptor-0] (Running)
Daemon Thread [http-8081-1] (Running)
Daemon Thread [TP-Processor1] (Running)
Daemon Thread [TP-Processor2] (Running)
Daemon Thread [TP-Processor3] (Running)
Daemon Thread [TP-Processor4] (Running)
Daemon Thread [TP-Monitor] (Running)
Daemon Thread [http-8081-2] (Suspended (exception NullPointerException))
TrueTypeFont.open() line: 246
TrueTypeFont.verify() line: 368
TrueTypeFont.<init>(String, Object, int, boolean) line: 153
FontManager$1.run() line: 205

写 验证码 出现的错误
内容概要:本报告基于寻汇与万事达卡在2026年联合发布的《超越自动化:定义智能体驱动的全球支付》白皮书,系统分析了AI智能体在B2B跨境支付领域的应用与发展。报告指出,传统跨境支付存在效率低、人工干预多、合规风险高等问题,当前正从数字化、数据化迈向“自主化”新阶段。AI智能体可在授权下自主完成支付、换汇、合规审核、对账等全流程操作,核心技术包括深度强化学习、自然语言处理和图神经网络,用于路径优化、合规解析与异常检测。报告揭示了决策可解释性不足、跨系统协同标准缺失、安全审计机制缺位三大研究空白,并探讨了法律责任归属、监管碎片化、数据主权与技术可靠性四大现实挑战。寻汇与万事达卡的合作构建了“智能体编排引擎”与全球合规决策网络,首次提出L0-L5的智能体自主化等级框架,推动行业标准化。预计2026至2027年将实现首批大规模商业部署,提升支付效率超30%。; 适合人群:金融科技研究人员、AI技术开发者、跨境支付行业从业者、企业财资管理人员及政策监管机构相关人员。; 使用场景及目标:①理解AI智能体在跨境支付中的技术架构与应用场景;②把握自主化支付的演进趋势与商业化前景;③为金融机构和技术公司布局AI驱动型支付系统提供战略参考;④助力监管机构制定适应智能体时代的合规框架。; 阅读建议:本报告兼具技术深度与产业视野,建议结合白皮书原文及相关技术文献对照研读,重点关注智能体决策逻辑、合规实现机制与跨系统集成方案,并关注后续试点项目的实际成效与监管反馈。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧