¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ  14Àå ±×·¡ÇÈ  14.3 GraphicsŬ·¡½º  

 

14.3 GraphicsŬ·¡½º

 

 GraphicsŬ·¡½º´Â ±×¸²¿¡ °ü·ÃµÈ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â µ¥ ²À ÇÊ¿äÇÑ Å¬·¡½ºÀÔ´Ï´Ù. ¿©·¯ °¡Áö µµÇüÀ» ±×¸± ¼ö ÀÖ´Â ¸Þ¼­µåµéÀÌ µé¾î ÀÖÁÒ. ÀÌ GraphicsŬ·¡½º´Â º¸Åë ´Ù¸¥ Ŭ·¡½ºÀÇ paint()¸Þ¼­µå ¾È¿¡¼­ °´Ã¼°¡ »ý¼ºµÇ°í, ±× °´Ã¼¸¦ ÀÌ¿ëÇÏ¿© GraphicsŬ·¡½ºÀÇ ¸â¹ö¸Þ¼­µå°¡ È£ÃâµÇ¾î »ç¿ëµË´Ï´Ù.

 

 ¿ì¸®°¡ ¸¹ÀÌ »ç¿ëÇÏ´Â µµÇüµéÀ» º¸¸é Rectangle(»ç°¢Çü), Oval(¿øÇü), Polygon(´Ù°¢Çü), Line(¼±)µéÀÌ ÀÖ°ÚÁÒ. ±×¸®°í ±Û¾¾ ±×¸®±â, ±¸¿ªº¹»çÇϱâ, ±¸¿ª»èÁ¦Çϱ⿡ ´ëÇØ¼­ ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¾Æ·¡ÀÇ ¿¹Á¦´Â GraphicsÀÇ ¿©·¯ ¸Þ¼­µåµéÀ» È£ÃâÇÏ¿© Canvas¿¡ µµÇüµéÀ» ±×¸° ÈÄ, Canvas¸¦ Frame¿¡ ºÎÂøÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ±×·³ ¿¹Á¦¸¦ Å×½ºÆ® ÇØº¸°Ú½À´Ï´Ù.

 

GraphicsTest.java (GraphicsŬ·¡½º¸¦ Å×½ºÆ® Çϱâ À§ÇÑ ¿¹Á¦)

import java.awt.*;

public class GraphicsTest extends Frame {

   public GraphicsTest() {

      add(new Canvas() {

         public void paint(Graphics g) {

            g.setColor(Color.red);

            g.draw3DRect(  0, 0, 46, 36, true);

            g.drawOval(50, 0, 46, 36);

            int x1[] = new int[] { 100, 300, 273 };

            int y1[] = new int[] {   0,   0,  36 };

            g.drawPolygon(x1, y1, x1.length);

            g.setColor(Color.blue);

            g.fill3DRect(  0, 40, 46, 36, true);

            g.fillOval(50, 40, 46, 36);

            int x2[] = new int[] { 100, 300, 273 };

            int y2[] = new int[] {  40,  40,  76 };

            g.fillPolygon(x2, y2, x2.length);

            g.drawLine(150, 40, 396, 76);

            g.setColor(Color.black);

            g.drawString("www.jabook.org", 10, 115);

            g.setColor(Color.cyan);

            g.drawRoundRect( 0, 120, 46, 36, 10, 10);

            g.fillRoundRect(50, 120, 46, 36, 10, 10);

            g.clearRect(30, 30, 250, 30);

         }

      });

   }

   public static void main(String args[]) {

      GraphicsTest f = new GraphicsTest();

      f.setTitle("Graphics");

      f.setSize(420, 200);

      f.setVisible(true);

   }

}

C:\JavaExample\14>javac GraphicsTest.java

C:\JavaExample\14>java GraphicsTest

 

 À§ÀÇ ¿¹Á¦´Â Canvas¿¡ GraphicsŬ·¡½ºÀÇ °´Ã¼¸¦ »ý¼ºÇÏ¿© GraphicsŬ·¡½ºÀÇ ¿©·¯ ¸â¹ö¸Þ¼­µåµéÀ» È£ÃâÇÏ¿© ¿©·¯ ¸ð¾çÀÇ µµÇüµéÀ» ±×·Áº» ¿¹Á¦ÀÔ´Ï´Ù.

 GraphicsŬ·¡½ºÀÇ °´Ã¼´Â CanvasÀÇ paint(Graphics g)¸Þ¼­µå°¡ »ý¼ºÇÏ¿´½À´Ï´Ù.

 

n        public void paint(Graphics g) { }

 

 »ý¼ºÇÑ °´Ã¼ g¸¦ ÀÌ¿ëÇÏ¿© g.setColor(Color c)¸Þ¼­µå¸¦ »ç¿ëÇØ »ý¼ºµÉ µµÇüÀÇ »ö±òÀ» ÁöÁ¤ÇÕ´Ï´Ù. ´Ù½Ã »öÀ» ÁöÁ¤ÇÒ ¶§±îÁö °°Àº »öÀÇ µµÇüÀ̳ª ±Û¾¾°¡ Ãâ·ÂµË´Ï´Ù.

 

n        g.setColor(Color.red);

 

 »ç°¢ÇüÀ» ±×¸®´Â ¸Þ¼­µå´Â g.draw3DRect(int x, int y, int width, int height, boolean raised)¿Í g.drawRect(int x, int y, int width, int height)°¡ ÀÖ½À´Ï´Ù. ¸ÕÀú ³ª¿Â ¸Þ¼­µå´Â »ç°¢ÇüÀ» 3D·Î ±×·ÁÁÖ°í, µÚ¿¡ ³ª¿Â ¸Þ¼­µå´Â »ç°¢ÇüÀ» 2D·Î ±×¸®Áö¿ä. ±×·³ ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö¿¡ ´ëÇÏ¿© ¼³¸í ÇϰڽÀ´Ï´Ù.

 

n        int x : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int y : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â yÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int width : »ç°¢ÇüÀÇ °¡·Î±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

n        int height : »ç°¢ÇüÀÇ ¼¼·Î±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

n        boolean raised : »ç°¢ÇüÀÌ ¿µ¿ª À§·Î ¿Ã¶ó¿À´ÂÁö ¿µ¿ª ¾Æ·¡·Î °¡¶ó¾É´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù. (draw3DRect()¸Þ¼­µå)

n        boolean raised : »ç°¢ÇüÀÌ ¿µ¿ª À§·Î ¿Ã¶ó¿À´ÂÁö ¾Æ´Ï¸é Ç¥¸éÀÌ ¿¡Äª(etching)µÇ´Â Áö¸¦ ³ªÅ¸³À´Ï´Ù. (fill3DRect()¸Þ¼­µå)

 

 g.fill3DRect(int x, int y, int width, int height, boolean raised)¿Í g.fillRect(int x, int y, int width, int height)¸Þ¼­µå ¶ÇÇÑ »ç°¢ÇüÀ» ±×¸®´Â ¸Þ¼­µåÀÔ´Ï´Ù. ´Ù¸¸ »ç°¢ÇüÀÇ ³»ºÎ¸¦ ²Ë ä¿ö Ãâ·ÂÇÕ´Ï´Ù.

 

n        g.draw3DRect(0, 0, 46, 36, true);

n        g.fill3DRect(0, 40, 46, 36, true);

n        g.drawRect(50, 160, 300, 100);

n        g.drawRoundRect(0, 120, 46, 36, 10, 10);

n        g.fillRoundRect(50, 120, 46, 36, 10, 10);

 

À§ÀÇ ±¸¹® Áß g.drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)¸Þ¼­µå´Â ¸ð¼­¸®¿Í ¸ð¼­¸®°¡ ¸¸³ª´Â °¢À» roundingó¸®ÇÏ´Â ¸Å°³º¯¼öÀÇ °ªÀ» ´õ ¿ä±¸ ÇÕ´Ï´Ù. RectangleÀ» ±×¸®´Â ¸Þ¼­µåµéÀÇ ¸Å°³º¯¼öµéÀº °ÅÀÇ ºñ½ÁÇÕ´Ï´Ù. ±×·¡¼­ ÇÑ ¹ø Àо°í API¸¦ ÂüÁ¶Çؼ­ »ç¿ëÇÏ¸é º°·Î ÁöÀåÀÌ ¾øÀ» µí½Í½À´Ï´Ù. º°·Î ¾î·Á¿ï °ÍÀÌ ¾øÁÒ.

 

¢Ñ RectangleÀ»

 ±×¸®´Â

     ¸Þ¼­µåµéÀÇ

   ¸Å°³º¯¼ö

int x : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â x ÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int y : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â y ÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int width : »ç°¢ÇüÀÇ °¡·Î ±æÀ̸¦ ³ªÅ¸³½´Ù.

int height : »ç°¢ÇüÀÇ ¼¼·Î ±æÀ̸¦ ³ªÅ¸³½´Ù.

boolean raised : »ç°¢ÇüÀÌ ¿µ¿ª À§·Î ¿Ã¶ó¿À´ÂÁö ¿µ¿ª ¾Æ·¡·Î °¡¶ó¾É´ÂÁö¸¦ ³ªÅ¸³½´Ù. (draw3DRect()¸Þ¼­µå)

boolean raised : »ç°¢ÇüÀÌ ¿µ¿ª À§·Î ¿Ã¶ó¿À´ÂÁö ¿µ¿ªÀ¸·Î ¿¡Äª(etching)µÇ´ÂÁö¸¦ ³ªÅ¸³½´Ù. (fill3DRect()¸Þ¼­µå)

int arcWidth : ³× ¸ð¼­¸®¿¡¼­ È£ÀÇ ¼öÆò Á÷°æÀ» ³ªÅ¸³½´Ù.

int arcHeight : ³× ¸ð¼­¸®¿¡¼­ È£ÀÇ ¼öÁ÷ Á÷°æÀ» ³ªÅ¸³½´Ù.

 

 ´ÙÀ½À¸·Î, ¿ø°ú Ÿ¿øÀ» ±×¸®´Â ¸Þ¼­µåµéÀ» º¸°Ú½À´Ï´Ù.

 

n        g.drawOval(50, 0, 46, 36);

n        g.fillOval(50, 40, 46, 36);

 

À§ÀÇ ±¸¹®¿¡¼­ À§ÀÇ ¸Þ¼­µå´Â ¼ÓÀÌ ºó ¿øÀÌ ±×·ÁÁö°í, ¾Æ·¡ÀÇ ¸Þ¼­µå´Â ¼ÓÀÌ Âù ¿øÀÌ ±×·ÁÁö°Ô µË´Ï´Ù. drawOval(int x, int y, int width, int height)¸Þ¼­µå¸¦ º¸¸é¼­ ¼³¸íµå¸®ÁÒ.

 

n        int x : ¿ø Áß½ÉÀÇ xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int y : ¿ø Áß½ÉÀÇ yÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int width : ¿øÀÇ °¡·Î±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

n        int height : ¿øÀÇ ¼¼·Î±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

 

width¿Í height°¡ °°°Ô µÇ¸é ¿øÀÌ µÇ°í, ´Ù¸£¸é Ÿ¿øÀÌ µË´Ï´Ù.

 

¢Ñ OvalÀ» ±×¸®´Â ¸Þ¼­µåµéÀÇ ¸Å°³º¯¼ö  

int x : ¿ø Áß½ÉÀÇ xÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int y : ¿ø Áß½ÉÀÇ yÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int width : ¿øÀÇ °¡·Î ±æÀ̸¦ ³ªÅ¸³½´Ù.

int height : ¿øÀÇ ¼¼·Î ±æÀ̸¦ ³ªÅ¸³½´Ù.

width¿Í height°¡ °°°Ô µÇ¸é ¿øÀÌ µÇ°í, ´Ù¸£¸é Ÿ¿øÀÌ µÈ´Ù.

 

 ´ÙÀ½Àº ´Ù°¢ÇüÀ» ±×¸®´Â ¸Þ¼­µå¸¦ º¸°Ú½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­´Â »ï°¢ÇüÀ» ±×·Áº¸¾Ò½À´Ï´Ù.

 

n        int x1[] = new int[] {100, 300, 273};

n        int y1[] = new int[] {0, 0, 36};

n        g.drawPolygon(x1, y1, x1.length);

 

n        int x2[] = new int[] {100, 300, 273};

n        int y2[] = new int[] {40, 40, 76};

n        g.drawPolygon(x2, y2, x2.length);

 

 À§ÀÇ ¸Þ¼­µå´Â ¼ÓÀÌ ºó »ï°¢ÇüÀÌ ±×·ÁÁö°í, ¾Æ·¡ÀÇ ¸Þ¼­µå´Â ¼ÓÀÌ Âù »ï°¢ÇüÀÌ ±×·ÁÁý´Ï´Ù. ¹è¿­¿¡ Á¡ÀÌ 3°³ ¹Û¿¡ ¾øÁÒ. ±×·¡¼­ »ï°¢ÇüÀÌ ±×·ÁÁý´Ï´Ù. drawPolyline(int[] xPoints, int[] yPoints, int nPoints)¸Þ¼­µå¸¦ º¸¸é¼­ ¼³¸íµå¸®°Ú½À´Ï´Ù.

 

n        int[] xPoints : xÀÇ ÁÂÇ¥°ªµéÀ» ¸ðÀº ¹è¿­

n        int[] yPoints : yÀÇ ÁÂÇ¥°ªµéÀ» ¸ðÀº ¹è¿­

n        int nPoints : Á¡ÀÇ °¹¼ö

 

ÀÌ ¸Þ¼­µå´Â ¸Å°³º¯¼ö·Î Æ÷ÇÔµÈ Á¡µéÀ» ¿¬°áÇÑ ´Ù°¢ÇüÀ» ±×¸®´Â °ÍÀÔ´Ï´Ù. ´Ù½Ã Çѹø ¸»¾¸ µå¸®Áö¸¸ Á¡ÀÌ 3°³¿©¼­ »ï°¢ÇüÀÌ ±×·ÁÁø °ÍÀÔ´Ï´Ù. ¿Ö »ï°¢Çü ±×¸®´Â ¸Þ¼­µå´Â ¾ø³Ä°í ºÒÆòÇϼŵµ ¼Ò¿ë¾ø½À´Ï´Ù. Sun»ç¿¡¼­ Áö¿øÀ» ¾È Çϴϱñ¿ä.

 

¢Ñ PolygonÀ» ±×¸®´Â ¸Þ¼­µåµéÀÇ ¸Å°³º¯¼ö

int[] xPoints : xÀÇ ÁÂÇ¥°ªµéÀ» ¸ðÀº ¹è¿­À» ³ªÅ¸³½´Ù

int[] yPoints : yÀÇ ÁÂÇ¥°ªµéÀ» ¸ðÀº ¹è¿­À» ³ªÅ¸³½´Ù

int nPoints : Á¡ÀÇ °³¼ö¸¦ ³ªÅ¸³½´Ù

 

 ±×¸®°í ¼±À» ±×¸®´Â ¸Þ¼­µå°¡ ÀÖ½À´Ï´Ù.

 

n        g.drawLine(150, 40, 396, 76);

 

ÀÌ ¸Þ¼­µåÀÇ ¿øÇüÀº drawLine(int x1, int y1, int x2, int y2)ÀÔ´Ï´Ù.

           

n        int x1 : ½ÃÀÛÁ¡ÀÇ xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int y1 : ½ÃÀÛÁ¡ÀÇ yÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int x2 : ³¡Á¡ÀÇ xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int y2 : ³¡Á¡ÀÇ xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

 

³× °³ÀÇ ÁÂÇ¥·Î¼­ »ý±ä µÎ Á¡À» ¿¬°áÇÏ¸é ¼±ÀÌ ±×·ÁÁöÁÒ.

 

¢Ñ LineÀ» ±×¸®´Â ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö

int x1 : ½ÃÀÛÁ¡ÀÇ xÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int y1 : ½ÃÀÛÁ¡ÀÇ yÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int x2 : ³¡Á¡ÀÇ  x ÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int y2 : ³¡Á¡ÀÇ  x ÁÂÇ¥¸¦ ³ªÅ¸³½´Ù

 

 ±×¸®°í ±Û¾¾¸¦ ±×¸± ¼ö ÀÖ½À´Ï´Ù.

 

n        g.drawString("www.jabook.org", 10, 115);

 

 ÀÌ ¸Þ¼­µå´Â ¡°www.jabook.org¡±¶ó´Â ±ÛÀ» Canvas¿¡ ±×·È½À´Ï´Ù. ¸Þ¼­µåÀÇ ¿øÇüÀº drawString(String str, int x, int y)ÀÔ´Ï´Ù.

 

n        String str : ±×·ÁÁú ±Û¾¾ÀÔ´Ï´Ù.

n        int x : ±Û¾¾°¡ ±×·ÁÁú xÁÂÇ¥ÀÇ À§Ä¡ÀÔ´Ï´Ù.

n        int y : ±Û¾¾°¡ ±×·ÁÁú yÁÂÇ¥ÀÇ À§Ä¡ÀÔ´Ï´Ù.

 

 ±Û¾¾¸¦ ±×¸°´Ù°í »ý°¢ÇÏ¸é ¿ì½º¿ïÁöµµ ¸ð¸£Áö¸¸ »ç½Ç ±×¸°´Ù´Â °³³äÀÌ ¸Â½À´Ï´Ù. ±×·¯³ª ±Û¾¾¸¦ ±×¸®µçÁö ¾²µçÁö Àß ³ª¿À±â¸¸ ÇÏ¸é µÇ´Â °ÅÁÒ.

 

¢Ñ StringÀ» ±×¸®´Â ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö?

String str : ±×·ÁÁú ±Û¾¾¸¦ ³ªÅ¸³½´Ù.

int x : ±Û¾¾°¡ ±×·ÁÁú xÁÂÇ¥ÀÇ À§Ä¡ÀÌ´Ù.

int y : ±Û¾¾°¡ ±×·ÁÁú yÁÂÇ¥ÀÇ À§Ä¡ÀÌ´Ù.

 

 ±¸¿ªÀ» Áö¿ì´Â ¸Þ¼­µåµµ ÀÖ½À´Ï´Ù. ¹Ù·Î clearRect(int x, int y, int width, int height)¸Þ¼­µåÀÔ´Ï´Ù.

 

n        int x : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int y : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â yÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int width : »ç°¢ÇüÀÇ °¡·Î ±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

n        int height : »ç°¢ÇüÀÇ ¼¼·Î ±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

 

¸¸µé¾îÁø »ç°¢Çü¸¸Å­ÀÇ ±¸¿ªÀ» »èÁ¦ÇÕ´Ï´Ù.

            

n        g.clearRect(80, 180, 250, 30);

 

 

¢Ñ clearRect() ¸Þ¼­µåÀÇ

  ¸Å°³º¯¼ö 

int x : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â xÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int y : »ç°¢ÇüÀÌ ½ÃÀÛÇÏ´Â yÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int width : »ç°¢ÇüÀÇ °¡·Î±æÀ̸¦ ³ªÅ¸³½´Ù.

int height : »ç°¢ÇüÀÇ ¼¼·Î±æÀ̸¦ ³ªÅ¸³½´Ù.

 

±¸¿ªÀ» º¹»çÇÏ´Â ¸Þ¼­µåµµ ÀÖ½À´Ï´Ù. ±×·±µ¥ ±× ±¸¿ªÀº ³×¸ð³­ ±¸¿ª¸¸ º¹»ç µË´Ï´Ù. ÇÑ ¹ø ¿¹Á¦¸¦ º¸°í³ª¼­ ¼³¸í µå¸®°Ú½À´Ï´Ù. º°·Î ¾î·ÆÁö´Â ¾Ê½À´Ï´Ù.

 

CopyAreaTest.java(copyArea()¸Þ¼­µå¸¦ Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦)

import java.awt.*;

public class CopyAreaTest extends Frame {

   public CopyAreaTest() {

       add(new Canvas() {

          public void paint(Graphics g) {

             g.setColor(Color.blue);

             g.drawString("www.jabook.org", 10, 15);

            g.copyArea( 0, 0, 100, 20, 100, 0);

          g.copyArea( 0, 0, 100, 20, 0, 30);

          g.copyArea( 0, 0, 100, 20, 100, 30);

          }

       });

   }

   public static void main(String args[]) {

       CopyAreaTest f = new CopyAreaTest();

       f.setTitle("CopyAreaTest");

       f.setSize(220, 80);

       f.setVisible(true);

   }

}

C:\JavaExample\14>javac CopyAreaTest.java

C:\JavaExample\14>java CopyAreaTest

 

À§ÀÇ ¿¹Á¦´Â ±Û¾¾¸¦ ±×¸° ´ÙÀ½, ÀÏÁ¤ ±¸¿ªÀ» º¹»ç ÇÑ ´ÙÀ½ ±× ±¸¿ªÀ» ´Ù¸¥ °÷¿¡ ºÙÀÌ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¡°www.jabook.org¡±¶ó´Â ±ÛÀ» (10,15) ÁöÁ¡¿¡ ±×¸° °ÍÀº ¾Æ½Ã°ÚÁÒ?

 

n        g.setColor(Color.blue);

n        g.drawString("www.jabook.org", 10, 15);

 

 ±ÛÀº ÆÄ¶õ»öÀ¸·Î ±×·È½À´Ï´Ù. ±×¸®°í ¹Ù·Î ´ÙÀ½¿¡ ±¸¿ªÀ» º¹»çÇÏ´Â ¸Þ¼­µåÀÎ copyArea()¸Þ¼­µå°¡ ³ª¿É´Ï´Ù.

 

           

n        g.copyArea( 0, 0, 100, 20, 100, 0);

n        g.copyArea( 0, 0, 100, 20, 0, 30);

n        g.copyArea( 0, 0, 100, 20, 100, 30);

 

 ÀÌÁ¦ ¸Å°³º¯¼ö¸¦ º¸¸é ¿¹»óÀÌ µÇÁö ¾Ê½À´Ï±î? ¾ÆÁ÷ ¾Æ´Ñ°¡¿ä? ¸Þ¼­µåÀÇ ¿øÇüÀ» º¸¸é¼­ ¼³¸í µå¸®°Ú½À´Ï´Ù. abstract void copyArea(int x, int y, int width, int height, int dx, int dy)¸Þ¼­µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ´Ù¸¥ ¸Þ¼­µå¿Í ´Þ¸® Ãß»ó¸Þ¼­µåÀ̹ǷΠ»ç¿ëÇÏ½Ç ¶§´Â »ó¼ÓÀ» ¹Þ¾Æ ¸öü¸¦ ±¸ÇöÇÏ¼Å¾ß ÇÕ´Ï´Ù.

 

n        int x : º¹»ç°¡ ½ÃÀ۵Ǵ xÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int y : º¹»ç°¡ ½ÃÀ۵Ǵ yÁÂÇ¥¸¦ ³ªÅ¸³À´Ï´Ù.

n        int width : ½ÃÀÛÁ¡ÀÇ À§Ä¡¿¡¼­ »ç°¢ÇüÀÇ °¡·Î ±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

n        int height : ½ÃÀÛÁ¡ÀÇ À§Ä¡¿¡¼­ »ç°¢ÇüÀÇ ¼¼·Î ±æÀ̸¦ ³ªÅ¸³À´Ï´Ù.

n        int dx : Çȼ¿À» º¹»çÇÒ ¼öÆò °Å¸®¸¦ ³ªÅ¸³À´Ï´Ù.

n        int dy : Çȼ¿À» º¹»çÇÒ ¼öÁ÷ °Å¸®¸¦ ³ªÅ¸³À´Ï´Ù.

 

 À§ÀÇ ¸Þ¼­µå´Â °á±¹ (0,0)ÀÇ Á¡ºÎÅÍ °¡·ÎÀÇ ±æÀÌ·Î 100, ¼¼·ÎÀÇ ±æÀÌ·Î 30¸¸Å­ÀÇ ±¸¿ªÀ» º¹»çÇÏ¿©, °¡·Î·Î 100 ¶³¾îÁø ÁöÁ¡ºÎÅÍ, ¼¼·Î´Â 0¸¸Å­ ¶³¾îÁø ÁöÁ¡À¸·Î À̵¿Çؼ­ ´Ù½Ã ±×¸®¶ó´Â ¶æÀÔ´Ï´Ù. ¾Æ·¡ÀÇ µÎ ±¸¹®µéÀº °¡·Î·Î 0, ¼¼·Î·Î 30 À̵¿Ç϶ó´Â ¶æ°ú °¡·Î·Î 100, ¼¼·Î·Î 30 À̵¿Ç϶ó´Â ¶æÀÔ´Ï´Ù. °¡·Î·Î dx¸¸Å­ ¶³¾îÁø °Å¸®¿¡ ¼¼·Î·Î dy¸¸Å­ ¶³¾îÁø °Å¸®¿¡ º¹»çÇÑ ±¸¿ªÀ» ±×¸®´Â °ÅÁÒ. dx, dy°¡ À½ÀÇ °ªÀ» °¡Áú °æ¿ì ¿ÞÂʰú, À§·Î ¿òÁ÷¿© ±×¸®¶ó´Â ¶æÀÔ´Ï´Ù.

 

¢Ñ copyArea() ¸Þ¼­µåÀÇ ¸Å°³º¯¼ö  

int x : º¹»ç°¡ ½ÃÀ۵Ǵ x ÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int y : º¹»ç°¡ ½ÃÀ۵Ǵ y ÁÂÇ¥¸¦ ³ªÅ¸³½´Ù.

int width : ½ÃÀÛÁ¡ÀÇ À§Ä¡¿¡¼­ »ç°¢ÇüÀÇ °¡·Î ±æÀ̸¦ ³ªÅ¸³½´Ù.

int height : ½ÃÀÛÁ¡ÀÇ À§Ä¡¿¡¼­ »ç°¢ÇüÀÇ ¼¼·Î ±æÀ̸¦ ³ªÅ¸³½´Ù.

int dx : Çȼ¿À» º¹»çÇÒ ¼öÆò °Å¸®¸¦ ³ªÅ¸³½´Ù.

int dy : Çȼ¿À» º¹»çÇÒ ¼öÁ÷ °Å¸®¸¦ ³ªÅ¸³½´Ù.

 

 

À§¿¡ ¼³¸íÇÑ ¸Þ¼­µåµéÀº ±×·¡ÇÈ¿¡¼­ ¸¹ÀÌ ¾²¿©Áö´Â ¸Þ¼­µåµéÀÔ´Ï´Ù. À̿ܿ¡ ÀÚ¹Ù¿¡¼­ ±×·¡ÇÈÀ» Áö¿øÇÏ´Â ¸Þ¼­µå´Â ¸¹ÀÌ ÀÖ½À´Ï´Ù. ¾Æ·¡¿¡ ÁÖ¿ä ¸â¹ö¸Þ¼­µå¿¡ ´ëÇÏ¿© ¼³¸íÇÏ¿´À¸´Ï ²À ÀÐ¾î º¸°í °¡¼Å¾ß ÇÕ´Ï´Ù.

 

GraphicsŬ·¡½º´Â ¿À·ÎÁö ±×¸²¸¸À» À§Çؼ­ Á¸ÀçÇϴ Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ Å¬·¡½º°¡ À־ »ç¿ëÀÚ°¡ ±×·¡ÇÈ ÀÛ¾÷À» ÆíÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¸Þ¼­µå°¡ ¸¹ÀÌ Á¸ÀçÇϴ Ŭ·¡½ºÀÔ´Ï´Ù. ´É·ÂÀÌ µÈ´Ù¸é, ÀüºÎ ¾Ï±â¸¦ ÇÏ´Â °Íµµ ÁÁ°Ú½À´Ï´Ù¸¸ API¸¦ º¸°í »ç¿ëÇÏ´Â µ¥ ÁöÀåÀÌ ¾øÀ» Á¤µµ¸¸ ÀÌÇØÇÏ°í ³Ñ¾î°¡¼Åµµ ¾Æ¹« ¹®Á¦´Â ¾ø½À´Ï´Ù.

 

Graphics ÁÖ¿ä ¸â¹ö¸Þ¼­µå

public abstract void clearRect(int x, int y, int width, int height) : ÁÖ¾îÁø »ç°¢ÇüÀ» ¹è°æ»öÀ¸·Î Áö¿ó´Ï´Ù.

public abstract void clipRect(int x, int y, int width, int height) : ÁÖ¾îÁø »ç°¢ÇüÀ» Àß¶ó¼­ ÇöÀç Ŭ¸³¿¡ ÀúÀåÇÕ´Ï´Ù.

public abstract void copyArea(int x, int y, int width, int height, int dx, int dy) : ÄÄÆ÷³ÍÆ®ÀÇ ÁÖ¾îÁø ¿µ¿ªÀ» dx¿Í dy °Å¸®¸¸Å­¿¡ º¹»çÇÕ´Ï´Ù.

public void draw3DRect(int x, int y, int width, int height, boolean raised) : ÁÖ¾îÁø Å©±â¿Í ¸ð¾ç(³ª¿À°Å³ª µé¾î°£ ¸ð¾ç)À» °®´Â 3D »ç°¢ÇüÀ» ±×¸³´Ï´Ù.

public abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) : ÁÖ¾îÁø Å©±âÀÇ »ç°¢Çü¿¡ ÇØ´çÇϴ ȣ¸¦ ±×¸®´Âµ¥, ½ÃÀÛ °¢ºÎÅÍ ÁÖ¾îÁø °¢¸¸Å­ÀÇ Å©±â¸¦ °®´Â È£¸¦ ±×¸³´Ï´Ù.

public void drawBytes(byte[] data, int offset, int length, int x, int y) : ÇöÀç ÆùÆ®¿Í Ä÷¯¸¦ ÀÌ¿ëÇÏ¿© ÁÖ¾îÁø ¹ÙÀÌÆ® ¹è¿­¿¡ ÀÖ´Â ¹®ÀÚ¿­À» ÇØ´ç À§Ä¡¿¡ ±×¸³´Ï´Ù.

public void drawChars(char[] data, int offset, int length, int x, int y) : ÇöÀç ÆùÆ®¿Í Ä÷¯¸¦ ÀÌ¿ëÇÏ¿© ÁÖ¾îÁø ¹®ÀÚ ¹è¿­¿¡ ÀÖ´Â ¹®ÀÚ¿­À» ÇØ´ç À§Ä¡¿¡ ±×¸³´Ï´Ù.

public abstract void drawLine(int x1, int y1, int x2, int y2) : (x1, y1)¿¡¼­ (x2, y2)±îÁöÀÇ ¶óÀÎÀ» ±×¸³´Ï´Ù.

public abstract void drawOval(int x, int y, int width, int height) : ÁÖ¾îÁø »ç°¢Çü¿¡ ¸Â´Â Ÿ¿øÀ» ±×¸³´Ï´Ù.

public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) : ÁÖ¾îÁø ÁÂÇ¥µéÀ» ²ÀÁöÁ¡À¸·Î ÇÏ´Â ´Ù°¢ÇüÀ» ±×¸³´Ï´Ù.

public void drawPolygon(Polygon p) : ÁÖ¾îÁø ÁÂÇ¥µéÀ» ²ÀÁöÁ¡À¸·Î ÇÏ´Â ´Ù°¢ÇüÀ» ±×¸³´Ï´Ù.

public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) : ÁÖ¾îÁø ÁÂÇ¥µéÀ» ¿¬°áÇÏ´Â ¶óÀÎÀ» ±×¸³´Ï´Ù.

public void drawRect(int x, int y, int width, int height) : ÁÖ¾îÁø »ç°¢ÇüÀ» ±×¸³´Ï´Ù.

public abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) : ÁÖ¾îÁø Á¶°Ç¿¡ ÇØ´çÇÏ´Â µÕ±Ù »ç°¢ÇüÀ» ±×¸®´Âµ¥, °¢ÀÇ ³Êºñ¿Í ³ôÀÌ¿¡ ¸Â°Ô µÕ±Û°Ô ó¸®ÇÕ´Ï´Ù.

public abstract void drawString(String str, int x, int y) : ÇöÀç ÆùÆ®¿Í Ä÷¯¸¦ »ç¿ëÇÏ¿© ÁÖ¾îÁø ¹®ÀÚ¿­À» ±×¸³´Ï´Ù.

public void fill3DRect(int x, int y, int width, int height, boolean raised) : 3D »ç°¢ÇüÀ» ±×·Á ÇöÀç Ä÷¯·Î ä¿ó´Ï´Ù.

public abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) : ºÎä²Ã È£¸¦ ±×·Á ä¿ó´Ï´Ù.

public abstract void fillOval(int x, int y, int width, int height) : ´Ù¿øÀ» ±×·Á ä¿ó´Ï´Ù.

public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) : ´Ù°¢ÇüÀ» ä¿ó´Ï´Ù.

public void fillPolygon(Polygon p) : ´Ù°¢ÇüÀ» ä¿ó´Ï´Ù.

public abstract void fillRect(int x, int y, int width, int height) : »ç°¢ÇüÀ» ä¿ó´Ï´Ù.

public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) : µÕ±Ù »ç°¢ÇüÀ» ä¿ó´Ï´Ù.

public abstract Shape getClip() : ÇöÀç Ŭ¸³ ¿µ¿ªÀ» ¾ò½À´Ï´Ù.

public abstract Rectangle getClipBounds() : ÇöÀç Ŭ¸³ ¿µ¿ªÀÇ »ç°¢Çü ¹Ù¿îµå¸¦ ¾ò½À´Ï´Ù.

public Rectangle getClipBounds(Rectangle r) : ÇöÀç Ŭ¸³ ¿µ¿ªÀÇ »ç°¢Çü ¹Ù¿îµå¸¦ ¾ò½À´Ï´Ù.

public Rectangle getClipRect() : getClipBounds() ¸Þ¼­µå·Î ¹Ù²î¾ú½À´Ï´Ù.

public abstract Color getColor() : ÇöÀç Ä÷¯¸¦ ¾ò½À´Ï´Ù.

public abstract Font getFont() : ÇöÀç ÆùÆ®¸¦ ¾ò½À´Ï´Ù.

public FontMetrics getFontMetrics() : ÇöÀç ÆùÆ®ÀÇ ÆùÆ® ¸ÅÆ®¸¯½º¸¦ ¾ò½À´Ï´Ù.

public abstract FontMetrics getFontMetrics(Font f) : ÁÖ¾îÁø ÆùÆ®¿¡ ´ëÇÑ ÆùÆ® ¸ÅÆ®¸¯½º¸¦ ¾ò½À´Ï´Ù.

public boolean hitClip(int x, int y, int width, int height) : ÁÖ¾îÁø »ç°¢ÇüÀÌ ÇöÀç Ŭ¸³ ¿µ¿ªÀÇ Å׵θ®¿Í °ãÄ¡´Â Áö¸¦ ¾ò½À´Ï´Ù.

public abstract void setClip(int x, int y, int width, int height) : ÁÖ¾îÁø »ç°¢ÇüÀ¸·Î ÇöÀç Ŭ¸³À» ¼³Á¤ÇÕ´Ï´Ù.

public abstract void setClip(Shape clip) : ÁÖ¾îÁø »ç°¢ÇüÀ¸·Î ÇöÀç Ŭ¸³À» ¼³Á¤ÇÕ´Ï´Ù.

public abstract void setColor(Color c) : ÁÖ¾îÁø Ä÷¯·Î ÇöÀç Ä÷¯¸¦ ¼³Á¤ÇÕ´Ï´Ù.

public abstract void setFont(Font font) : ÁÖ¾îÁø ÆùÆ®·Î ÇöÀç ÆùÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù.

public abstract void setPaintMode() : ÇöÀç Ä÷¯·Î ÆäÀÎÆ® ¸ðµå¸¦ ¼³Á¤ÇÕ´Ï´Ù.

public abstract void setXORMode(Color c1) : ÇöÀç Ä÷¯¿Í ÁÖ¾îÁø Ä÷¯¸¦ ÀÌ¿ëÇÏ¿© ÆäÀÎÆ® ¸ðµå¸¦ ¼³Á¤ÇÕ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ
ÀúÀÚ:ÃÖ¿µ°ü