본문 바로가기
Develop/Java

JAVA 그래픽 구조, 그래픽 메소드

by J0DEV 2021. 8. 9.
반응형

GraphicEx.zip
다운로드


paint(), update(), repaint()

1. AWT 그래픽 개요

paint(), update(), repaint() 메소드

  • paint()와 update(), repaint() 메소드는 Container 클래스의 메소드로서 그래픽을 처리하는 일을 담당한다.
  • 그리기 작업에 필요한 각종 도구를 모델링한 Graphics 객체를 필요로 한다.
  • Container 클래스를 상속받아 프로그램을 작성할 경우 paint() 메소드 또는 update()메소드를 오버랑딩하여 그래픽 처리를 한다.
  • update() : 화면을 지우는 역활
  • repaint() : update()메소드를 호출하기 위한 메소드로서 프로그램에서 호출이 가능
  • paint() : 프로그램이 실행될 때 최초 한 번 호출되며 그 이후는 repaint() 또는 update() 메소드를 통해 호출됨

주요 그리기 대상 객체

  • AWT 크래픽의 대상이 되는 객체는 AWT의 모든 컴포넌트이다.
  • 대부분 내부에 paint(), update() 메소드를 가지고 있어서 그리기 작업이 필요할 때면 내부에서 이 메소드들이 자동으로 호출된다.

 

2. Paint() 메소드

Paint() 메소드

  • 실제로 그리기 작업을 수행하는 메소드이다.
  • 기본적인 Paint()메소드의 동작은 아무것도 하지 않는다.
  • 프로그램에서 오버라이딩하여 적절한 그리기 작업을 수행한다.

 

3. Update() 메소드

Update() 메소드

  • paint() 메수드가 호출되기 직전에 호출된다.
  • 프로그램에서 repaint() 메소드를  호출하면 update() 메소드를 호출하게 되며 이어서 paint() 메소드가 호출된다.
  • 기본적인 update() 메소드의 내용은 해당 컴포넌트의 배경을 지우는 역활을 한다.

 

4. 예제

 


그래픽 컨텍스트

1. 그래픽 컨텍스트 개요

Graphic Context

  • 사전적 의미 : 컨텍스트란 전후관계, 문맥을 의미한다.
  • 자바에서의 의미 : 그래픽 처리를 위한 선, 면, 색상 등의 그리기 도구를 의미한다.
  • Graphics 클래스에 객체모델링되어있다.

Graphics 객체를 얻는 방법

  • 일반적으로 컴포넌트의 getGraphics() 메소드를 이용한다.
  • paint() 또는 update() 메소드의 인자로서 Graphics 객체를 사용할 수 있다.

 

2. 색상 클래스

색상 클래스의 기능과 생성식

  • 그래픽 컨텍스트에 색상을 지정하기 위해 Color 클래스를 사용한다.
  • Color 클래스 생성자 : Color(int r, int g, int b);
메소드  내용 
Color getColor()  현제 설정된 색상을 반환
Void setColor(Color c)  새로운 색상을 설정
Color getBackground()  컴포넌트의 배경색을 반환
Color getForeground()  컴포넌트의 전경색을 반환 
Void setBackground(Color c)  컴포넌트의 배경색을 설정 
Void setForeground(Color c)  컴포넌트의 전경색을 설정  

예제


그래픽 메소드

1. 그래픽 메소드 개요

그래픽 메소드 정의

  • 선, 사각형, 타원, 원 등을 그리는 메소드의 집합을 의미한다.
  • 이는 내부를 채우는 형태(fill)와 채우지 않는 형태(draw)로 구분된다.
  • 좌표 구조는 오른쪽 방향과 아래 방향으로 값이 증가하는 형태이다.

 

2. 주요 그래픽 메소드 종류

메소드 내용
drawLine(int x1, int y1, int x2, int y2) 선그리기
drawRect(int x, int y, int width, int height) 사각형 그리기
fillRect(int x, int y, int width, int height)
drawOval(int x, int y, int width, int height) 타원그리기
fillOval(int x, int y, int width, int height)
drawString(String str, int x, int y) 문자열 쓰기

 

3. 예제

 

 

반응형

'Develop > Java' 카테고리의 다른 글

JAVA 애플릿 구조 및 프로그래밍  (0) 2021.08.09
JAVA 멀티스레드 제어와 메소드  (0) 2021.08.09
JAVA 상위하위레벨 이벤트  (0) 2021.08.09
JAVA Event  (0) 2021.08.09
JAVA Container & Layout  (0) 2021.08.09