¥° ÀÚ¹Ù¿¡ Event ¿Í Listener°¡ ÀÖ´Â °Íó·³ podo¶óÀ̺귯¸®¿¡µµ °ÅÀÇ ºñ½ÁÇÑ °³³äÀÌ ÀÖ´Ù. Event¿Í Listener¿¡ ´ëÇÑ ¼³¸íÀº ÀÚ¹ÙÃ¥À» Âü°íÇϰí, ¿©±â¼­´Â ´Ù¸¥ °Í¸¸ ¼³¸íÇϰڴÙ.

 

1. ¸®½ºÅ͸¦ µî·Ï ÇÏ´Â ÇÔ¼ö

ÀÚ¹Ù¿¡¼­´Â add·Î »õ·Î¿î ListenerÀ» Ãß°¡ÇÏÁö¸¸, ¿©±â¼­´Â  setÀ¸·Î Ãß°¡ÇÑ´Ù. ±×¸®°í podo¶óÀ̺귯¸®ÀÇ addÇÔ¼ö ¾à°£ ¼ºÁúÀÌ ´Ù¸£´Ù. ±×Àü¿¡ ¾î¶² ListenerÀÌ ÀÖ´ÂÁö´Â share°è¿­ ÇÔ¼ö¸¦ ÅëÇØ¼­ ¾Ë ¼ö ÀÖ´Ù. (NullListener´Â Ç×»ó µé¾î ÀÖ´Ù.)

 ±×·¯¸é ±×Àü¿¡ ÀÖ´ø Listenerµµ »ç¿ë Çϰí, »õ·Î Ãß°¡ÇÑ Listenerµµ »ç¿ë ÇÏ°í ½Í´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î? ¹Ù·Î MacroListener ¶ó´Â °ÍÀ» »ç¿ëÇÏ¸é µÈ´Ù. GOFÃ¥¿¡¼­ MacroCommandŬ·¡½º¿Í °°Àº °³³äÀÌ´Ù.

<¿¹>

MouseListener¸¦ ¿¹·Îµé¸é,

MouseListener, MouseAdapter, MouseMacroListener, MouseThisListenerÀÇ Å¬·¡½º°¡ ÀÖ´Ù.

ÀüºÎ MouseListener¿Í °ü·ÃÀÖ´Ù. À§¿¡¼­ MouseThisListener´Â C++¾ð¾î°¡ °¡ºñÁö ÄÝ·º¼ÇÀÌ ¾ø±â ¶§¹®¿¡ »ý±ä ºÎ»ê¹°ÀÌ´Ù. ³ªÁß¿¡ ¼³¸í ÇϰڴÙ.

(1) ¸ÕÀú MouseListenerÀ» ±×Àü¿¡ µé¾î ÀÖ´ø °Í°ú ¹Ù²Ù±â

Component comp;

class MyMouseListener:public MouseAdapter{...}

comp.setMouseListener(new MyMouseListener);

ÀÚ¹Ù¶û °ÅÀÇ °°´Ù. ±âÁ¸¿¡ µé¾î ÀÖ´ø ¸¶¿ì½º Listener°ú ¹Ù²Û´Ù. new·Î »ý¼ºµÈ °´Ã¼¸¦ Áý¾î³ÖÀ¸¸é Component³»ºÎ¿¡¼­ ÀÚµ¿À¸·Î ¸Þ¸ð¸®°¡ ÇØÁ¦µÈ´Ù.

(2) ´ÙÀ½Àº ±âÁ¸¿¡ ÀÖ´ø Listener¿¡ ¶Ç´Ù¸¥ ListenerÁý¾î ³Ö±â

class AddMouseListener:public MouseAdapter{...}

comp.setMouseListener(new MouseMacroListener(comp.shareMouseListener(), new AddMouseListener));

ÇÏÁö¸¸ À§ÀÇ ¿¹Á¦´Â ¾Æ·¡°Í¿¡ ºñÇØ Á» º¹ÀâÇÏ´Ù. À̰ÍÀ» ´Ü¼øÈ­ Çϱâ À§Çؼ­ addMouseListenerÀ̶õ °ÍÀ» »ç¿ëÇÏ°í ±â´ÉÀº °°´Ù.

class AddMouseListener:public MouseAdapter{...}

comp.addMouseListener( new AddMouseListener);

 

[TIP] Listener´Â 2°¡Áö °è¿­ÀÌ ÀÖ´Ù. ù ¹øÂ°´Â Sequence°¡ °¡´ÉÇÑ Listener°¡ ÀÖ°í, µÎ ¹øÂ°´Â (À̺¥Æ® ÇÑ °³¿¡ ÇÑ °³ÀÇ Listerner¸¸ µî·ÏÀÌ °¡´ÉÇÑ) Sequence°¡ ºÒ°¡´ÉÇÑ ListernerÀÌ´Ù.  Sequence°¡ °¡´ÉÇÑ Listener´Â À§ ¿¹Á¦¿¡¼­ MouseListener°°Àº °ÍÀ̰í, SequenceºÒ°¡´ÉÇÑ °ÍÀº MacroListener°¡ ºüÁø °ÍÀ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù.

 

 

 

 

 

 

 

 

 

 

Korean Language

 

 

 

 

ÀÚ¹Ù¿¡ º¸¸é Event ¿Í ListenerÀÌ ÀÖ´Â °Íó·³ podo¶óÀ̺귯¸®¿¡µµ °ÅÀÇ ºñ½ÁÇÑ °³³äÀÌ ÀÖ½À´Ï´Ù. ¼³¸íÀº ÀÚ¹ÙÃ¥À» º¸°í Âü°í ÇϽðí¿ä. ´Ù¸¥ ºÎºÐ¸¸ ¼³¸í ÇϰڽÀ´Ï´Ù.

 

ÀÚ¹Ù¿Í ´Ù¸¥ Á¡Àº ¸®½ºÅ͸¦ µî·Ï ÇÏ´Â ÇÔ¼ö¿¡¼­ Â÷À̳³´Ï´Ù.. ÀÚ¹Ù¿¡¼­ add·Î »õ·Î¿î ListenerÀ» Ãß°¡ÇÏ¸é ¸®½º³Ê°¡ Ãß°¡ µÇÁÒ .  podo¶óÀ̺귯¸®¿¡¼­´Â set·Î ±×Àü¿¡ ÀÖ´ø Listener¿Í ±³Ã¼¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×Àü¿¡ ¾î¶² ListenerÀÌ ÀÖ´ÂÁö´Â ¾Ë ¼ö ¾ø½À´Ï´Ù.. ±×Àü¿¡ Ưº°È÷ Ãß°¡ ÇÑ°Ô ¾ø´õ¶ó°í ÇÏ´õ¶óµµ  NullListenerÀÌ¶óµµ µé¾î ÀÖ½À´Ï´Ù.

 ±×·¯¸é ±×Àü¿¡ ÀÖ´ø Listenerµµ »ç¿ë Çϰí Áö±Ý Ãß°¡ ÇÑ Listenerµµ »ç¿ë ÇÏ°í ½Í´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä.. ±×·² °æ¿ì¿¡ »ç¿ë ÇÏ·Á°í  MacroListener ¶ó´Â °ÍÀÌ ¸¶·Ã µÇ¾î ÀÖ½À´Ï´Ù. GOFÃ¥¿¡¼­ MacroCommand±â´ÉÀ» Çϴ Ŭ·¡½º¶ó°í³ª ÇÒ ±î¿ä..

¼³¸íÀº ÀÌ·¸°Ô ´ëÃæ ÇÏ°í ¿¹Á¦¸¦  º¸¿© ÁÖ°Ú½À´Ï´Ù. MouseListener°¡Áö°í ÇÕ´Ï´Ù. ¾î¶»°Ô ±¸Çö ÇÏ´Â Áö ÇÑ ¹ø º¸½Ã±â ¹Ù¶ø´Ï´Ù.

MouseListener, MouseAdapter, MouseMacroListener, MouseThisListener

ÀüºÎ MouseListenerÀÔ´Ï´Ù.  Àú±â¿¡ º¸¸é MouseThisListenerÀ̶ó´Â °ÍÀÌ Àú°ÍÀº C++¾ð¾î°¡ °¡ºñÁö ÄÝ·º¼ÇÀÌ ¾ø±â ¶§¹®¿¡ »ý±ä ºÎ»ê ¹°À̶ó°í »ý°¢ ÇÏ½Ã¸é µË´Ï´Ù. ³ªÁß¿¡ ¼³¸í ÇϰڽÀ´Ï´Ù.

¸ÕÀú MouseListenerÀ» ±×Àü¿¡ µé¾î ÀÖ´ø °Í°ú ¹Ù²Ù±â

Component comp;

class MyMouseListener:public MouseAdapter{...}

comp.setMouseListener(new MyMouseListener);

ÀÚ¹Ù¶û °ÅÀÇ ¶È°°ÁÒ... ±âÁ¸¿¡ µé¾î ÀÖ´ø ¸¶¿ì½º Listener°ú ¹Ù²Û ´Ù´Â °Ì´Ï´Ù.. new·Î »ý¼ºµÈ °´Ã¼¸¦ Áý¾î³Ö´Âµ¥ Àú±â¿£ Component³»ºÎ¿¡¼­ ÀÚµ¿À¸·Î ¸Þ¸ð¸® ÇØÁ¦°¡ ÀÏ¾î ³³´Ï´Ù.

´ÙÀ½Àº ±âÁ¸¿¡ ÀÖ´ø Listener¿¡ ¶Ç´Ù¸¥ ListenerÁý¾î ³Ö±â

class AddMouseListener:public MouseAdapter{...}

comp.setMouseListener(new MouseMacroListener(comp.shareMouseListener(), new AddMouseListener));

Á» º¹ÀâÁÒ... Àú°É ´Ü¼øÈ­ Çϱâ À§Çؼ­ addMouseListenerÀ̶õ °ÍÀÌ Á¸Àç ÇÕ´Ï´Ù.

class AddMouseListener:public MouseAdapter{...}

comp.addMouseListener( new AddMouseListener);

ÀúÀ§ ¿¡ ÀÖ´ø ¿¹Á¦¶û ¶È°°Àº ±â´ÉÀ» ÇÕ´Ï´Ù.

 Listener´Â 2°¡Áö °è¿­ÀÌ ÀÖ½À´Ï´Ù.. ù ¹ø °´Â ¿¬¼Ó ÀûÀÎ Sequence°¡ °¡´ÉÇÑ Listener°¡ ÀÖ´Â ¹Ý¸é¿¡ , µÎ ¹ø °·Î À̺¥Æ® Çϳª¿¡ Çϳª¹Û¿¡ µî·ÏÀÌ ºÒ°¡´É ÇÑ SequenceºÒ°¡´É Listener ÀÌ ÀÖ½À´Ï´Ù.  Sequence°¡ °¡´ÉÇÑ ListenerÀº Áö±Ý ±îÁö ¼³¸íÇÑ ListenerÀ̰í SequenceºÒ°¡´É ÇÏ´Ù´Â °ÍÀº MacroListenerÀ̶õ °ÍÀÌ ¾ø´Â °ÍÀ̶ó°í »ý°¢ ÇÏ½Ã¸é µË´Ï´Ù..