개발 등/중급

Graphic을 처리하는 paint 메서드

darkhorizon 2008. 9. 3. 15:39
728x90
반응형

4.3 그래픽을 처리하는 자바 애플릿 (1) 

  • 4.3.1 그래픽 출력 이벤트

    그래픽 출력 이벤트 : 애플릿에 그림을 그리려 할 때 발생하는 이벤트

    이 그래픽 이벤트가 발생하였을 때 호출하는 메소드가 있는데 그것이 바로 paint()메소드

    이때 실제 그림을 그리는 것은 paint() 메소드의 매개변수를 통해 전달되는 Grphics 객체 

    그래픽 출력을 위한 메소드로 update()와 repaint()있다

    update() 메소드 : 이미지 출력 작업(화면)을 갱신하고 싶을 때 사용 (시스템에 의해 자동으로 호출되는 메소드이기 때문에 주로 화면의 깜빡거림을 막기 위해 사용)

    repaint() 메소드 : 강제로 paint() 메소드를 한 번 더 호출하고 싶을 때 사용 (방금 처리한 작업을 화면에 바로 보여주고 싶으면 repaint()메소드를 호출하여 paint()메소드를 호출) 

  • 4.3.2 자바 그래픽 메소드

    (1) 좌표계

          원점은 화면의 좌측 상단에 존재

          x좌표 값은 오른쪽으로 갈수록 증가

          y좌표 값은 아래로 갈수록 증가

          (좌표 값에 소수점은 없고 오직 양의 정수만 있다.)

    (2) 선

          Graphics 클래스에 정의 되어 있는 drawLine() 메소드를 이용하여 그림

          선의 시작하는 점의 좌표 (x1, y1) 끝나는 점의 좌표(x2, y2)가 매개변수로 들어감 

          void drawLine(int x1, int y1, int x2, int y2) 


 

4.3 그래픽을 처리하는 자바 애플릿 (2) 

(3) 사각형

    Graphics 클래스에 정의되어 있는 drawRect() 메소드를 이용

    (x, y)를 사각형의 좌측 상단으로 지정하고 너비가 width()이고 높이가 Height인 사각형을 그림 

    void drawRect(int x, int y, int width, int height) 

    public void paint(Graphics g) {

          // (0, 0)에서 너비가 50이고 높이가 50인 사각형 그리기

          g.drawRect(0, 0, 50, 50);

    } 

    drawRect() 메소드는 사각형의 테두리만 그리고 내부는 칠하지 않는다

    fillRect() 메소드 : 사각형의 내부를 칠하기

    clearRect() 메소드 : 지우기 

    void fillRect(int x, int y, int width, int height) 

    void clearRect(int x, int y, int width, int height) 


출처 :  http://database.hanbat.ac.kr/attach/JAVA/Chap4-2.ppt

 

 
4.3 그래픽을 처리하는 자바 애플릿 (3) 
  • drawRoundRect() 메소드, fillRoundRect() 메소드 : 모서리가 둥근 사각형을 그릴 수 있는 메소드 (매개변수를 통해 모퉁이의 수평 지름과 수직 지르을 지정)

    void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)

    void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) 

(4) 원호

    Graphics 클래스에 정의 되어 있는 drawArc() 메소드를 이용

    drawArc() 메소드 : (x, y)를 시작점으로 width와 height 높이의 사각형을 지정한 후 이 사각형에 둘러싸인 원호를 그리게 된다.(매개변수 startAngle로 지정되는 각도에서 시작하여 arcangle로 지정되는 각도까지 그려진다. (만약, 내부를 채워주고 싶다면 fillArc() 메소드를 사용) 

    void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) 

90도(-270도) 

0도(-360도) 

180도(-180도) 

270도(-90도) 

Ex) 

drawArc() 메소드로 원을 그리고 싶다면 startAngle을 0으로 지정하고,

arcAngle을 360으로 지정. 

Public void paint(Graphics g) { 

      g.drawArc(0, 0, 50, 50, 0, 360);

}


 
 
4.3 그래픽을 처리하는 자바 애플릿 (4) 

(5) 타원

    Graphics 클래스에 정의 되어 있는 drawOval() 메소드

    drawOval() 메소드 : (x, y)를 시작점으로 너비와 높이의 사각형을 지정한 후 이 사각형의 둘러싸인 타원을 그리게 된다. (만약 타원을 그린 후에 내부를 채워주고 싶으면 fillOval() 메소드를 사용)

    void drawOval(int x, int y, int width, int height)

    void fillOval(int x, int y, int width, int height) 

(6) 다각형

    Graphics 클래스에 정의 되어 있는 drawPolygon() 메소드 (fillPolygon()메소드를 이용하면 내부가 채워진 다각형을 그릴 수 있다.)

    drawPolygon() 메소드 : 매개변수에는 다각형의 꼭지점이 될 점들의 x좌표와 y좌표를 배열로 만들어 지정하면 된다. 

    void drawPolygon(int xPoints[], int yPoints{}, int nPoints)

    void fillPolygon(int xPoints[], int yPoints[], int nPoints) 

    다각형을 그릴때 Polygon클래스 객체를 이용하여 그릴 수도 있다. Polygon은 java.awt패키지에 정의되어 있는 클래스로 주로 (x, y)좌표 값 정보를 포함하는 데 사용 

    void drawPolygon(Polygon P) 
 
 


 
4.3 그래픽을 처리하는 자바 애플릿 (5) 
  • 4.3.3 자바 애플릿의 색과 폰트

    (1) 색

          setColor() 메소드 : 기존의 설정된 색을 바꾸어 그릴 수 있다.

          getColor() 메소드 : 현재 설정되어 있는 색을 알아 낼 수 있다.

          void setColor(Color c)

          Color getColor() 

          만약 Color 클래스에 상수로 정의되어 있지 않은 색을 RGB(Red Green Blue)값으로 지정하고 싶 다면 다음과 같은 Color 클래스 생성자를 이용 

          Color(int r, int g, int b)

    (2) 폰트

          setFont() 메소드 : 폰트지정

          getFont() 메소드 : 현재 설정된 폰트를 알아내기 

          void setFont(Font font)

          Font getFont() 

          Font (String name, int style, int size) 

    (3) 폰트 정보

          FontMetrics 클래스를 통해 알아낼 수 있다.


 
 

4.3 그래픽을 처리하는 자바 애플릿 (6) 

  • 4.3.4 자바 애플릿 그래픽 예제

    Dimension getSize() 

    Dimension 클래스는 java.awt 패키지에 정의 되어 있는 것으로 너비와 높이에 대한 정보가 포함되어 있다. 


728x90