애플릿을 사용한 차트생성관련 문의입니다.
시크포텐
안녕하세요.자바를 배운지 이제 갓 2달째되가는 초보자바사용자인데요.
궁금한게 있어서 질문올립니다.
먼저 소스를 보여드릴께요.
HTML
HEADTITLE월별 매출액 입니다./TITLE
HEAD
BODY
TABLE border=0 cellspacing=0 cellpadding=0
TR
TD align=center미니프로젝트 - 챠트 만들기/TD
/TR
TR
TD align=centerfont color=white2001년 월별 매출액 입니다./font/TD
/TR
TR
TD width=540 height=250
applet code=ChartCircle width=540 height=200
param name=rowName value=월별 매출액 변동 내역(단위:만원)
param name=colData value=80,40,85,60
/applet
/TD
/TR
TR
TD align=center2001년 분기별 매출액입니다./TD
/TR
/TABLE
/BODY
/HTML
ChartCircle.java
- 원 챠트 만들기
import java.applet.Applet;
import java.awt.*;
import java.util.*;
public class ChartCircle extends Applet{
Font dataFont;
String rowName;
String colData;
int[] colValue = new int[4];
int[] angle = new int[4];
int k=4; //데이터의 갯수
int total=0;
int arc=0;
public void init() {
dataFont = new java.awt.Font(Courier,Font.BOLD, 12);
rowName = getParameter(rowName);
colData = getParameter(colData);
StringTokenizer st = new StringTokenizer(colData,,);
for(int i=0; ik; i++){
colValue[i] = Integer.parseInt(st.nextToken());
total = total + colValue[i];
}
for(int i=0; ik; i++){
angle[i] = (int)(colValue[i]/(float)total * 360 +0.5);
}
}
public void start(){
setBackground(Color.white);
repaint();
}
public void paint(Graphics g){
g.setColor(Color.blue);
g.setFont(dataFont);
g.drawString(rowName, 35, 20);
g.setColor(new Color(167, 167, 167));
g.fillOval(200, 30, 152, 152);
for (int j=0; j4; j++ ){
if(j==0) g.setColor(Color.red); //1분기
if(j==1) g.setColor(Color.green);
if(j==2) g.setColor(Color.blue);
if(j==3) g.setColor(Color.orange);
g.drawString( + (j+1) + 분기 : + colValue[j], 40, (j*15)+50);
g.fillArc(200, 30, 150, 150, arc, angle[j]);
//x, y, 너비, 높이, 시작각도, 회전각도
arc=arc+angle[j];
}
}
}
HTML소스는 EDITPLUS에서 코딩했구 밑에 자바소스는 이클립스에서 코딩한다음에 HTML을 이클립스 소스가 저장된폴더로 같이 저장을 했습니다.그래서 실행을 하면...사진처럼 나오는데요..
제가 원하는건 두번째 그림처럼 차트에 선을그은후에 글을 적을수 있게 하는겁니다.
생각해보니 위치값을 지정해서 하면될거같기도 한데 초보라 머리에서 돌아가는데 손으로 돌아가지가 않네요..
조언을 좀 부탁드립니다...
수고하세요..