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¿¡ ´ëÇØ¼­´Â »ý·«.