
jfreechart 로 작성한 그래프인데요
한글 부분이 깨져서 나옵니다.
인터넷 뒤져서 수정하고 있지만 정확한 답이 안나오네요
너무너무 답답해서 올려봅니다.
/////////////////////////////////////////////////////////////////////////////////
package chart;
//import java.awt.Font;
import java.awt.Font;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.data.jdbc.JDBCCategoryDataset;
import oracle.jdbc.pool.OracleDataSource;
import de.laures.cewolf.ChartPostProcessor;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.DatasetProducer;
import org.jfree.data.general.*;
public class Sort<StandardLegend> implements DatasetProducer, Serializable {
private static final Log log = LogFactory.getLog(Category.class);
public Connection dbConnection() throws SQLException {
String url = "jdbc:oracle:thin:@localhost:1521:ora92";
String dbUser = "scott";
String dbPWD = "tiger";
OracleDataSource ods = new OracleDataSource();
ods.setUser(dbUser);
ods.setPassword(dbPWD);
ods.setURL(url);
Connection conn = ods.getConnection();
return conn;
}
ChartPostProcessor dataColor = new ChartPostProcessor() {
public void processChart(Object chart, Map params) {
CategoryPlot plot = (CategoryPlot) ((JFreeChart) chart).getPlot();
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setUpperMargin(0.12);
rangeAxis.setLabelFont(new Font("gulim", Font.PLAIN, 10));
}
};
public String getProducerId() {
return "Sort Dataset Producer";
}
public boolean hasExpired(Map params, Date since) {
log.debug(getClass().getName() + "hasExpired()");
return (System.currentTimeMillis() - since.getTime()) > 5000;
}
public Object produceDataset(Map params) throws DatasetProduceException {
String sql = "select sagosort,count(sagoid)NEMAS from insert_acha where sagosort is not null group by sagosort order by sagosort";
try {
Connection conn = dbConnection();
JDBCCategoryDataset dataSet = new JDBCCategoryDataset(conn, sql);
conn.close();
return dataSet;
} catch (SQLException e) {
System.out.println("SQL Error");
}
return null;
}
}
//////////////////////////////////////////////////////////////////////////////////////////
jsp
//////////////////////////////////////////////////////////////////////////////////////////
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@page import="org.jfree.chart.JFreeChart"%>
<%@page import="org.jfree.chart.plot.CategoryPlot"%>
<%@page import="de.laures.cewolf.ChartPostProcessor"%>
<%@page import="org.jfree.data.general.*"%>
<%@page import="org.jfree.chart.plot.*"%>
<%@page import="org.jfree.chart.axis.*"%>
<%@page import="java.awt.Font"%>
<%
response.setContentType("text/html;charset=EUC-KR");
%>
<%@taglib uri='/WEB-INF/cewolf.tld' prefix='cewolf' %>
<jsp:useBean id="sort" class="chart.Sort"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>sort</title>
</head>
<body>
<cewolf:chart id="horizontalBarChart3D" title="NEMAS_sort" type="horizontalBar3D" xaxislabel="사고형태" yaxislabel="사고수">
<cewolf:data>
<cewolf:producer id="sort"/>
</cewolf:data>
</cewolf:chart>
<cewolf:img chartid="horizontalBarChart3D" renderer="/cewolf" width="500" height="261"/>
<table align="center">
<tr>
<td>사고</td>
</tr>
</table>
</body>
</html>
/////////////////////////////////////////////////////////////////////////////////////////////
jfreechart와 cewolf 이용해서 만들었구요 디비 연동시킨거구요
오라클 9i와 톰캣5.5 이클립스 이용해서 만들었습니다.
jdk1.6
view단은 생략했습니다.
이걸루 며칠을 날샘하는지 모르겠습니다.
고수님들 부탁드려요....
첫댓글 1주일 고생해서 5분만에 해결 되었습니다. jfreechart 버전에 문제가 있었습니다. 1.1.1 에서 1.0.9로 바꾸니 바로 해결 되었습니다. 윽 아까운 나의 시간.. 여기 오시는분은 1주일을 허비하지마세요~
고맙습니다! 댓글쓰려고 가입했어요.
제 일주일은 다른데 잘 쓸게요.
감사합니다 ^^
77...
연구개발 / 생산기술 / 품질관리 / 설치시공 각 분야별 기술지원, 프로젝트,
자재/장비를 직접 거래 할 수 있는 곳이더군요
기술경매 형태의 "테크노옥션" www.technoauction.co.kr 에서 엔지니어의 능력과 노하우를 직접
거래 하실수 있도록 지식거래의 장을 마련 되었네요.