개발 공부/자바(Java)

[자바] JFreeChart 로 간트 차트(Gantt Chart)를 사용해보자!

가이윤 2021. 2. 25. 22:26

 

이클립스에서 JFreeChart 라이브러리를 이용해서 여러 가지 차트를 사용할 수 있습니다.

저는 학교에서 CPU 스케줄링 과제 때문에 사용해본 적이 있는데요.

JFreeChart는 외부 라이브러리이기 때문에 다운로드를 하여줘야 합니다.

 

 

1. JFreeChart 라이브러리 설치

다음 사이트에 들어갑니다.

http://www.jfree.org/jfreechart/

 

JFreeChart

JFreeChart is a free 100% Java chart library that makes it easy for developers to display professional quality charts in their applications. JFreeChart's extensive feature set includes: For a closer look at JFreeChart, please browse the Samples and refer t

www.jfree.org

 

JFreeChart를 클릭합니다.

 

 

가장 최신 버전을 클릭합니다.

 

 

압축 파일을 클릭해서 다운로드를 받습니다.

다운로드를 한 후에 압축은 아무 곳에 풀어줍니다.

 

 

압축을 푼 폴더를 열어서 lib 폴더에서 표시된 두 개의 Jar 파일이 필요합니다.

 

 

2. 이클립스에서 프로젝트에 추가하기

 

우선 프로젝트를 생성하고 클래스를 생성합니다.

 

자바 스윙을 사용할 거고, GUI를 쉽게 만들기 위해 WindowBuilder를 사용하겠습니다.

WindowBuilder 설치와 사용법을 알고 싶으시면 아래 게시글을 먼저 참고해주세요.

 

[자바] 이클립스(eclipse)에서 Window Builder(윈도우 빌더) 활용해서 GUI 만들기

 

[자바] 이클립스(eclipse)에서 Window Builder(윈도우 빌더) 활용해서 GUI 만들기

학교에서 자바(Java)로 프로그래밍 수업을 하면, GUI 관련 내용도 배우는 경우가 많습니다. 그리고 과제나 시험 프로젝트로 GUI를 활용해서 프로그램을 만들어 와야하는 경우가 있을겁니다. GUI를

hansol94.tistory.com

 

 

프로젝트에서 오른쪽 마우스를 클릭하고 Configure Build Path... 을 클릭합니다.

 

Java Build Path에서 Libraries 탭을 클릭하고 Classpath를 한 번 클릭한 후에 Add External JARs... 버튼을 눌러서 위에서 말한 Jar 파일 2개를 추가해줍니다. 

이클립스가 2020-12 버전이 아니라 이전 버전이면 아무것도 없을 수도 있는데, 그냥 추가하시면 됩니다.

 

 

사진처럼 추가가 된 것을 알 수 있습니다.

이제 JFreeChart를 사용할 수 있게 되었습니다!

 

먼저 frame에 Layouts에 있는 Absolute layout을 추가한 후에 패널도 추가해서 Absolute layout를 추가해서 자유롭게 배치할 수 있도록 만들어 줍니다.

그런 다음에 소스코드 부분으로 돌아와서

 

표시된 부분의 코드를 추가해줍니다.

 

 

ChartFactory.createGanttChart의 1~3번째 인자는 왼쪽부터 차트제목, x축 이름, y축 이름이고 4번째에는 차트 내용과 관련된 메소드가 들어갑니다.

우선은 null 값으로 지정했습니다.

 

 

실행하면 아무것도 없는 차트 형태의 결과가 나옵니다.

차트의 결과값을 표시하기 위해서는 null 값 위치에 IntervalCategoryDataset 값을 반환하는 메소드가 필요합니다.

 

 

표시된 부분을 추가해주고 실행해봅니다.

 

 

이렇게 간트 차트가 잘 나오는 것을 알 수 있습니다.

표시된 부분을 차트의 값에 맞게 표시하고 싶으면

 

 

표시된 부분의 코드를 추가하면 됩니다.

y축 최댓값은 new Date()의 인자 값을 변경하면 됩니다.

y축 숫자 형식은 메소드 인자로 꼭 문자 S를 인자로 넣고, 표시하고 싶은 자리 개수만큼 S를 추가하시면 됩니다.

 

 

이런 식으로 결과가 나오는 것을 알 수 있습니다.

 

자바 GUI로 간트 차트 표시하는 것과 관련된 내용은 한글로 된 자세한 설명이 검색해도 나오지 않아서 내가 게시글을 작성하면서 정리해보았다.

처음에 차트 표시하려고 할 때, 많이 삽질했던 기억이 나네요 ㅋㅋ..

 

저의 이클립스 테마가 궁금하신분들은 이 게시글을 참고해주세요.

[자바] 이클립스(eclipse)에서 글자색, 테마(배경화면) 어둡게(dark) 바꾸기

 

[자바] 이클립스(eclipse)에서 글자색, 테마(배경화면) 어둡게(dark) 바꾸기

자바로 개발을 시작하면 이클립스를 사용하는 경우가 많습니다. 처음 이클립스를 설치하면 테마(배경화면)은 아래의 사진처럼 밝은(light) 톤으로 되어있을 겁니다. 그런데 이렇게 밝은 톤으로

hansol94.tistory.com