1996³â 3¿ù 19ÀÏ Ã¹ ÃâÆÇ, 1998³â 6¿ù 12ÀÏ ÃÖÁ¾ °»½Å


¾Õ ÆäÀÌÁö µÞ ÆäÀÌÁö »öÀÎ


Ãß»ó À©µµ¿ì ÅøŶ ÆÐÅ°Áö

ÀÚ¹Ù¿¡ À־ java.applet ÆÐÅ°Áö¿Í ¾Æ¿ï·¯ °¡Àå Áß¿äÇÑ ÆÐÅ°Áö ÁßÀÇ Çϳª´Â java.awt ÆÐÅ°ÁöÀÌ´Ù. ÀÚ¹ÙÀÇ À©µµ¿ì ½Ã½ºÅÛÀÎ Ãß»ó À©µµ¿ì ÅøŶ(Abstract Window Toolkit)¿¡ °ü·ÃµÈ Ŭ·¡½ºµé·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç java.applet.Applet Ŭ·¡½º°¡ java.awt.Panel¿¡¼­ ÆÄ»ýµÇ¾ú±â ¶§¹®¿¡ ¾ÖÇø´ÀÇ ÀÌÇظ¦ À§Çؼ­µµ ÀÚ¼¼È÷ ¾Ë¾ÆµÑ ÇÊ¿ä°¡ ÀÖ´Â ÆÐÅ°ÁöÀÌ´Ù. ÀÚ¹ÙÀÇ ±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º´Â ¸ðµÎ AWT ÆÐÅ°Áö¿¡ ±â¹ÝÀ» µÎ°í ÀÖ´Ù.
¸ÕÀú java.awt ÆÐÅ°ÁöÀÇ ÁÖ¿ä Ŭ·¡½º °èÃþ ±¸Á¶ºÎÅÍ ¾Ë¾Æ µÎÀÚ.(¾Æ·¡ Ç¥´Â JDK 1.1.x ¹öÀü¿¡ µû¸¥ °ÍÀÌ´Ù.)

 
  • class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    • class java.awt.Button
    • class java.awt.Canvas
    • class java.awt.Checkbox (implements java.awt.ItemSelectable)
    • class java.awt.Choice (implements java.awt.ItemSelectable)
    • class java.awt.Container
      • class java.awt.Panel
        • class java.applet.Applet
      • class java.awt.ScrollPane
      • class java.awt.Window
        • class java.awt.Dialog
          • class java.awt.FileDialog
        • class java.awt.Frame (implements java.awt.MenuContainer)
    • class java.awt.Label
    • class java.awt.List (implements java.awt.ItemSelectable)
    • class java.awt.Scrollbar (implements java.awt.Adjustable)
    • class java.awt.TextComponent
      • class java.awt.TextArea
      • class java.awt.TextField



±×¸²¿¡¼­ º¸´Â ¹Ù¿Í °°ÀÌ °¢ À©µµ¿ì ÄÄÆÛ³ÍÆ® Ŭ·¡½ºµéÀº ¸ðµÎ Component Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ°í ÀÖ´Ù.
Button, Canvas, Checkbox, Choice, Label, List, Scrollbar Ŭ·¡½ºµéÀº ¹Ù·Î Component Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ°í Window Ŭ·¡½º¿Í Panel Ŭ·¡½º°¡ Component Ŭ·¡½º¿¡¼­ ÆÄ»ýµÈ Container Ŭ·¡½º¿¡¼­ ÆÄ»ýµÈ´Ù. Panel Ŭ·¡½º´Â ¾Õ¿¡¼­ ¼³¸íÇÏ¿´µíÀÌ java.applet.Applet Ŭ·¡½º¸¦ ÀÚ½Ä Å¬·¡½º·Î µÎ°í ÀÖ°í Window Ŭ·¡½º´Â ±× ¾Æ·¡¿¡ Dialog¿Í Frame Ŭ·¡½º¸¦ ÆÄ»ýÇÑ´Ù.
TextArea¿Í TextField Ŭ·¡½º´Â TextComponent Ŭ·¡½º¸¦ °ÅÃÄ Component Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ¾ú´Ù.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ½Ã½ºÅÛÀ̳ª À¯´Ð½ºÀÇ X À©µµ¿ì ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö¿¡¼­¿Í À¯»çÇÏ°Ô ÀÌ Å¬·¡½ºµéÀº À©µµ¿ì ½Ã½ºÅÛÀÇ ÇÁ·Î±×·¡¹ÖÀº À̺¥Æ® ±¸µ¿(event-driven, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ½Ã½ºÅÛ¿¡¼­´Â ¸Þ½ÃÁö ±¸µ¿message-drivenÀ̶ó°íµµ ÇÑ´Ù.)À¸·Î µ¿ÀÛÇϹǷΠÀ̺¥Æ® ó¸® ¹æ½ÄÀÇ ÇÁ·Î±×·¡¹Ö¿¡ Àͼ÷ÇØ¾ß ÀÌÇØ°¡ ½¬¿ï °ÍÀÌ´Ù.
ÀÌ¿Ü¿¡µµ java.awt ÆÐÅ°Áö¿¡´Â ±×·¡ÇÈ, ÆùÆ®, Ä÷¯, ·¹À̾ƿô °ü·Ã Ŭ·¡½ºµéÀÌ Á¸ÀçÇÑ´Ù.
ÁÖ¿ä Ŭ·¡½º¸¦ »ìÆ캸ÀÚ.

AWT ÆÐÅ°ÁöÀÇ ÁÖ¿ä Ŭ·¡½ºµé

1) Component Ŭ·¡½º : Object Ŭ·¡½º¿¡¼­ Á÷Á¢ ÆÄ»ýµÇ´Â Ŭ·¡½º·Î ¸ðµç Ãß»ó À©µµ¿ì ÅøŶ(AWT) À©µµ¿ì ÄÄÆÛ³ÍÆ® Ŭ·¡½ºµéÀÇ Æ÷°ýÀûÀÎ ºÎ¸ð Ŭ·¡½ºÀÌ´Ù. ¸¶¿ì½º³ª Å° ÀÔ·Â µî À̺¥Æ®¿¡ ¹ÝÀÀÇÏ°í ÆùÆ®, ±×·¡ÇÈ µî¿¡ °ü·ÃµÈ µµ±¸ µî À©µµ¿ì¿¡ °ü·ÃµÈ ÀϹÝÀûÀÎ ¸Þ¼ÒµåµéÀ» °¡Áö°í ÀÖ´Ù.
2) Container Ŭ·¡½º : Component Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ´Â Ŭ·¡½º·Î ¿ª½Ã ÀϹÝÀûÀÎ À©µµ¿ì¸¦ Ç¥ÇöÇϴ Ŭ·¡½ºÀÌÁö¸¸ ³»ºÎ¿¡ ´Ù¸¥ AWT °´Ã¼µé(Áï ¹öÆ°, üũ¹Ú½º µîÀÇ °´Ã¼µé)À» µÑ ¼ö Àִ Ŭ·¡½ºÀÌ´Ù. ³»ºÎ¿¡ AWT °´Ã¼µéÀ» ¹èÄ¡ÇÏ´Â ¹æ½ÄÀ» ÁöÁ¤ÇÏ´Â ¸Þ¼Òµå µîÀÌ ÀÖ¾î Container ³»ºÎ¿¡ ¹èÄ¡µÇ´Â ¿©·¯ °¡Áö AWT °´Ã¼µéÀ» º¸´Ù ½±°Ô ¹èÄ¡ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
3) Window Ŭ·¡½º : Container Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ¸ç °æ°è¼±°ú ¸Þ´º¹Ù°¡ ¾ø´Â ÃÖ»óÀ§ À©µµ¿ìÀÌ´Ù. ¿©±â¿¡¼­ »óÀ§ÀÇ Àǹ̴ À©µµ¿ìµé °£ÀÇ °ü°è¸¦ ÀǹÌÇÑ´Ù. ¿¹¸¦ µé¾î OK ¹öÆ°ÀÌ Çϳª ÀÖ´Â ´ëÈ­»óÀÚ¸¦ »ý°¢Çغ¸¸é ´ëÈ­»óÀÚ À©µµ¿ì°¡ ¹öÆ°ÀÇ »óÀ§ À©µµ¿ìÀÌ´Ù. (±âº» ·¹À̾ƿô °ü¸®ÀÚ : BorderLayout, ·¹À̾ƿô °ü¸®ÀÚ¿¡ ´ëÇؼ­´Â µÚ¿¡¼­ ÀÚ¼¼È÷ ´Ù·é´Ù.)
4) Frame Ŭ·¡½º : Window Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ¸ç, °°Àº ÃÖ»óÀ§ À©µµ¿ìÀÌÁö¸¸ °æ°è¼±°ú ¸Þ´º¹Ù¸¦ °¡Áø´Ù. ¸Þ´º¹Ù°¡ °¡Áö´Â ÀüÇüÀûÀÎ À©µµ¿ì¸¦ ±¸¼ºÇÑ´Ù. (±âº» ·¹À̾ƿô °ü¸®ÀÚ : BorderLayout)
5) Panel Ŭ·¡½º : Container Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ¸ç ´Ù¸¥ ContainerÀÇ ³»ºÎ¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. Applet Ŭ·¡½ºÀÇ »óÀ§ Ŭ·¡½ºÀÌ´Ù. ÇÏÀ§ ÆгÎÀ» »ç¿ëÇÏ¿© º¹ÀâÇÑ ·¹À̾ƿôÀ» ¸¸µé°Å³ª »ç¿ëÀÚ Á¤ÀÇ Container¸¦ ¸¸µé ¼ö ÀÖ´Ù. (±âº» ·¹À̾ƿô °ü¸®ÀÚ : FlowLayout)
6) Dialog Ŭ·¡½º : ´ëÈ­»óÀÚ¸¦ ¸¸µå´Â ÃÖ»óÀ§ Ŭ·¡½ºÀÌ´Ù. (±âº» ·¹À̾ƿô °ü¸®ÀÚ : BorderLayout)
7) FileDialog Ŭ·¡½º : Dialog Ŭ·¡½ºÀÇ ÇÏÀ§ Ŭ·¡½º·Î ÆÄÀÏ ¼±Åà ´ëÈ­»óÀÚ¸¦ ¸¸µç´Ù.
8) Canvas Ŭ·¡½º : Ưº°ÇÑ ±â´ÉÀ» °¡Áø ÇÏÀ§ GUI ¼ººÐ Ŭ·¡½º·Î ¸¸µé ¼ö ÀÖµµ·Ï ÇÑ ´Ù¸ñÀû AWT ¿ä¼ÒÀÌ´Ù. À̸§ ±×´ë·Î ±×·¡ÇÈÀ» ¸¸µå´Â µ¥ »ç¿ëÇÒ ¼öµµ ÀÖ°í »ç¿ëÀÚ ÀÔ·ÂÀ» °¡·Îä¾î ´Ù¸¥ ±â´ÉÀ» Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù.
9) Button, Checkbox, Label, List, Scrollbar, TextArea, TextField Ŭ·¡½º : °¢°¢ ÇϳªÀÇ GUI ¿ä¼Ò¸¦ Ç¥ÇöÇÏ´Â À©µµ¿ì Ŭ·¡½ºµéÀÌ´Ù. ¾Æ·¡ ±×¸²À» Âü°íÇÏÀÚ.
[±×¸²] Button¿¡¼­ TextField±îÁöÀÇ AWT ¿ä¼ÒµéÀ» Â÷·Ê·Î ³ªÅ¸³½ °£´ÜÇÑ 
ÀÚ¹Ù ÇÁ·Î±×·¥
´ÙÀ½Àº À§ ¿¹Á¦ ÇÁ·Î±×·¥ÀÇ ¼Ò½ºÀÌ´Ù. ¹öÆ°À» ´©¸£¸é Á¾·áÇÑ´Ù.

AWTExample.java

10) Event Ŭ·¡½º : Event´Â Áö¿ªÀÇ GUI Ç÷§Æû¿¡¼­ ¹ß»ýÇÏ´Â À̺¥Æ®µéÀ» ´ë½ÅÇÏ´Â Ç÷§Æû µ¶¸³ÀûÀΠŬ·¡½ºÀÌ´Ù. ÇϳªÀÇ À©µµ¿ì ¿ä¼Ò°¡ ó¸®ÇØ¾ß ÇÒ À̺¥Æ®°¡ ¹ß»ýÇϸé AWT°¡ ÇØ´ç ¿ä¼Ò·Î Àü´ÞÇÑ´Ù. Event Ŭ·¡½º´Â À̵é À̺¥Æ®ÀÇ Á¤º¸¸¦ °¡Áö°í Àִ Ŭ·¡½º ÀÌ´Ù. ÇØ´çÇÏ´Â À©µµ¿ì ¿ä¼Ò°¡ À̺¥Æ®¸¦ ó¸®ÇÏÁö ¾ÊÀ¸¸é AWT´Â ÇØ´ç À©µµ¿ìÀÇ »óÀ§ À©µµ¿ì¿¡°Ô À̺¥Æ®¸¦ Àü´ÞÇÑ´Ù. µû¶ó¼­ Container´Â Àڱ⠳»ºÎÀÇ À©µµ¿ì ¿ä¼ÒµéÀÌ Ã³¸®ÇÏÁö ¾ÊÀº ¸ðµç À̺¥Æ®µéÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù.
11) Graphics Ŭ·¡½º : Graphics´Â ±×·¡ÇÈ¿¡ °ü·ÃµÈ ´Ù¾çÇÑ µµ±¸µéÀ» Æ÷°ýÇÏ°í Àִ Ŭ·¡½ºÀÌ´Ù. ¼±, ¿ø, À°¸éü, ±×¸², ±ÛÀÚ µîÀÇ ´Ù¾çÇÑ ±×·¡ÇÈ ¿ä¼ÒµéÀ» È­¸é¿¡ ³ªÅ¸³»´Â µ¥ »ç¿ëµÈ´Ù.

Component, Container Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼Òµåµé

AWT À©µµ¿ì ¿ä¼ÒµéÀÇ ºÎ¸ð Ŭ·¡½ºÀÎ Component¿Í Container Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼ÒµåµéÀº ÀÚ½Ä À©µµ¿ì Ŭ·¡½ºµé¿¡ ±×´ë·Î »ó¼ÓµÇ¾î »ç¿ëµÇ¸ç AWT ÇÁ·Î±×·¡¹ÖÀÇ ÇÙ½ÉÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

¸ÕÀú AWTÀÇ ÃÖ»óÀ§ Ŭ·¡½ºÀÎ Component Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼ÒµåºÎÅÍ »ìÆ캸ÀÚ.
Component Ŭ·¡½º°¡ ¸ðµç AWT À©µµ¿ì ±¸¼º ¿ä¼Ò Ŭ·¡½ºµéÀÇ ºÎ¸ð Ŭ·¡½ºÀ̹ǷΠÀÌ ¸Þ¼ÒµåµéÀº ¸ðµç À©µµ¿ì ±¸¼º ¿ä¼Ò¿¡¼­ °øÅëÀûÀ¸·Î »ç¿ë°¡´ÉÇÑ ¸Þ¼ÒµåµéÀÌ´Ù.(À̺¥Æ®¿¡ °ü·ÃµÈ ¸Þ¼ÒµåµéÀº ³ªÁß¿¡ ¼³¸íÇÑ´Ù.)

  1. public Container getParent() : »óÀ§ À©µµ¿ì¸¦ ±¸ÇÒ ¶§ »ç¿ëÇÑ´Ù.
  2. public Point getLocation() : »óÀ§ À©µµ¿ìÀÇ ÁÂÇ¥ °ø°£¿¡¼­ ÇöÀçÀÇ À§Ä¡¸¦ ±¸ÇÑ´Ù.
  3. public Dimension getSize() : ÇöÀç Å©±â¸¦ ±¸ÇÑ´Ù. DimensionÀº ³ôÀÌ¿Í ÆøÀ¸·Î ±¸¼ºµÇ´Â Ŭ·¡½ºÀÌ´Ù.
  4. public synchronized void setEnabled(boolean b) : ÀÎÀÚ °ª¿¡ µû¶ó »ç¿ëÀÚ ÀÔ·ÂÀ» ¹ÞÀ» ¼ö ÀÖµµ·Ï ȤÀº ¾øµµ·Ï ÇÑ´Ù. ±âº» °ªÀº ÀÔ·ÂÀ» ¹ÞÀ» ¼ö ÀÖ´Â °ÍÀÌ´Ù.
  5. public synchronized void setVisible(boolean b) : ÀÎÀÚ °ª¿¡ µû¶ó È­¸é¿¡ ³ªÅ¸³»°Å³ª È­¸é¿¡¼­ °¨Ãá´Ù.
  6. public synchronized void setForeground(Color c) : ÁÖ¾îÁø »öÀ» Àü°æ»öÀ¸·Î Ç¥½ÃÇÑ´Ù.
  7. public synchronized void setBackground(Color c) : ÁÖ¾îÁø »öÀ» ¹è°æ»öÀ¸·Î Ç¥½ÃÇÑ´Ù.
  8. public void setLocation(int x, int y) : »õ·Î¿î À§Ä¡·Î À̵¿½ÃŲ´Ù. x, y ÁÂÇ¥´Â »óÀ§ À©µµ¿ìÀÇ ÁÂÇ¥ °ø°£ °ªÀ¸·Î ÁÖ¾îÁø´Ù.
  9. public void setSize(int width, int height) : ÁÖ¾îÁø Æø°ú ³ôÀÌ·Î À©µµ¿ì Å©±â¸¦ º¯°æÇÑ´Ù.
  10. public synchronized void setBounds(int x, int y, int width, int height) : setLocation(x, y), setSize(width, height)¸¦ ¿¬¼ÓÀ¸·Î È£ÃâÇÑ È¿°ú¸¦ ³½´Ù.
  11. public Graphics getGraphics() : ÇØ´ç À©µµ¿ì¿¡ ±×¸²À» ±×¸®±â À§ÇÑ ±×·¡ÇÈ ÄÁÅؽºÆ®(¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ½Ã½ºÅÛ¿¡¼­´Â ±×·¡ÇÈ ÀåÄ¡ ÄÁÅؽºÆ®graphic device context¶ó°í ÇÑ´Ù)¸¦ ¾òÀ» ¶§ »ç¿ëÇÑ´Ù.
  12. public FontMetrics getFontMetrics(Font font) : ÁÖ¾îÁø ±Û²Ã¿¡ °ü·ÃÇÏ¿© ±Û²Ã ±¸Á¶ Á¤º¸¸¦ ±¸ÇÒ ¶§ »ç¿ëÇÑ´Ù. ±Û²ÃÀÇ ÆøÀ̳ª ³ôÀÌ µîÀ» ±¸ÇÒ ¶§ ÀÚÁÖ »ç¿ëÇÑ´Ù.
  13. public void paint(Graphics g) : À©µµ¿ì¸¦ ´Ù½Ã ±×¸± ¶§ AWT¿¡ ÀÇÇØ ºÒ·ÁÁø´Ù. ÀÌ ¸Þ¼Òµå°¡ ºÒ·ÁÁö´Â ¶§¿¡´Â óÀ½À¸·Î À©µµ¿ì ÄÄÆÛ³ÍÆ®°¡ È­¸é¿¡ ³ªÅ¸³¯ ¶§, ȤÀº ´Ù¸¥ À©µµ¿ì¿¡ ÀÇÇÏ¿© °¡·ÁÁ³´Ù°¡ ´Ù½Ã ³ªÅ¸³¯ ¶§, ¶Ç »ç¿ëÀÚ°¡ Á÷Á¢ repaint() ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿´À» ¶§ µîÀÌ´Ù. ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ì ÇÁ·Î±×·¡¸Ó´Â WM_PAINT ¸Þ½ÃÁö¸¦ »ý°¢ÇÏ¸é ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
  14. public void repaint() : AWT¿¡°Ô ÄÄÆÛ³ÍÆ®¸¦ ¿ÏÀüÈ÷ ´Ù½Ã ±×¸®µµ·Ï ¿äûÇÑ´Ù. ÀÌ ¸í·ÉÀº ½ÇÁ¦·Î´Â °¡´ÉÇÑ ÇÑ »¡¸® update()¸¦ È£ÃâÇϵµ·Ï AWT¿¡°Ô ¿äûÇÏ´Â °ÍÀÌ µÈ´Ù.
  15. public void update(Graphics g) : repaint() ¿äû¿¡ µû¶ó AWT¿¡ ÀÇÇØ È£ÃâµÈ´Ù. ÇöÀç ÄÄÆÛ³ÍÆ®¸¦ Áö¿î ´ÙÀ½ paint()¸¦ È£ÃâÇÏ´Â °ÍÀÌ ±âº» µ¿ÀÛÀÌ´Ù.
  16. public void requestFocus() : ÀÔ·Â Æ÷Ä¿½º¸¦ ¿äûÇÑ´Ù.
  17. public void transferFocus() : ´ÙÀ½ À©µµ¿ì·Î ÀÔ·Â Æ÷Ä¿½º¸¦ ¿Å±ä´Ù.
  18. public void setCursor(Cursor cursor) : ÄÄÆÛ³ÍÆ®ÀÇ ¸¶¿ì½º Ä¿¼­¸¦ º¯°æÇÑ´Ù.

ComponentÀÇ µµ±¸µéÀÌ À©µµ¿ìÀÇ ÀϹÝÀûÀÎ ÇàÀ§¿¡ ´ëÇÑ °ÍÀ̶ó¸é Container Ŭ·¡½ºÀÇ µµ±¸µéÀº ÁÖ·Î ÇÏÀ§ À©µµ¿ì¸¦ ¸¸µé°í ¹èÄ¡ÇÏ´Â °Í¿¡ °ü·ÃµÈ µµ±¸µéÀÌ´Ù.

ÇÏÀ§ À©µµ¿ì

À©µµ¿ì ½Ã½ºÅÛ¿¡¼­ ÇϳªÀÇ º¹ÇÕÀûÀÎ À©µµ¿ì¸¦ ±¸¼ºÇÒ ¶§ ¿©·¯ °³ÀÇ À©µµ¿ì¸¦ °ãÃļ­ ¸¸µç´Ù´Â ¿ø¸®¿¡ µû¶ó °¡Àå ¹Ù´Ú¿¡ ÀÖ´Â Å« À©µµ¿ì¸¦ ÃÖ»óÀ§ À©µµ¿ì·Î ÇÏ°í ±× À§¿¡ Æ÷°³Áö´Â °¢ À©µµ¿ì¸¦ ÇÏÀ§ À©µµ¿ì¶ó°í ÇÑ´Ù. ¿¹¸¦ µé¾î, ´ëÈ­»óÀÚ À©µµ¿ì¿¡¼­ ´ëÈ­»óÀÚ Àüü Å©±â¸¦ ±¸¼ºÇÏ´Â À©µµ¿ì´Â ÃÖ»óÀ§ À©µµ¿ì°¡ µÇ°í ´ëÈ­»óÀÚÀÇ OK ¹öÆ°Àº ±× À§¿¡ Á¸ÀçÇÏ´Â ÇÏÀ§ À©µµ¿ì°¡ µÈ´Ù. À©µµ¿ìÀÇ ±¸¼º¿ä¼Ò¸¦ Ç¥½ÃÇÒ ¶§ ÃÖ»óÀ§ À©µµ¿ì¸¦ Á¤Á¡¿¡ µÎ°í ±× À§¿¡ ³õÀÌ´Â °¢ À©µµ¿ì¸¦ ÀÚ½Äó·³ Ç¥ÇöÇÏ¿© À©µµ¿ì °èÃþ ±¸Á¶¸¦ Ç¥½ÃÇϱ⠶§¹®¿¡ »óÇÏ °³³äÀÌ Á¶±Ý ´Ù¸¥ °ÍÀÌ´Ù. À©µµ¿ì °èÃþ ±¸Á¶¿¡¼­ÀÇ »óÇÏ¿Í Å¬·¡½º °èÃþ ±¸Á¶¿¡¼­ÀÇ »óÇϸ¦ È¥µ·ÇÏÁö ¸» °Í.

ÇÏÀ§ À©µµ¿ìµéÀ» ¹èÄ¡ÇÒ ¶§¿¡´Â µÚ¿¡¼­ ¼³¸íÇÒ ·¹À̾ƿô °ü¸®ÀÚ Áï, LayoutManager Ŭ·¡½ºµéÀÌ Áß¿äÇÏ°Ô ÀÛ¿ëÇÑ´Ù. Container Ŭ·¡½º°¡ Component Ŭ·¡½ºÀÇ ÀÚ½Ä Å¬·¡½ºÀ̹ǷΠComponent Ŭ·¡½ºÀÇ ¸Þ¼Òµå ¶ÇÇÑ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖÀ½À» ¸í½ÉÇÏÀÚ.

  1. public void setLayout(LayoutManager mgr) : À©µµ¿ìÀÇ ·¹À̾ƿô °ü¸®ÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º¿¡´Â BorderLayout, CardLayout, FlowLayout, GridBagLayout, GridLayout µîÀÌ ÀÖ´Ù. ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º¸¦ »ç¿ëÇÏ¸é ½±°Ô ÇÏÀ§ À©µµ¿ìÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ°í ¶Ç À©µµ¿ìÀÇ Å©±â°¡ º¯°æµÇ¾úÀ» ¶§ ÀÚµ¿À¸·Î Àç¹èÄ¡ÇÒ ¼ö ÀÖ´Ù.
  2. public synchronized void doLayout() : ·¹À̾ƿô °ü¸®ÀÚ¿¡ ÀÇÇØ ·¹À̾ƿôÀ» ÇÑ ÈÄ¿¡ (ÇÏÀ§ À©µµ¿ìµéÀ» »ý¼ºÇÑ ÈÄ¿¡) È£ÃâÇÏ¿© À©µµ¿ìµéÀ» À¯È¿È­ÇÑ´Ù. ÀÌ ¸Þ¼Òµå¸¦ Äڵ忡¼­ Á÷Á¢ È£ÃâÇÏÁö ¸»°í ´ë½Å¿¡ validate()¸¦ È£ÃâÇÏ¿© °á°úÀûÀ¸·Î doLayout()ÀÌ ¼öÇàµÇµµ·Ï ÇÑ´Ù.
  3. public synchronized Component[] getComponents() : ÀÌ À©µµ¿ì ³»ºÎÀÇ ¸ðµç ÇÏÀ§ À©µµ¿ìµéÀ» ¾ò´Â´Ù.
  4. public Insets getInsets() : ÀÌ À©µµ¿ìÀÇ ÀμÂ(inset)À» ÁöÁ¤ÇÑ´Ù. ÀμÂÀº ³»ºÎÀÇ ÇÏÀ§ À©µµ¿ìµé°ú ³× ¹æÇâ(»óÇÏÁ¿ì)ÀÇ °æ°è ºÎºÐÀÇ Å©±â¸¦ ¸»ÇÑ´Ù. ¿¹¸¦ µé¾î ÇÁ·¹ÀÓ À©µµ¿ì´Â ŸÀÌƲ ¹Ù¿¡ ÇØ´çÇÏ´Â À§ÂÊ ÀμÂÀ» °¡Áú °ÍÀÌ´Ù.
  5. public Component add(Component comp) : ÀÎÀÚ·Î ÁÖ¾îÁø À©µµ¿ì¸¦ ÇÏÀ§ À©µµ¿ì·Î ÇÏ¿© ³»ºÎ¿¡ ¹èÄ¡ÇÑ´Ù.
  6. public synchronized void remove(Component comp) : ÁöÁ¤µÈ ÇÏÀ§ À©µµ¿ì¸¦ Á¦°ÅÇÑ´Ù.
  7. public synchronized void removeAll() : ¸ðµç ÇÏÀ§ À©µµ¿ìµéÀ» Á¦°ÅÇÑ´Ù.
  8. public LayoutManager getLayout() : ÇØ´ç À©µµ¿ìÀÇ ·¹À̾ƿô °ü¸®ÀÚ¸¦ ±¸ÇÑ´Ù.

·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º

Container À©µµ¿ì°¡ ÇÏÀ§ À©µµ¿ì¸¦ ¹èÄ¡ÇÒ ¶§ »ç¿ëÇÏ´Â setLayout() ¸Þ¼Òµå´Â LayoutManager ÀÎÅÍÆäÀ̽º¸¦ ÀÎÀÚ·Î °¡Áø´Ù. Áï, LayoutManager ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ °´Ã¼¸¦ ÀÎÀÚ·Î °®´Â °ÍÀÌ´Ù. ±âº»ÀûÀ¸·Î Á¦°øµÇ´Â ·¹À̾ƿô °ü¸®ÀÚ °´Ã¼´Â ´ÙÀ½ ´Ù¼¸ °³´Ù. (À̵é Ŭ·¡½º´Â ¸ðµÎ LayoutManager ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ´Ù.)

1. BorderLayout Ŭ·¡½º

ÀÌ ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º´Â add() µµ±¸¸¦ »ç¿ëÇÏ¿© ÇÏÀ§ À©µµ¿ì¸¦ ´ÙÀ½ ´Ù¼¸ °¡Áö ¹æ½ÄÀ¸·Î ¹èÄ¡ÇÑ´Ù.
North(Container À©µµ¿ìÀÇ ºÏÂÊ), South(³²ÂÊ), East(µ¿ÂÊ), West(¼­ÂÊ), Center(Áß¾Ó)
¹èÄ¡°¡ µÇ´Â ¼ø¼­´Â ¸ÕÀú North, South, East, West¿¡ ÇØ´çÇÏ´Â ÇÏÀ§ À©µµ¿ìµéÀ» °¢°¢ÀÇ ±âº» Å©±â(Component Ŭ·¡½ºÀÇ ¸Þ¼ÒµåÀÎ getPreferredSize()ÀÇ ¹Ýȯ°ªÀÌ´Ù.) °ª°ú Container À©µµ¿ìÀÇ Å©±â ÇѰ踦 °¨¾ÈÇÏ¿© ¹èÄ¡ÇÏ°í ±× ´ÙÀ½ ¿©¹éÀ¸·Î Center¿¡ ÇØ´çÇÏ´Â À©µµ¿ì¸¦ ¹èÄ¡ÇÑ´Ù.
Window³ª Frame Ŭ·¡½º´Â ·¹À̾ƿô °ü¸®ÀÚ¸¦ º°µµ·Î ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì ±âº»°ªÀ¸·Î BorderLayoutÀ» ·¹À̾ƿô °ü¸®ÀÚ·Î ÁöÁ¤ÇÑ´Ù.
½ÇÁ¦ »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦ ¼Ò½º¸¦ ÂüÁ¶ÇÑ´Ù.

BorderLayoutApplet.java

2. FlowLayout Ŭ·¡½º

ÇÏÀ§ À©µµ¿ìµéÀ» ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î ÇÑ ÁÙ·Î Á¤·ÄÇÑ´Ù. Container À©µµ¿ì°¡ add() µµ±¸¸¦ »ç¿ëÇÏ¸é ¿ÞÂÊ¿¡¼­ºÎÅÍ Â÷·Ê·Î ÇÏÀ§ À©µµ¿ì¸¦ Ãß°¡½ÃŲ´Ù. static int »ó¼ö·Î LEFT, RIGHT, CENTER°¡ ÀÖ¾î Á¤·Ä ¹æ½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
Panel Ŭ·¡½º(PanelÀÇ ÀÚ½Ä Å¬·¡½ºÀÎ Applet Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ¿©)´Â ·¹À̾ƿô °ü¸®ÀÚ¸¦ º°µµ·Î ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì ±âº»°ªÀ¸·Î FlowLayoutÀ» ·¹À̾ƿô °ü¸®ÀÚ·Î ÁöÁ¤ÇÑ´Ù.

FlowLayoutÀÇ »ý¼ºÀÚ´Â ¸î °¡Áö°¡ Àִµ¥ ÀÎÀÚ°¡ ¾ø´Â »ý¼ºÀÚ´Â ±âº»°ªÀ¸·Î FlowLayout.CENTER¸¦ Á¤·Ä ¹æ½ÄÀ¸·Î °£ÁÖÇÑ´Ù.
½ÇÁ¦ »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦ ¼Ò½º¸¦ ÂüÁ¶ÇÑ´Ù.

FlowLayoutApplet.java

3. GridLayout Ŭ·¡½º

ÄÄÆÛ³ÍÆ®¸¦ ÀÏÁ¤ÇÑ Çà°ú ¿­ÀÇ ±×¸®µå(°ÝÀÚ)·Î ±¸ºÐÇÏ¿© ÇØ´ç ±×¸®µå ¾È¿¡ ÇÏÀ§ À©µµ¿ì¸¦ Çϳª¾¿ ¹èÄ¡ÇÑ´Ù.

ÀÎÀÚ°¡ ¾ø´Â »ý¼ºÀÚ´Â 1Çà, 1¿­ÀÇ ±×¸®µå·Î °£ÁÖÇÑ´Ù.
½ÇÁ¦ »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦ ¼Ò½º¸¦ ÂüÁ¶ÇÑ´Ù.

GridLayoutApplet.java

4. GridBagLayout Ŭ·¡½º

ÀÌ ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º¸¦ »ç¿ëÇϸé ÇÏÀ§ À©µµ¿ìµéÀÇ Å©±â¸¦ ´Ù¸£°Ô ÇÏ¿© ÀÚÀ¯·Ó°Ô ¼öÁ÷, ¼öÆòÀ¸·Î À¯¿¬ÇÏ°Ô ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù. °¢°¢ÀÇ ÇÏÀ§ À©µµ¿ì´Â »ç°¢ÇüÀ¸·Î ±¸ºÐµÈ ±×¸®µåµé Áß Çϳª ȤÀº ¿©·¯ °³¸¦ ÀÚ½ÅÀÇ µð½ºÇ÷¹ÀÌ ¿µ¿ªÀ¸·Î Â÷ÁöÇÏ¿© ¹èÄ¡µÈ´Ù.

°¢ ÇÏÀ§ À©µµ¿ì°¡ ¹èÄ¡µÇ´Â ¼¼ºÎÀûÀÎ ¹æ½ÄÀº º°µµÀÇ GridBagConstraints Ŭ·¡½º¸¦ ÅëÇؼ­ ÁöÁ¤ÇÑ´Ù. ÀÌ Å¬·¡½º´Â anchor, fill, gridheight, gridwidth, gridx, gridy, insets, ipadx, ipady, weightx, weighty µîÀÇ Çʵ带 °¡Áö¸ç ÀÌ ÇʵåµéÀÇ °ªÀÌ ½ÇÁ¦ ¹èÄ¡µÇ´Â ¹æ½ÄÀ» ±¸Ã¼ÀûÀ¸·Î ÁöÁ¤ÇÏ°Ô µÈ´Ù. µû¶ó¼­, ÀÌ ·¹À̾ƿôÀ» Á¦´ë·Î »ç¿ëÇϱâ À§Çؼ­´Â GridBagConstraints Ŭ·¡½ºÀÇ Çʵ带 Á¤È®ÇÏ°Ô ÀÌÇØÇØ¾ß ÇÑ´Ù.

gridx, gridy : ÇØ´ç ÇÏÀ§ À©µµ¿ìÀÇ µð½ºÇ÷¹ÀÌ ¿µ¿ª¿¡¼­ ¿ÞÂÊ À­ ºÎºÐÀ» ±âÁØÁ¡À¸·ÎÇÏ¿© À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. °¡Àå ¿ÞÂÊ À§ÀÇ ±×¸®µå¿¡ ÀÚ¸®Çϸé gridx¿Í gridy ¸ðµÎ 0ÀÌ µÈ´Ù. ±âº»°ªÀÎ GridBagConstraints.RELATIVE¸¦ gridxÀÇ °ªÀ¸·Î »ç¿ëÇÏ¸é ´õÇØÁö´Â ¼ø¼­¿¡ µû¶ó ´Ü¼øÈ÷ ¿À¸¥ÂÊ¿¡ ¹èÄ¡µÈ´Ù.(¸¶Âù°¡Áö·Î gridyÀÇ °ªÀ¸·Î RELATIVE°¡ »ç¿ëµÇ¸é ¼ø¼­¿¡ µû¶ó ´Ü¼øÈ÷ ¾Æ·¡ÂÊ¿¡ ¹èÄ¡µÈ´Ù.)

gridwidth, gridheight : µð½ºÇ÷¹ÀÌ ¿µ¿ªÀÇ ±×¸®µå °³¼ö¸¦ Çà ¹æÇâÀ¸·Î(gridwidth), ȤÀº ¿­ ¹æÇâÀ¸·Î(gridheight) ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº 1ÀÌ´Ù. GridBagConstraints.REMAINDER °ªÀº Çà ȤÀº ¿­ °¡¿îµ¥ ¸¶Áö¸· Çϳª¸¦ ¶æÇÏ°í GridBagConstraints.RELATIVE °ªÀº ¸¶Áö¸· ¹Ù·Î ¿ÞÂÊ(ȤÀº ¹Ù·Î À§)¸¦ ¶æÇÑ´Ù.

fill : ÇÏÀ§ À©µµ¿ìÀÇ µð½ºÇ÷¹ÀÌ ¿µ¿ª(ÁöÁ¤µÈ ±×¸®µå ¿µ¿ª)ÀÌ ¿ä±¸µÇ´Â ÇÏÀ§ À©µµ¿ìÀÇ Å©±âº¸´Ù Ŭ ¶§ ÄÄÆÛ³ÍÆ® À©µµ¿ìÀÇ Å©±â¸¦ °áÁ¤ÇÏ´Â µ¥ »ç¿ëµÈ´Ù. ±âº»°ªÀÎ GridBagConstraint.NONE °ªÀ» ÁöÁ¤Çϸé À©µµ¿ìÀÇ Å©±â¸¦ ±âº» Å©±â·Î À¯ÁöÇÑ´Ù. GridBagConstraint.HORIZONTAL °ªÀ» ÁöÁ¤ÇÏ¸é µð½ºÇ÷¹ÀÌ ¿µ¿ªÀÇ Æø°ú À©µµ¿ìÀÇ ÆøÀÌ °°µµ·Ï À©µµ¿ìÀÇ ÆøÀ» ³ÐÈù´Ù. GridBagConstraint.VERTICAL °ªÀ» ÁöÁ¤ÇÏ¸é µð½ºÇ÷¹ÀÌ ¿µ¿ªÀÇ ³ôÀÌ¿Í ÇÏÀ§ À©µµ¿ìÀÇ ³ôÀÌ°¡ °°µµ·Ï À©µµ¿ìÀÇ ³ôÀ̸¦ ³ôÀδÙ. GridBagConstraint.BOTH °ªÀ» ÁöÁ¤Çϸé ÇÏÀ§ À©µµ¿ì°¡ ÀÚ ½ÅÀÇ µð½ºÇ÷¹ÀÌ ¿µ¿ªÀ» ¿ÏÀüÈ÷ ä¿ì°Ô µÈ´Ù.

ipadx, ipady : ³»ºÎ ¿©¹éÀÇ °ªÀ¸·Î ÇÏÀ§ À©µµ¿ìÀÇ ÃÖ¼Ò Å©±â¿¡ Ãß°¡µÇ¾î °è»êµÈ´Ù.

insets : ¿ÜºÎ ¿©¹éÀÇ °ªÀ¸·Î µð½ºÇ÷¹ÀÌ ¿µ¿ªÀÇ °¡ÀåÀÚ¸®¿Í ÇÏÀ§ À©µµ¿ì °£ÀÇ ÃÖ¼ÒÇÑÀÇ °Å¸®¸¦ ÁöÁ¤ÇÑ´Ù.

anchor : ÇÏÀ§ À©µµ¿ìÀÇ Å©±â°¡ µð½ºÇ÷¹ÀÌ ¿µ¿ªº¸´Ù ÀÛÀ» ¶§ ¿µ¿ª ³»ÀÇ ¾î´À °÷¿¡ ÇÏÀ§ À©µµ¿ì¸¦ ¹èÄ¡ÇÒÁö °áÁ¤ÇÏ´Â µ¥ »ç¿ëµÈ´Ù. ±âº»°ªÀº GridBagConstraints.CENTER·Î °¡¿îµ¥·Î ¹èÄ¡ÇÑ´Ù. ±× ¿Ü GridBagConstraints.NORTH, GridBagConstraints.NORTHEAST, GridBagConstraints.EAST, GridBagConstraints.SOUTHEAST, GridBagConstraints.SOUTH, GridBagConstraints.SOUTHWEST, GridBagConstraints.WEST, GridBagConstraints.NORTHWEST µîÀÇ °ªÀ» °¡Áú ¼ö ÀÖ´Ù. ¹°·Ð fill °ªÀÌ BOTH·Î ÁöÁ¤µÇ¾î ÀÖ´Ù¸é Àǹ̰¡ ¾øÀ» °ÍÀÌ´Ù.

weightx, weighty : ¿©¹éÀ» ºÐ¹èÇÏ´Â µ¥ »ç¿ëµÇ´Â º¯¼ö·Î ±âº»°ªÀº 0ÀÌ´Ù. ¸ðµÎ 0°¡ µÇ¸é °¡¿îµ¥·Î ¸ðÀÌ°Ô µÉ °ÍÀÌ´Ù. °ªÀÌ 0ÀÌ ¾Æ´Ñ ÄÄÆÛ³ÍÆ®µéÀÌ °¡·Î ȤÀº ¼¼·Î ¹æÇâÀ¸·Î °ªÀÇ Å©±â¿¡ µû¶ó ¿©¹éÀ» ºÐ¹èÇÏ¸ç ¹èÄ¡ÇÏ°Ô µÈ´Ù.(¾Æ·¡ÀÇ ¿¹Á¦ ¾ÖÇø´ ÂüÁ¶)

´ÙÀ½Àº GridBagLayout Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© ¿­ °³ÀÇ ¹öÆ° À©µµ¿ì¸¦ ¹èÄ¡ÇÑ ¿¹ÀÌ´Ù. ¸ðµç ¹öÆ°Àº fill °ªÀ¸·Î GridBagConstraints.BOTH¸¦ °¡Áø´Ù. fill ¿Ü¿¡ ¿©±â¿¡ »ç¿ëµÈ ±âº»°ªÀÌ ¾Æ´Ñ °¢ º¯¼ö °ªÀº ´ÙÀ½°ú °°´Ù.

¹öÆ°4: gridwidth=GridBagConstraints.REMAINDER // ¹öÆ°4ÀÇ µð½ºÇ÷¹ÀÌ ¿µ¿ªÀº Çà¿¡¼­ ¸¶Áö¸·¿¡ À§Ä¡
¹öÆ°5: gridwidth=GridBagConstraints.REMAINDER // ¹öÆ°5´Â Çà¿¡¼­ ¸¶Áö¸·¿¡ À§Ä¡
¹öÆ°6: gridwidth=GridBagConstraints.RELATIVE // ¹öÆ°6Àº Çà¿¡¼­ ¸¶Áö¸· ¹Ù·Î ¾ÕÀÇ °Í
¹öÆ°7: gridwidth=GridBagConstraints.REMAINDER // ¹öÆ°7Àº Çà¿¡¼­ ¸¶Áö¸·¿¡ À§Ä¡
¹öÆ°8: gridheight=2 // ¹öÆ°8Àº ¼¼·Î ¹æÇâÀ¸·Î ±×¸®µå µÎ °³¿¡ °ÉÄ£´Ù.
¹öÆ°9, ¹öÆ°10: gridwidth=GridBagConstraints.REMAINDER // ¹öÆ°9,10Àº °¢°¢ Çà¿¡¼­ ¸¶Áö¸· À§Ä¡

fill °ªÀ» BOTH·Î ÇÏ¿´±â ¶§¹®¿¡ ¹öÆ°ÀÇ Å©±â°¡ ¹Ù·Î °¢°¢ÀÇ µð½ºÇ÷¹ÀÌ ¿µ¿ªÀÌ´Ù. weight °ªÀÌ ¸ðµÎ ±âº»°ªÀÎ 0À¸·Î µÇ¾î ÀÖ¾î óÀ½¿¡´Â ¸ðµç ¹öÆ°µéÀÌ °¡¿îµ¥¿¡ ¸ô·Á ÀÖ´Ù. ¾Æ·¡ÀÇ ÅؽºÆ® Çʵ忡¼­ weight.x °ª°ú weight.y°ªÀ» ƯÁ¤ ¹öÆ°¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÏ¿´´Ù. ¸ÕÀú ¿À¸¥ÂÊÀÇ ¼±ÅûóÀÚ¿¡¼­ ÁöÁ¤ÇÒ ¹öÆ°À» ¼±ÅÃÇÑ ´ÙÀ½, ÅؽºÆ®Çʵ忡 °ªÀ» ÀÔ·ÂÇÏ°í Apply ¹öÆ°À» ´©¸£¸é ÁöÁ¤µÈ °ª¿¡ µû¶ó ´Ù½Ã ¹èÄ¡ÇÑ´Ù. Å×½ºÆ®Çغ¸¶ó.

GridBagLayoutApplet.java

5. CardLayout Ŭ·¡½º

ÅÇ ´ëÈ­»óÀÚ(tabbed dialogs)³ª µ¿ÀûÀÎ ´ëÈ­»óÀÚ¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½ºÀÌ´Ù. ¿©·¯ ÀåÀÇ Ä«µå°¡ ÀÖÀ¸³ª º¸ÀÌ´Â Ä«µå´Â Çϳª¸¸ ÀÖ´Ù´Â °³³ä¿¡¼­ ³ª¿Â À̸§ÀÌ´Ù. add ¸Þ¼Òµå¸¦ ½ÇÇàÇÒ ¶§ °¢ Ä«µå¸¦ ½Äº°ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¿­À» ÁöÁ¤ÇØ¾ß ÇÏ°í, ³ªÁß¿¡ show ¸Þ¼Òµå¿¡ ÀÌ ¹®ÀÚ¿­À» ÀÎÀÚ·Î Á༭ ÇØ´ç Ä«µå°¡ º¸ÀÌ°Ô ÇÒ ¼ö ÀÖ´Ù. first(), last(), next(), previous() µîÀÇ µµ±¸¸¦ »ç¿ëÇÏ¿© Ä«µå °£¿¡ ¼øÂ÷ÀûÀ¸·Î À̵¿ÇÒ ¼öµµ ÀÖ´Ù. »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦¸¦ Âü°íÇÑ´Ù. ¿¹Á¦¿¡¼­´Â °£´ÜÈ÷ Çϱâ À§ÇØ Ä«µå·Î ¹öÆ°À» »ç¿ëÇÏ°í ÀÖÀ¸³ª ½ÇÁ¦·Î´Â ¿©·¯ ÄÄÆÛ³ÍÆ®¸¦ Æ÷ÇÔÇÏ´Â ÆгÎÀ̳ª ±×·¡ÇÈ ¿ä¼Ò¸¦ ´ãÀº ĵ¹ö½º¿Í °°Àº °ÍÀÌ ÁÖ·Î »ç¿ëµÉ °ÍÀÌ´Ù.

CardLayoutApplet.java

 

6. ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì

´ÙÀ½ ¿¹Á¦¿¡¼­ reshape(JDK 1.1¿¡¼­´Â setBounds·Î À̸§ÀÌ º¯°æµÈ´Ù.) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© À§Ä¡¿Í Å©±â¸¦ Á÷Á¢ ÁöÁ¤ÇÏÁö ¾Ê°í ´Ü¼øÈ÷ add¸¸ ÇÏ¸é ½ÇÁ¦·Î´Â ¹öÆ°ÀÌ º¸ÀÌÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.

ÀÌ·¸°Ô ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º°¡ ÁöÁ¤µÇÁö ¾ÊÀ» °æ¿ì(Áï null °ªÀ» ·¹À̾ƿô °ü¸®ÀÚ·Î ÁöÁ¤ÇÑ °æ¿ì), ÄÄÆÛ³ÍÆ®ÀÇ À§Ä¡¿Í Å©±â¸¦ Á¤È®ÇÏ°Ô ÁöÁ¤ÇÏ´Â °ÍÀº ÇÁ·Î±×·¡¸ÓÀÇ Ã¥ÀÓÀÌ µÇ°í, ÄÄÆÛ³ÍÆ®¸¦ Æ÷ÇÔÇÏ´Â ÄÁÅ×ÀÌ³Ê À©µµ¿ì°¡ Å©±â º¯°æ µîÀ¸·Î °»½ÅµÉ ¶§ ÇÏÀ§ ÄÄÆÛ³ÍÆ® À©µµ¿ìµéÀº Àç¹èÄ¡µÇÁö ¾Ê´Â´Ù. ´Ù½Ã Àç¹èÄ¡ÇÏ´Â °Í ¿ª½Ã ÇÁ·Î±×·¡¸ÓÀÇ Ã¥ÀÓÀÌ µÇ´Â °ÍÀÌ´Ù.

NullLayoutApplet.java

À̺¥Æ® ó¸®

[Ãß°¡ ¿¹Á¤]

JFC ½ºÀ® ¼Â

[Ãß°¡ ¿¹Á¤]


¾Õ ÆäÀÌÁö µÞ ÆäÀÌÁö »öÀÎ