컴퓨터프로그래밍/JAVA

JAVA-도형그리기

zelkova 2016. 4. 26. 14:34

 <목차로 돌아가기>



  주요 메소드

그래픽 메소드는 주로 Draw와 Fill로 나뉘어 있습니다. 

Draw같은 경우는 선만 그리고

Fill은 선을 그린 후 그 안에 색을 채워넣습니다.



사각형 그리기


 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)



다각형 그리기


 drawPolygon(int[]x  point, int[] ypoint, int npoints)

 fillPolygon(int[]x  point, int[] ypoint, int npoints)



선 그리기


DrawLine(int x1, int  y1,int x2, int y2) 



문자쓰기


drawString(String str, int x, int y)



둥근 직사각형 그리기


drawRoundRect(int x, int y, int width, int height, int  arcwidth, int archeight)
 fillRoundRect(int x, int y, int width, int height, int  arcwidth, int archeight)



이미지 그리기

 drawImage(image img, int dx1, int dy1, int dx2, int dy2,int sx1,int sy1)



  실습해보기

도형을 그려보겠습니다. 

g.fillRect(80, 50, 20, 20); 

속성은 (x는 가로위치 , y는 세로위치, 사각형세로크기, 사각형가로크기) 입니다.


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

 import java.awt.*;

 import java.awt.event.*;


 class Exam extends Frame{

    public Exam()

    {

       this.setTitle("도형그리기");

    }

    public void paint(Graphics g)

    {

       g.drawString("Text~~~", 50, 10);

       g.setColor(Color.blue);

       g.fillRect(80, 50, 20, 20);

    }

    public static void main(String[] args) 

    { 

        Frame f = new Exam();

        f.setSize(300, 300);

        f.setVisible(true);

    } 

 }




1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

 import java.awt.*;

 import java.awt.event.*;


 class drawTest extends Canvas implements MouseMotionListener

 {

    public drawTest()

    {

          this.addMouseMotionListener(this);

    }

    public void mouseDragged(MouseEvent e)

    {

       Graphics g=this.getGraphics();

       g.setColor(new Color(255,100,100));

       g.fillRect(e.getX(),e.getY(),3,3);

       g.dispose(); //자원회수

    }

    public void mouseMoved(MouseEvent e){}

}


 public class Exam extends Frame

 { 

    public Exam()

    {

       this.setTitle("도형그리기");

       this.add("Center",new drawTest());       

    }

    public static void main(String[] args) 

    { 

        Frame f = new Exam();

        f.setSize(300, 300);

        f.setVisible(true);

    } 

 }





반응형