Java Layout Manager

[ Last update:   March 8, 2003. ]

 

¹öÆ°À̳ª ½ºÅ©·Ñ¹Ù µî GUI ºÎÇ°À» È­¸é¿¡ ¹èÄ¡Çϱâ À§Çؼ­´Â, JavaÀÇ Layout Manager °¡ ´ã´çÇÑ´Ù. ·¹À̾ƿô ¸Å´ÏÁ®¸¦ Ưº°È÷ ÁöÁ¤ÇÏÁö ¾ÊÀº °æ¿ì´Â FlowLayout ¸Å´ÏÁ®°¡ »ç¿ëµÈ´Ù. ¸Å´ÏÁ®¿¡´Â Ç¥1¿¡ ³ªÅ¸³½ Á¾·ùµéÀÌ ÁغñµÇ¾î ÀÖ´Ù.

Ç¥1 Layout ManagerÀÇ Á¾·ù
Manager±â´É
FlowLayout ºÎÇ°À» ÀåÂøÇÏ´Â ¼øÀ¸·Î ÀÏ·Ä·Î ¹èÄ¡ÇÑ´Ù.£¨Default£©
BorderLayout ºÎÇ°À» »óÇÏ, Á¿ì, Áß¾Ó¿¡ ¹èÄ¡
GridLayout ºÎÇ°À» ŸÀÏ »óÅ·Πǥ¾È¿¡ ¹èÄ¡
GridBagLayout ´Ù¸¥ Å©±â¸¦ °¡Áö´Â ºÎÇ°À» ŸÀÏ »óÅ·Π¹èÄ¡
CradLayout ºÎÇ°À» Ä«µå ¸ð¾çÀ¸·Î ¼ø¼­´ë·Î ¹èÄ¡
 

 ¡Ü BorderLayout ¸Å´ÏÁ® »ç¿ë ¿¹

ºÎÇ°ÀÇ ÀåÂø À§Ä¡°¡ À§¿¡ ÀÖ´Â °æ¿ì´Â"North", ¹Ø¿¡ À§Ä¡ÇÑ °æ¿ì´Â "South", ¿À¸¥ÂÊÀº "East", ¿ÞÆíÀº "West", Áß¾ÓÀ» "Center"·Î ÁöÁ¤ÇÏ´Â ¹æ½Ä. ·¹À̾ƿôÀº init ¸Þ¼Òµå·Î ÇàÇÑ´Ù. ¿¹¸¦ µé¸é,

public void init(){ setLayout(new BorderLayout()); scr = new Scrollbar(Scrollbar.HORIZONTAL,40,10,0,100); add(scr, "South"); // ½ºÅ©·Ñ¹Ù¸¦ ¹ØÂÊ¿¡ ¹èÄ¡ scr.setUnitIncrement(2); // ÁÂ¿ì ¹æÇâ¹öÆ°À» ´­·¶À» ¶§ÀÇ ÁõºÐ (»ý·«Çϸé 1·Î)   scr.setBlockIncrement(20); // ½½¶óÀÌ´õºÎ¸¦ ´­·¶À» ¶§ÀÇ ÁõºÐ (»ý·«Àº 10) scr.addAdjustIncrement(this); // }

 ¡Ü GridLayout ¸Å´ÏÁ® »ç¿ë ¿¹

ŸÀÏ ¸ð¾çÀ¸·Î, ÀüºÎ °°Àº Å©±âÀÇ ºÎÇ°À» °ÝÀÚ¸ð¾çÀ¸·Î ¹èÄ¡ÇÏ´Â °ÍÀÌ GridLayoutÀÌ´Ù. GridRayout(Çà¼ö, ¿­¼ö, hgap, vgap). ¿©±â¼­, Çà¼ö´Â »óÇϹæÇâÀ¸·Î ³ª¿­ÇÏ´Â ºÎÇ°ÀÇ ¼ö, ¿­¼ö´Â ½ºÆò¹æÇâÀ¸·Î ³ª¿­ÇÏ´Â ºÎÇ°¼ö, hgapÀº ¼öÆò¹æÇâÀÇ ºÎÇ°°£ÀÇ °£°Ý, vgap´Â ¼öÁ÷¹æÇâÀÇ °£°ÝÀÇ Å©±â (pixel´ÜÀ§)ÀÌ´Ù. ¿¹¸¦ µé¾î, ÀåÂøºÎÇ°¼ö°¡ Çϳª¹Û¿¡ ¾ø´Â °æ¿ì´Â, Çà¼ö´Â ÁöÁ¤ÇÑ °ª¿¡¼­ 1À» »« ³ôÀÌ¿¡ ÇØ´çÇÏ´Â °ø¹éÀÌ ¾Æ·¡ÂÊ¿¡ ¼³Á¤µÇ°í, ÀÌ ºÎºÐÀº ±×¸²ÀÌ Ç¥½ÃµÈ´Ù.

public void init(){

   setLayout(new GridLayout(10,1,2,2)); // 10Çà, 1¿­·Î ¹èÄ¡(¾Æ·¡ 9ÇàºÐÀº ±×¸²À» Ç¥½Ã)

   scr = new Scrollbar(Scrollbar.HORIZONTAL,40,10,0,100);

   add(scr); // ½ºÅ©·Ñ¹Ù¸¦ ÃÖ»ó´Ü¿¡ ¹èÄ¡ ?????

}

 ¡Ü Pannel »ç¿ë ¿¹

¸î °³ÀÇ ºÎÇ°À» ÇϳªÀÇ ±×·ìÀ¸·Î ¹­¾î¼­ ¾Æ·¡ÂÊ ¾Æ´Ï¸é ¿À¸¥Æí¿¡ ¹èÄ¡ÇÏ°í ½ÍÀ» ¶§´Â, ÇϳªÀÇ ±×·ìÀ» ÆгηΠÁ¤¸®ÇÏ°í ÀÌ°ÍÀ» BorderLayout¿¡¼­ È­¸é¿¡ ¹èÄ¡.

public void init(){

  setLayout(new BorderLayout()); // ºÎÇ°ÀÇ È­¸é¹èÄ¡´Â BorderLayout

  Panel p=new Panel(); // ÆгΠ°´Ã¼ »ý¼º

  p.setLayout(new GridLayout(3,2,2,2)); // 3Çà, 2¿­ÀÇ GridLayoutÀÇ ÆгΠÀÛ¼º

  scrA = new Scrollbar(Scrollbar.HORIZONTAL,40,10,0,100); // ºÎÇ°Àº 3°³

  scrB = new Scrollbar(Scrollbar.HORIZONTAL,40,10,0,100);

  scrC = new Scrollbar(Scrollbar.HORIZONTAL,40,10,0,100);

  p.add(new Label(" case A ")); // ½ºÅ©·Ñ¹Ù ¿ÞÆí¿¡ ¶óº§À» ¸¸µç´Ù

  p.add(scrA); // ½ºÅ©·Ñ¹Ù scrA¸¦ ÆгΠÃÖ»ó´Ü¿¡ ¹èÄ¡

  p.add(new Label(" case B ")); p.add(scrB);

  p.add(new Label(" case C ")); p.add(scrC);

  add(p,"North"); // ÆгÎÀ» È­¸é »ó´Ü¿¡ ¹èÄ¡ ....

}

 

   GridBagLayout ¹× CardLayout¿¡ ´ëÇؼ­´Â »ý·«.