½ÃÀÛÇϱâ Àü¿¡ ¸¦ ¿Ï·áÇϽʽÿÀ.
ÀÌ ¿¬½À¿¡¼´Â Java Visual Editor¸¦ »ç¿ëÇÏ¿© JScrollPane ¹× JTableÀ» ÀÀ¿ëÇÁ·Î±×·¥¿¡ Ãß°¡ÇÕ´Ï´Ù.
Â÷ÈÄ ¿¬½À¿¡¼´Â ȸ»ç µð·ºÅ丮ÀÇ ¸ðµç Á÷¿ø ¸ñ·ÏÀ» ¸®ÅÏÇÏ´Â À¥ ¼ºñ½º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °¡Á®¿Àµµ·Ï
JTableÀ» ÇÁ·Î±×·¥ÇÕ´Ï´Ù. JTableÀ» Ãß°¡ÇÑ ÈÄ¿¡´Â Java Visual EditorÀÇ µðÀÚÀÎ º¸±â¸¦ »ç¿ëÇÏ¿©
´ÙÀ½ ½ºÆå°ú ÀÏÄ¡Çϵµ·Ï JTableÀÇ ·¹À̾ƿôÀ» »ç¿ëÀÚ Á¤ÀÇÇÕ´Ï´Ù.
- °¡·Î·Î ¼¼ °³ÀÇ ¼¿°ú ¼¼·Î·Î µÎ °³ÀÇ ¼¿¿¡ JTableÀÌ ³õÀ̵µ·Ï ÇϽʽÿÀ.
- ¿ÞÂÊ¿¡ 15Çȼ¿ÀÇ »ðÀÔÀ» Ãß°¡ÇϽʽÿÀ.
- JTableÀÇ À̸§À» employeesTable·Î ¹Ù²Ù½Ê½Ã¿À.
Java Visual Editor¿¡¼ DirectoryApp.java ÆÄÀÏ ¿±â
Java Visual Editor¿¡¼ DirectoryApp.java ÆÄÀÏÀ» ¿·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- Java PerspectiveÀÇ ÆÐŰÁö Ž»ö±â º¸±â¿¡¼ MyDirectory ÇÁ·ÎÁ§Æ®¿Í
directory.client ÆÐŰÁö¸¦ ÆîÄ¡½Ê½Ã¿À.
- DirectoryApp.java ÆÄÀÏÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ÇÑ ÈÄ ¿¬°á ÇÁ·Î±×·¥ > Visual Editor¸¦
¼±ÅÃÇϽʽÿÀ. Java Visual Editor´Â Java Ŭ·¡½º¸¦ ·ÎµåÇÏ°í µðÀÚÀÎÀ» ±×·¡ÇÈ Äµ¹ö½º ¿µ¿ª¿¡ Ç¥½ÃÇÕ´Ï´Ù.
ȯ°æ ¼³Á¤:
- Java Visual Editor¿¡¼ »ç¿ëµÇ´Â ·è¾ØÇÊÀ» º¯°æÇÏ·Á¸é â
> ȯ°æ ¼³Á¤ > Java > Visual Editor·Î À̵¿ÇÏ¿© Swing ·è¾ØÇÊ(¸ð¾ç)À» ÁöÁ¤ÇϽʽÿÀ.
ȯ°æ ¼³Á¤Àº ´ÙÀ½ Ŭ·¡½º¸¦ ¿ ¶§ Àû¿ëµË´Ï´Ù. ÀÌ ÇнÀ¼¿¡¼´Â Windows ·è¾ØÇÊÀ» »ç¿ëÇÕ´Ï´Ù.
- Visual Editor¸¦ ¸ðµç Java ÆÄÀÏÀÇ ±âº» ÆíÁý±â·Î ¸¸µé·Á¸é
â > ȯ°æ ¼³Á¤À» Ŭ¸¯ÇÑ ÈÄ Workbench > ÆÄÀÏ ¿¬°ü ÆäÀÌÁö·Î À̵¿ÇÏ¿©
ȯ°æ ¼³Á¤À» Á¤ÀÇÇϽʽÿÀ.
JScrollPane¿¡ JTable Ãß°¡
DirectoryApp.javaÀÇ ±âº» âÀº JPanelÀÌ ÀÖ´Â JFrameÀ» ±âº» ÄÁÅÙÃ÷ ºÐÇÒâÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ¿©±â¼ ÀÛ¼ºÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ JPanelÀÇ À̸§Àº jContentPaneÀÔ´Ï´Ù. jContentPaneÀº GridBagLayoutÀ̶ó°í ÇÏ´Â ·¹À̾ƿô °ü¸®ÀÚ À¯ÇüÀ» »ç¿ëÇϵµ·Ï ¼³Á¤µÇ¾ú½À´Ï´Ù. GridBagLayoutÀº ºñÁÖ¾ó ±¸¼º¿ä¼Ò°¡ Á¡À¯ÇÒ ¼ö ÀÖ´Â ¼¿ÀÇ ´«±Ý¿¡ ±â¹ÝÇÑ °·ÂÇÑ ·¹À̾ƿô ü°èÀÔ´Ï´Ù. Java Visual Editor´Â ´«±Ý °æ°è¸¦ Ç¥½ÃÇÏ¿© GridBagLayout¿¡¼ÀÇ ÀÛ¾÷À» ½±°Ô ÇØÁÝ´Ï´Ù. ¶ÇÇÑ »õ ±¸¼º¿ä¼Ò¸¦ ´«±Ý¿¡ ³õÀ» ¶§ À§Ä¡ ¸¶Ä¿¸¦ Ç¥½ÃÇϸç Å©±â¸¦ Á¶Á¤Çϰųª GridBagLayout¿¡¼ À̵¿ ÁßÀÎ ±¸¼º¿ä¼Ò¿¡ ÇÚµéÀ» Ç¥½ÃÇÕ´Ï´Ù.
Á÷¿ø Å×À̺í(javax.swing.JTable)À» DirectoryApp.java »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡
Ãß°¡ÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- µðÀÚÀÎ º¸±â ¶Ç´Â Java Bean º¸±â¿¡¼ jContentPaneÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯Çϰí
´«±Ý Ç¥½Ã¸¦ ¼±ÅÃÇϽʽÿÀ. »¡°£»ö Á¡¼±Àº ´«±Ý °æ°è¸¦ Ç¥½ÃÇÏ¸ç ÆÄ¶õ»öÀÇ ¹øÈ£°¡ ÀÖ´Â ¿øÀº Çà ¹× ¿ ¹øÈ£¸¦ Ç¥½ÃÇÕ´Ï´Ù. ¿¹¸¦ µé¾î »õ·Î ÀÛ¼º ´ÜÃß´Â Çà 1(´«±Ý y)°ú ¿ 3(´«±Ý x)ÀÇ ¼¿À» Â÷ÁöÇÕ´Ï´Ù.

- Java Visual Editor ÆÈ·¹Æ®¿¡¼ JScrollPaneÀÇ JTable
Swing ±¸¼º¿ä¼Ò¸¦ ¼±ÅÃÇϽʽÿÀ. ÀÌ ±¸¼º¿ä¼Ò´Â ÆÈ·¹Æ®ÀÇ
Swing ±¸¼º¿ä¼Ò µå·Î¾î¿¡ ºÐ·ùµÇ¾î ÀÖ½À´Ï´Ù.
ÆÁ: ±âº»ÀûÀ¸·Î ÆÈ·¹Æ®´Â µðÀÚÀÎ ¿µ¿ªÀÇ ¿À¸¥ÂÊ¿¡ Á¢Çô ÀÖ½À´Ï´Ù. ÆÈ·¹Æ®ÀÇ Å©±â¸¦ Á¶Á¤Çϰí À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù.
- ¸¶¿ì½º Æ÷ÀÎÅ͸¦ ¿ 0, Çà 1¿¡ ÀÖ´Â ´«±ÝÀÇ ¼¿ À§·Î À̵¿ÇϽʽÿÀ.

- ´«±Ý À§¿¡¼ Æ÷ÀÎÅ͸¦ À̵¿ÇÏ¸é ¸¶¿ì½º Æ÷ÀÎÅÍ´Â
Æ÷ÀÎÅÍÀÇ À§Ä¡¿¡ µû¶ó ´«±ÝÀÇ x¿Í y ÁÂÇ¥¸¦ ¾Ë·ÁÁÖ´Â
µÎ °³ÀÇ ¹øÈ£°¡ ÀÖ´Â »ç°¢ÇüÀ» Ç¥½ÃÇÕ´Ï´Ù.
- ¸¶¿ì½º Æ÷ÀÎÅ͸¦ ´«±Ý °æ°è ¹Ù·Î À§·Î °¡Á®°¡¸é »õ·Î¿î Çà°ú ¿ÀÌ
ÀÛ¼ºµÉ ¼ö ÀÖÀ¸¸ç ±âÁ¸ Çà°ú ¿¿¡´Â ¹øÈ£°¡
ÀçÁöÁ¤µË´Ï´Ù. ÀÌ °æ¿ì ¸¶¿ì½º Æ÷ÀÎÅÍÀÇ ³ë¶õ»ö »ç°¢Çü, ´«±Ý »çÀÌÀÇ ³ë¶õ»ö
¸·´ë ¹× ³ë¶õ»ö ¿°ú Çà ·¹À̺íÀÌ ÀÌ·¯ÇÑ ÀÛµ¿À» Ç¥½ÃÇϸç,
ÀÌ·¯ÇÑ ¹èÄ¡°¡ °®°Ô µÇ´Â ¿µÇâÀ» ÁöÀûÇØ ÁÝ´Ï´Ù.
- ¿ÞÂÊ ¸¶¿ì½º ´ÜÃ߸¦ Ŭ¸¯ÇÏ¿© JScrollPane ¹× JTableÀ»
¿ 0 ¹× Çà 1¿¡ ÀÖ´Â ¼¿¿¡ ³õÀ¸½Ê½Ã¿À.

JScrollPane ¹× JTableÀ» ´«±ÝÀÇ ¿©·¯ Çà°ú ¿·Î ´Ã¸®±â
ÀÌÁ¦ ´õ ³ªÀº °£°Ý°ú Å©±â Á¶Á¤À» À§ÇØ JScrollPane(¹× ÇØ´çµÇ´Â ÇÏÀ§ JTable)À» ¼¼ °³ÀÇ ¿°ú µÎ °³ÀÇ ÇàÀ¸·Î ´Ã·Áº¸°Ú½À´Ï´Ù. Å×À̺íÀ» ¿ ¹× ÇàÀ¸·Î ´Ã¸®·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- µðÀÚÀÎ ¿µ¿ªÀ̳ª Java Bean º¸±â¿¡¼ JScrollPaneÀ» ¼±ÅÃÇϽʽÿÀ. (¹æ±Ý Ãß°¡ÇßÀ¸¹Ç·Î °è¼Ó ¼±ÅõǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù.) JScrollPaneÀÇ
¿À¸¥Âʰú ¸Ç ¾Æ·¡¿¡ ÀÖ´Â ÀÛÀº ÃÊ·Ï»ö »ç°¢ÇüÀ» º¸½Ê½Ã¿À. ÀÌ Å©±â Á¶Á¤ ÇÚµéÀ» »ç¿ëÇÏ¿© JScrollPaneÀ» ²ø¾î ¿©·¯ ¿°ú ÇàÀ¸·Î ´Ã·Áº¸½Ê½Ã¿À.
- JScrollPaneÀÇ ¿À¸¥ÂÊ¿¡ ÀÖ´Â ³ì»ö ÇÚµéÀ» ¿ÞÂÊ ¸¶¿ì½º ´ÜÃ߷ΠŬ¸¯ÇÏ°í °è½Ê½Ã¿À.
- À§Ä¡°¡ ¿ 2, Çà 1À» Ç¥½ÃÇÒ ¶§±îÁö ¸¶¿ì½º Æ÷ÀÎÅ͸¦ ¿À¸¥ÂÊÀ¸·Î ²ô½Ê½Ã¿À.
¸¶¿ì½º ´ÜÃ߸¦ ³õÀ¸¸é £Àº ȸ»ö À½¿µÀÌ Ç¥½ÃµÇ°í ±¸¼º¿ä¼Ò°¡ Á¡À¯ÇÏ´Â ¼¿ÀÌ Ç¥½ÃµË´Ï´Ù.

- ¸¶¿ì½º ´ÜÃ߸¦ ³õÀ¸½Ê½Ã¿À. ÀÌÁ¦ JScrollPaneÀº ¼¼ °³ ¿·Î ´Ã¾î³µ½À´Ï´Ù.
- À¯»çÇÑ ÇÁ·Î¼¼½º¸¦ ¹Ýº¹ÇÏ¿© JScrollPaneÀÌ µÎ °³ ÇàÀ¸·Î È®´ëµÉ ¶§±îÁö JScrollPaneÀÇ ¸Ç ¾Æ·¡ ÇÚµéÀ» ²ô½Ê½Ã¿À.

´«±Ý »óÀÚ ³»¿¡¼ JScrollPaneÀÇ °£°ÝÀ» »ç¿ëÀÚ Á¤ÀÇÇϱâ
GridBagLayout °ü¸®ÀÚÀÇ ¶Ç ´Ù¸¥ ±â´ÉÀº ·¹À̾ƿôÀ» Ãß°¡·Î »ç¿ëÀÚ Á¤ÀÇÇϱâ À§ÇÑ ¿©·¯ °¡Áö Á¦ÇÑÁ¶°ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ Á¦ÇÑÁ¶°ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
- ¾ÞÄ¿:
±¸¼º¿ä¼Ò¿¡ ¼¿ ³»¿¡¼ÀÇ °íÁ¤ ¹æÇâÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ´Â »ç¿ëÀÚ°¡ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ Å©±â¸¦ Á¶Á¤ÇÒ ¶§ ±¸¼º¿ä¼ÒÀÇ À̵¿ ¹æ½Ä¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.
¿¹¸¦ µé¾î ±¸¼º¿ä¼Ò¸¦ ¸Ç À§ ¿ÞÂÊ, °¡¿îµ¥ ¿ÞÂÊ, °¡¿îµ¥ ¶Ç´Â ¸Ç ¾Æ·¡ ¿À¸¥ÂÊ¿¡ °íÁ¤½Ãų ¼ö ÀÖ½À´Ï´Ù.
- ä¿ì±â: ÀÚü ¼¿, ¶Ç´Â °¡·Î, ¼¼·Î ¶Ç´Â ¾ç ¹æÇâ ¼¿ ³»¿¡¼ »ç¿ë °¡´ÉÇÑ ¸ðµç °ø°£À» ä¿ìµµ·Ï ±¸¼º¿ä¼Ò¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
- »ðÀÔ: ±¸¼º¿ä¼Ò¿Í ´«±ÝÀÇ °¡ÀåÀÚ¸® »çÀÌ¿¡ °£°ÝÀ» µÎ±â À§ÇØ ±¸¼º¿ä¼ÒÀÇ ¸Ç À§, ¸Ç ¾Æ·¡, ¿ÞÂÊ ¹× ¿À¸¥ÂÊ¿¡ ÀÚüÀÇ Ã¤¿ò ¹®ÀÚ¸¦ ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù.
JScrollPane¿¡ ´ëÇÑ ¾ÞÄ¿, ä¿ì±â ¹× »ðÀÔÀ» »ç¿ëÀÚ Á¤ÀÇÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- µðÀÚÀÎ º¸±â ¶Ç´Â Java Bean º¸±â¿¡¼ JScrollPaneÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯Çϰí
·¹À̾ƿô »ç¿ëÀÚ Á¤ÀǸ¦ ¼±ÅÃÇϽʽÿÀ.

ÆÁ: ·¹À̾ƿô »ç¿ëÀÚ Á¤ÀÇ ´ëÈ »óÀÚ´Â ´Ù¸¥ ±¸¼º¿ä¼Ò¿¡ ´ëÇÑ ·¹À̾ƿôÀ» ¼±ÅÃÇÏ°í º¯°æÇÒ ¶§ ¿¸° »óÅ·Π³²°Ü µÑ ¼ö ÀÖ½À´Ï´Ù. ¾ðÁ¦µçÁö ¸Þ´º Ç¥½ÃÁÙ¿¡¼ ·¹À̾ƿô »ç¿ëÀÚ Á¤ÀÇ ´ÜÃ߸¦ Ŭ¸¯ÇÏ¿© ·¹À̾ƿô »ç¿ëÀÚ Á¤ÀÇ ´ëÈ »óÀÚ¸¦ ¿ ¼ö ÀÖ½À´Ï´Ù.

- ·¹À̾ƿô »ç¿ëÀÚ Á¤ÀÇ ´ëÈ »óÀÚÀÇ ±¸¼º¿ä¼Ò ÅÇ¿¡¼ ¾ÞÄ¿ °¡¿îµ¥ ´ÜÃß°¡ Ŭ¸¯µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.
- °¡·Î ä¿ì±â ¹× ¼¼·Î ä¿ì±â ´ÜÃß°¡ ¸ðµÎ Ŭ¸¯µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.
- ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ºñÁÖ¾ó ±¸¼º¿ä¼Ò¿Í À¯»çÇϵµ·Ï 15(Çȼ¿)ÀÇ ¿ÞÂÊ »ðÀÔÀ» Ãß°¡ÇÏ¿© JScrollPaneÀÇ ¿ÞÂÊ¿¡ °£°ÝÀ» µÎ½Ê½Ã¿À.

ÀÌÁ¦ Å×À̺íÀÌ ÇÊÅÍ ·¹ÀÌºí¿¡ ¸Â°Ô Á¤·ÄµË´Ï´Ù. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.

»õ JTableÀÇ À̸§À» À¯¿ëÇÑ °ªÀ¸·Î ¹Ù²Ù°í ´ÜÀÏ ÇàÀ» ¼±ÅÃÇϵµ·Ï ¼³Á¤Çϱâ
³ªÁß¿¡ Å×ÀÌºí¿¡ ´ëÇØ ÀÛ¾÷ÇÏ°Ô µÇ¹Ç·Î JTable ÀνºÅϽº ¹× ÇØ´çµÇ´Â getter ¸Þ¼ÒµåÀÇ À̸§À» º¯°æÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. Å×À̺íÀÇ À̸§À» ¹Ù²Ù·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- Java Beans º¸±â¿¡¼ JTableÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃ߷ΠŬ¸¯ÇÏ°í ÆË¾÷ ¸Þ´º¿¡¼ Çʵå À̸§ ¹Ù²Ù±â¸¦ ¼±ÅÃÇϽʽÿÀ.

- employeesTableÀ» ÀÔ·ÂÇϰí È®ÀÎÀ» Ŭ¸¯ÇϽʽÿÀ. ÀÌÁ¦ JTableÀÇ À̸§ÀÌ employeesTable·Î º¯°æµÇ¾ú°í À̸¦ ÀνºÅϽºÈÇÏ´Â ¸Þ¼Òµå´Â
getEmployeesTableÀÌ µË´Ï´Ù.
Å×À̺íÀÌ ÇϳªÀÇ Çุ ¼±ÅÃÇϵµ·Ï ¼³Á¤ÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.
- µðÀÚÀÎ º¸±â¿¡¼ employeesTableÀ» ¼±ÅÃÇϽʽÿÀ.
- Ư¼º º¸±â¿¡¼ selectionMode Ư¼ºÀ» ¼±ÅÃÇϰí À̸¦ SINGLE_SELECTIONÀ¸·Î ¼³Á¤ÇϽʽÿÀ.

- DirectoryApp.java ÆÄÀÏÀ» ÀúÀåÇϽʽÿÀ.
ÀÌÁ¦ À» ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.