본문 바로가기
자바

판넬에서 Graphics 클래스 사용

by 복제비 2022. 5. 11.

판넬에서 Graphics 클래스  사용

 

판넬에 그래픽을 표현하기 위한 프로그램 작성순서

클래스는 JPanel 클래스로부터 상속받도록 작성합니다.

 

상위 클래스인 JComponent 클래스에서 선언된 paintComponent(Graphics  g) 메서드를 반드시 오버라이딩하여 작성해야 합니다. 

 

 paintComponent(Graphics  g) 메서드 내에 그래픽 기능 기술하여 줍니다.

(매개 변수로 받은 Graphics 객체의 메서드를 이용하여 기술합니다)

 

paintComponent( ) 메서드

 

상위 클래스인 JComponent 클래스 선언되어 있는 메서드입니다.

protected void paintComponent(Graphics  g)

이 메서드는 JVM에 의해 자동으로 실행되는 메서드입니다.

즉 판넬 객체가 나타날 때 마다 JVM은 이 메서드를 자동으로 호출합니다.

JVM은 이 메서드를 호출할 때, 해당 판넬에 그래픽을 나타낼 수 있는 Graphics 객체매개변수로하여 호출합니다.

 

판넬 클래스를 이용하여 그래픽을 표현하는 예제

 

class DrawTest extends JPanel {  // JPanel 클래스로부터 상속받음

  protected void paintComponent(Graphics g) {  // 메서드를 오버라이딩하여 작성함

    super.paintComponent(g);    // 상위클래스의 paintComponent( ) 메서드를 호출함  
    g.drawString(.........);             // 다양한 그래픽 기능을 사용함
    g.drawLine(..........); 
    g.drawRect(...........); 
  } 
}

 

Graphics 클래스의 주요 메서드

 

void drawArc(int x, int y, int w, int h, int startAngle, int endAngle)

startAngle 과 endAngle 로 지정된 각도를 가지는 원호를 그려주는 메서드입니다.

 

void drawImage(Image img, int x, int y, imageObserver io)

img로 지정된 이미지를 애플릿의 x, y좌표에 그려주는 메서드입니다.

 

viod drawLine(int x0, int y0, int x1, int  y1)

x0, y0부터 x1, y1까지 라인을 그려주는 메서드입니다.

 

void drawOval(int x, int y, int w, int h)

x, y좌표에 w, h의 폭과 높이를 가진 타원을 그려주는 메서드입니다.

 

void drawPolygon(int x[ ], int y[ ], int n)

x[ ]와 y[ ] 배열의 각 점을 좌표로 하여 n개의 코너점을 가진 다각형을 그려주는 메서드입니다.

 

void drawRect(int x, int y, int w, int h)

x, y 좌표에 w, h의 폭과 높이를 가진 사각형을 그려주는 메서드입니다.

 

void drawString(String str, int x, int y)

문자열을 x, y 좌표에 그려주는 메서드입니다.

 

void fillArc(int x, int y, int w, int h, int startAngle, int endAngle)

속이 찬 원호를 그려주는 메서드입니다.

 

void fillOval(int x[ ], int y[ ], int n)

속이 찬 타원을 그려주는 메서드입니다.

 

void fillPolygon(int x[ ], int y[ ], int n)

속이 찬 다각형을 그려주는 메서드입니다.

 

void fillRect(int x, int y, int w, int h)

속이 찬 사각형을 그려주는 메서드입니다.

 

Color getColor( )

현재 객체의 색을 Color 객체로 반환하는 메서드입니다.

 

Font getFont( )

현재 객체의 폰트를 Font 객체로 반환하는 메서드입니다.

 

FontMetrics getFontMetrics( )

현재 객체의 폰트 정보를 FontMetrics 객체로 반환하는 메서드입니다.

 

void setColor(Color color)

현재 객체의 색을 color로 설정하는 메서드입니다.

 

Graphics 클래스의 실습 프로그램

6개의 라인을 그려주는 실습프로그램 예제는 다음과 같습니다.

다양한 형태 사각형 그려주는 실습프로그램 예제입니다.

다양한 형태의 원호를 그려주는 실습프로그램 예제입니다.

 

'자바' 카테고리의 다른 글

JPanel 클래스  (0) 2022.05.10
GridLayout 배치 관리자  (0) 2022.05.04
BorderLayout 배치 관리자  (0) 2022.05.03
자바 배치 관리자(Layout Manager)  (0) 2022.05.02
Frame 클래스와 JFrame 클래스  (0) 2022.04.25

댓글