ÀÚ¹Ù¿¡ ÀÖ¾î¼ java.applet ÆÐÅ°Áö¿Í ¾Æ¿ï·¯ °¡Àå Áß¿äÇÑ ÆÐÅ°Áö ÁßÀÇ Çϳª´Â java.awt ÆÐÅ°ÁöÀÌ´Ù. ÀÚ¹ÙÀÇ À©µµ¿ì ½Ã½ºÅÛÀÎ Ãß»ó À©µµ¿ì
ÅøŶ(Abstract Window Toolkit)¿¡ °ü·ÃµÈ Ŭ·¡½ºµé·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç java.applet.Applet Ŭ·¡½º°¡ java.awt.Panel¿¡¼ ÆÄ»ýµÇ¾ú±â
¶§¹®¿¡ ¾ÖÇø´ÀÇ ÀÌÇظ¦ À§Çؼµµ ÀÚ¼¼È÷ ¾Ë¾ÆµÑ ÇÊ¿ä°¡ ÀÖ´Â ÆÐÅ°ÁöÀÌ´Ù. ÀÚ¹ÙÀÇ ±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º´Â ¸ðµÎ AWT ÆÐÅ°Áö¿¡
±â¹ÝÀ» µÎ°í ÀÖ´Ù.
¸ÕÀú java.awt ÆÐÅ°ÁöÀÇ ÁÖ¿ä Ŭ·¡½º °èÃþ ±¸Á¶ºÎÅÍ ¾Ë¾Æ µÎÀÚ.(¾Æ·¡ Ç¥´Â JDK 1.1.x ¹öÀü¿¡ µû¸¥ °ÍÀÌ´Ù.)
|
±×¸²¿¡¼ º¸´Â ¹Ù¿Í °°ÀÌ °¢ À©µµ¿ì ÄÄÆÛ³ÍÆ® Ŭ·¡½ºµéÀº ¸ðµÎ 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 ÆÐÅ°Áö¿¡´Â ±×·¡ÇÈ, ÆùÆ®, Ä÷¯, ·¹À̾ƿô °ü·Ã Ŭ·¡½ºµéÀÌ Á¸ÀçÇÑ´Ù.
ÁÖ¿ä Ŭ·¡½º¸¦ »ìÆ캸ÀÚ.
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 ¿ä¼Ò¸¦ Ç¥ÇöÇÏ´Â À©µµ¿ì Ŭ·¡½ºµéÀÌ´Ù.
¾Æ·¡ ±×¸²À» Âü°íÇÏÀÚ.
´ÙÀ½Àº À§ ¿¹Á¦ ÇÁ·Î±×·¥ÀÇ ¼Ò½ºÀÌ´Ù. ¹öÆ°À» ´©¸£¸é Á¾·áÇÑ´Ù.
10) Event Ŭ·¡½º : Event´Â Áö¿ªÀÇ GUI Ç÷§Æû¿¡¼ ¹ß»ýÇÏ´Â À̺¥Æ®µéÀ» ´ë½ÅÇÏ´Â Ç÷§Æû µ¶¸³ÀûÀΠŬ·¡½ºÀÌ´Ù. ÇϳªÀÇ À©µµ¿ì ¿ä¼Ò°¡
ó¸®ÇØ¾ß ÇÒ À̺¥Æ®°¡ ¹ß»ýÇϸé AWT°¡ ÇØ´ç ¿ä¼Ò·Î Àü´ÞÇÑ´Ù. Event Ŭ·¡½º´Â À̵é À̺¥Æ®ÀÇ Á¤º¸¸¦ °¡Áö°í Àִ Ŭ·¡½º ÀÌ´Ù.
ÇØ´çÇÏ´Â À©µµ¿ì ¿ä¼Ò°¡ À̺¥Æ®¸¦ ó¸®ÇÏÁö ¾ÊÀ¸¸é AWT´Â ÇØ´ç À©µµ¿ìÀÇ »óÀ§ À©µµ¿ì¿¡°Ô À̺¥Æ®¸¦ Àü´ÞÇÑ´Ù. µû¶ó¼ Container´Â
Àڱ⠳»ºÎÀÇ À©µµ¿ì ¿ä¼ÒµéÀÌ Ã³¸®ÇÏÁö ¾ÊÀº ¸ðµç À̺¥Æ®µéÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù.
11) Graphics Ŭ·¡½º : Graphics´Â ±×·¡ÇÈ¿¡ °ü·ÃµÈ ´Ù¾çÇÑ µµ±¸µéÀ» Æ÷°ýÇÏ°í Àִ Ŭ·¡½ºÀÌ´Ù. ¼±, ¿ø, À°¸éü, ±×¸², ±ÛÀÚ µîÀÇ ´Ù¾çÇÑ
±×·¡ÇÈ ¿ä¼ÒµéÀ» ȸ鿡 ³ªÅ¸³»´Â µ¥ »ç¿ëµÈ´Ù.
AWT À©µµ¿ì ¿ä¼ÒµéÀÇ ºÎ¸ð Ŭ·¡½ºÀÎ Component¿Í Container Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼ÒµåµéÀº ÀÚ½Ä À©µµ¿ì Ŭ·¡½ºµé¿¡ ±×´ë·Î »ó¼ÓµÇ¾î »ç¿ëµÇ¸ç AWT ÇÁ·Î±×·¡¹ÖÀÇ ÇÙ½ÉÀ̶ó ÇÒ ¼ö ÀÖ´Ù.
¸ÕÀú AWTÀÇ ÃÖ»óÀ§ Ŭ·¡½ºÀÎ Component Ŭ·¡½ºÀÇ ÁÖ¿ä ¸Þ¼ÒµåºÎÅÍ »ìÆ캸ÀÚ.
Component Ŭ·¡½º°¡ ¸ðµç AWT À©µµ¿ì ±¸¼º ¿ä¼Ò Ŭ·¡½ºµéÀÇ ºÎ¸ð Ŭ·¡½ºÀ̹ǷΠÀÌ ¸Þ¼ÒµåµéÀº ¸ðµç À©µµ¿ì ±¸¼º ¿ä¼Ò¿¡¼ °øÅëÀûÀ¸·Î
»ç¿ë°¡´ÉÇÑ ¸Þ¼ÒµåµéÀÌ´Ù.(À̺¥Æ®¿¡ °ü·ÃµÈ ¸Þ¼ÒµåµéÀº ³ªÁß¿¡ ¼³¸íÇÑ´Ù.)
ComponentÀÇ µµ±¸µéÀÌ À©µµ¿ìÀÇ ÀϹÝÀûÀÎ ÇàÀ§¿¡ ´ëÇÑ °ÍÀ̶ó¸é Container Ŭ·¡½ºÀÇ µµ±¸µéÀº ÁÖ·Î ÇÏÀ§ À©µµ¿ì¸¦ ¸¸µé°í ¹èÄ¡ÇÏ´Â °Í¿¡ °ü·ÃµÈ µµ±¸µéÀÌ´Ù.
ÇÏÀ§ À©µµ¿ì À©µµ¿ì ½Ã½ºÅÛ¿¡¼ ÇϳªÀÇ º¹ÇÕÀûÀÎ À©µµ¿ì¸¦ ±¸¼ºÇÒ ¶§ ¿©·¯ °³ÀÇ À©µµ¿ì¸¦ °ãÃļ ¸¸µç´Ù´Â ¿ø¸®¿¡ µû¶ó °¡Àå ¹Ù´Ú¿¡ ÀÖ´Â Å« À©µµ¿ì¸¦ ÃÖ»óÀ§ À©µµ¿ì·Î ÇÏ°í ±× À§¿¡ Æ÷°³Áö´Â °¢ À©µµ¿ì¸¦ ÇÏÀ§ À©µµ¿ì¶ó°í ÇÑ´Ù. ¿¹¸¦ µé¾î, ´ëÈ»óÀÚ À©µµ¿ì¿¡¼ ´ëÈ»óÀÚ Àüü Å©±â¸¦ ±¸¼ºÇÏ´Â À©µµ¿ì´Â ÃÖ»óÀ§ À©µµ¿ì°¡ µÇ°í ´ëÈ»óÀÚÀÇ OK ¹öÆ°Àº ±× À§¿¡ Á¸ÀçÇÏ´Â ÇÏÀ§ À©µµ¿ì°¡ µÈ´Ù. À©µµ¿ìÀÇ ±¸¼º¿ä¼Ò¸¦ Ç¥½ÃÇÒ ¶§ ÃÖ»óÀ§ À©µµ¿ì¸¦ Á¤Á¡¿¡ µÎ°í ±× À§¿¡ ³õÀÌ´Â °¢ À©µµ¿ì¸¦ ÀÚ½Äó·³ Ç¥ÇöÇÏ¿© À©µµ¿ì °èÃþ ±¸Á¶¸¦ Ç¥½ÃÇϱ⠶§¹®¿¡ »óÇÏ °³³äÀÌ Á¶±Ý ´Ù¸¥ °ÍÀÌ´Ù. À©µµ¿ì °èÃþ ±¸Á¶¿¡¼ÀÇ »óÇÏ¿Í Å¬·¡½º °èÃþ ±¸Á¶¿¡¼ÀÇ »óÇϸ¦ È¥µ·ÇÏÁö ¸» °Í. |
ÇÏÀ§ À©µµ¿ìµéÀ» ¹èÄ¡ÇÒ ¶§¿¡´Â µÚ¿¡¼ ¼³¸íÇÒ ·¹À̾ƿô °ü¸®ÀÚ Áï, LayoutManager Ŭ·¡½ºµéÀÌ Áß¿äÇÏ°Ô ÀÛ¿ëÇÑ´Ù. Container Ŭ·¡½º°¡ Component Ŭ·¡½ºÀÇ ÀÚ½Ä Å¬·¡½ºÀ̹ǷΠComponent Ŭ·¡½ºÀÇ ¸Þ¼Òµå ¶ÇÇÑ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖÀ½À» ¸í½ÉÇÏÀÚ.
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À» ·¹À̾ƿô °ü¸®ÀÚ·Î ÁöÁ¤ÇÑ´Ù.
½ÇÁ¦ »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦ ¼Ò½º¸¦ ÂüÁ¶ÇÑ´Ù.
2. FlowLayout Ŭ·¡½º
ÇÏÀ§ À©µµ¿ìµéÀ» ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ÇÑ ÁÙ·Î Á¤·ÄÇÑ´Ù. Container À©µµ¿ì°¡ add() µµ±¸¸¦ »ç¿ëÇÏ¸é ¿ÞÂÊ¿¡¼ºÎÅÍ Â÷·Ê·Î ÇÏÀ§ À©µµ¿ì¸¦
Ãß°¡½ÃŲ´Ù. static int »ó¼ö·Î LEFT, RIGHT, CENTER°¡ ÀÖ¾î Á¤·Ä ¹æ½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
Panel Ŭ·¡½º(PanelÀÇ ÀÚ½Ä Å¬·¡½ºÀÎ Applet Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ¿©)´Â ·¹À̾ƿô °ü¸®ÀÚ¸¦ º°µµ·Î ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì ±âº»°ªÀ¸·Î
FlowLayoutÀ» ·¹À̾ƿô °ü¸®ÀÚ·Î ÁöÁ¤ÇÑ´Ù.
FlowLayoutÀÇ »ý¼ºÀÚ´Â ¸î °¡Áö°¡ Àִµ¥ ÀÎÀÚ°¡ ¾ø´Â »ý¼ºÀÚ´Â ±âº»°ªÀ¸·Î FlowLayout.CENTER¸¦ Á¤·Ä ¹æ½ÄÀ¸·Î °£ÁÖÇÑ´Ù.
½ÇÁ¦ »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦ ¼Ò½º¸¦ ÂüÁ¶ÇÑ´Ù.
3. GridLayout Ŭ·¡½º
ÄÄÆÛ³ÍÆ®¸¦ ÀÏÁ¤ÇÑ Çà°ú ¿ÀÇ ±×¸®µå(°ÝÀÚ)·Î ±¸ºÐÇÏ¿© ÇØ´ç ±×¸®µå ¾È¿¡ ÇÏÀ§ À©µµ¿ì¸¦ Çϳª¾¿ ¹èÄ¡ÇÑ´Ù.
ÀÎÀÚ°¡ ¾ø´Â »ý¼ºÀÚ´Â 1Çà, 1¿ÀÇ ±×¸®µå·Î °£ÁÖÇÑ´Ù.
½ÇÁ¦ »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦ ¼Ò½º¸¦ ÂüÁ¶ÇÑ´Ù.
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 ¹öÆ°À» ´©¸£¸é ÁöÁ¤µÈ °ª¿¡ µû¶ó ´Ù½Ã ¹èÄ¡ÇÑ´Ù. Å×½ºÆ®Çغ¸¶ó.
5. CardLayout Ŭ·¡½º
ÅÇ ´ëÈ»óÀÚ(tabbed dialogs)³ª µ¿ÀûÀÎ ´ëÈ»óÀÚ¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½ºÀÌ´Ù. ¿©·¯ ÀåÀÇ Ä«µå°¡ ÀÖÀ¸³ª º¸ÀÌ´Â Ä«µå´Â Çϳª¸¸ ÀÖ´Ù´Â °³³ä¿¡¼ ³ª¿Â À̸§ÀÌ´Ù. add ¸Þ¼Òµå¸¦ ½ÇÇàÇÒ ¶§ °¢ Ä«µå¸¦ ½Äº°ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¿À» ÁöÁ¤ÇØ¾ß ÇÏ°í, ³ªÁß¿¡ show ¸Þ¼Òµå¿¡ ÀÌ ¹®ÀÚ¿À» ÀÎÀÚ·Î Á༠ÇØ´ç Ä«µå°¡ º¸ÀÌ°Ô ÇÒ ¼ö ÀÖ´Ù. first(), last(), next(), previous() µîÀÇ µµ±¸¸¦ »ç¿ëÇÏ¿© Ä«µå °£¿¡ ¼øÂ÷ÀûÀ¸·Î À̵¿ÇÒ ¼öµµ ÀÖ´Ù. »ç¿ë ¹æ¹ýÀº ´ÙÀ½ ¿¹Á¦¸¦ Âü°íÇÑ´Ù. ¿¹Á¦¿¡¼´Â °£´ÜÈ÷ Çϱâ À§ÇØ Ä«µå·Î ¹öÆ°À» »ç¿ëÇÏ°í ÀÖÀ¸³ª ½ÇÁ¦·Î´Â ¿©·¯ ÄÄÆÛ³ÍÆ®¸¦ Æ÷ÇÔÇÏ´Â ÆгÎÀ̳ª ±×·¡ÇÈ ¿ä¼Ò¸¦ ´ãÀº ĵ¹ö½º¿Í °°Àº °ÍÀÌ ÁÖ·Î »ç¿ëµÉ °ÍÀÌ´Ù.
6. ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì
´ÙÀ½ ¿¹Á¦¿¡¼ reshape(JDK 1.1¿¡¼´Â setBounds·Î À̸§ÀÌ º¯°æµÈ´Ù.) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© À§Ä¡¿Í Å©±â¸¦ Á÷Á¢ ÁöÁ¤ÇÏÁö ¾Ê°í ´Ü¼øÈ÷ add¸¸ ÇÏ¸é ½ÇÁ¦·Î´Â ¹öÆ°ÀÌ º¸ÀÌÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.
ÀÌ·¸°Ô ·¹À̾ƿô °ü¸®ÀÚ Å¬·¡½º°¡ ÁöÁ¤µÇÁö ¾ÊÀ» °æ¿ì(Áï null °ªÀ» ·¹À̾ƿô °ü¸®ÀÚ·Î ÁöÁ¤ÇÑ °æ¿ì), ÄÄÆÛ³ÍÆ®ÀÇ À§Ä¡¿Í Å©±â¸¦ Á¤È®ÇÏ°Ô ÁöÁ¤ÇÏ´Â °ÍÀº ÇÁ·Î±×·¡¸ÓÀÇ Ã¥ÀÓÀÌ µÇ°í, ÄÄÆÛ³ÍÆ®¸¦ Æ÷ÇÔÇÏ´Â ÄÁÅ×ÀÌ³Ê À©µµ¿ì°¡ Å©±â º¯°æ µîÀ¸·Î °»½ÅµÉ ¶§ ÇÏÀ§ ÄÄÆÛ³ÍÆ® À©µµ¿ìµéÀº Àç¹èÄ¡µÇÁö ¾Ê´Â´Ù. ´Ù½Ã Àç¹èÄ¡ÇÏ´Â °Í ¿ª½Ã ÇÁ·Î±×·¡¸ÓÀÇ Ã¥ÀÓÀÌ µÇ´Â °ÍÀÌ´Ù.
[Ãß°¡ ¿¹Á¤]
[Ãß°¡ ¿¹Á¤]