1. org.jfree.chart.JFreeChart
JFreeChart의 기본 클래스이다. 자바2D로 구현되어 있으며 현재 바 차트 , 라인 차트 , 파이 차트 , XY 플롯(시간에 따른 XY그래프)를 지원한다. JFreeChart클래스는 제목을 나타내는 AbstractTitle객체 , Legend객체 , Plot객체 그리고 DataSet객체로 이루어져 있다.
2. org.jfree.chart.AbstractTitle
차트의 제목을 나타낸다. 하위 클래스로 ImageTitle , LegendTitle , TextTitle로 구성되어 있다.
3. org.jfree.chart.Legend
차트에 포함된 시리즈(series)의 이름과 그 표현방식을 구성한다.
4. org.jfree.chart.plot.Plot
JFreeChart클래스는 축과 데이터를 그리는(draw) 작업을 Plot에게 위임하였다. 대표적인 하위 클래스로는
CategoryPlot , PiePlot , XYPlot등이 있다.
5. org.jfree.data.DataSet
차트의 데이터를 담당한다. 대표적인 구현 클래스로는 DefaultPieDataSet , TimeSeriesCollection등이 있다.
6. org.jfree.chart.ChartFactory
차트를 생성을 위한 메소드를 제공한다. 예를 들어 pie차트를 만들기 위해서는 creatPieChart() 메소드를 사용한다.
7. org.jfree.chart.ChartPanel
차트를 생성한 후 JFreeChart 클래스를 ChartPanel에 넣어 스윙 컴포넌트로 사용할 수 있다
#1 첫번째 방법~
- JFreeChart 의 Font를 가져와 변경하는 방법!!
차트 제목과 범례 : JFreeChart 로 부터
각 축 : JFreeChart 의 CategoryPlot 로 부터 받아온다.
x축 : getDomainAxis()
y축 : getRangeAxis() 각 축의 정보를 가지고 있다.
/* 한글 처리 문제 */
//차트 제목
labelFont = jfc.getTitle().getFont();
jfc.getTitle().setFont(new Font("굴림",labelFont.getStyle(),labelFont.getSize()));
//X축 제목
labelFont = cgp.getDomainAxis().getLabelFont();
cgp.getDomainAxis().setLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));
//X축 값에 대한 레이블
labelFont = cgp.getDomainAxis().getTickLabelFont();
cgp.getDomainAxis().setTickLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));
//Y축 제목
labelFont = cgp.getDomainAxis().getLabelFont();
cgp.getRangeAxis().setLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));
//Y축 값에 대한 레이블
labelFont = cgp.getRangeAxis().getTickLabelFont();
cgp.getRangeAxis().setTickLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));
//범례
//jfc.getLegend().setItemFont(new Font("돋움",Font.PLAIN,10));
# 2 두번째 방법~
JRE에 한글 font가 설치 되어있지 않아서 발생하는 문제
JAVA_HOME/jre/lib 폴더에 보면 fontconfig 파일들이 존재한다.
이중 fontconfig.RedHat.properties.src 파일을 fontconfig.properties파일로 복사
fontconfig.properties파일에 쓰기 권한을 주고 편집
#> cp fontconfig.RedHat.properties.src fontconfig.properties
#> chmod +w fontconfig.properties
#> vi fontconfig.properties
--------------- font.config.properties 내용 --------------------------
# 생략
.
.
.
# AWT X11 font paths
awtfontpath.chinese-tw-iso10646=/usr/share/fonts/zh_TW/TrueType
awtfontpath.chinese-cn-iso10646=/usr/share/fonts/zh_CN/TrueType
awtfontpath.japanese-iso10646=/usr/share/fonts/ja/TrueType
awtfontpath.korean-iso10646=/usr/share/fonts/ko/TrueType <---- 이부분을 폰트 파일의 위치로 수정
서버에서 /usr/local/java...(java폴더명은 서버마다 틀릴수 있다.)/jre/lib/ 폴더에 있는
fontconfig.RedHat.properties.src 열고 가장 밑에 부분에 있는 곳을 확인해본다.
........
# AWT X11 font paths
awtfontpath.chinese-tw-iso10646=/usr/share/fonts/zh_TW/TrueType
awtfontpath.chinese-cn-iso10646=/usr/share/fonts/zh_CN/TrueType
awtfontpath.japanese-iso10646=/usr/share/fonts/ja/TrueType
awtfontpath.korean-iso10646=/usr/share/fonts/ko/TrueType
/usr/share/fonts/ko/TrueType 디렉토리를 생성하고 그 디렉토리에
batang.ttc과 gulim.ttc파일을 복사해 넣는다.
tomcat을 재구동 시켜준다.
'Applet' 카테고리의 다른 글
Applet Chart 만들기 - 꺽은선 그래프 & 막대 그래프 및 Graphics 객체 (0) | 2010.01.14 |
---|---|
APPLET 이란??? (0) | 2009.12.29 |