JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.beans
Ŭ·¡½º EventHandler

java.lang.Object 
  |
  +--java.beans.EventHandler
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
InvocationHandler

public class EventHandler
extends Object
implements InvocationHandler

EventHandler Ŭ·¡½º´Â ¼ö½Å À̺¥Æ® ¿ÀºêÁ§Æ®¿Í Ÿ°Ù ¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÑ ´Ü¼øÇÑ ¹®ÀåÀ» ½ÇÇàÇÏ´Â ¸Þ¼Òµå¸¦ °¡Áö´Â À̺¥Æ® ûÃëÀÚÀÇ µ¿Àû »ý¼ºÀ» ¼­Æ÷Æ®ÇÕ´Ï´Ù.

EventHandler Ŭ·¡½º´Â °³¹ßÀÚ°¡ Bean °£ÀÇ Á¢¼ÓÀ» È®¸³Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â ¾ÆÇÁ¸®ÄÉÀ̼Ǻñ¸£´Ù¿Í °°Àº ´ëÈ­Çü Åø·Î »ç¿ëµË´Ï´Ù. Åë»ó, Á¢¼ÓÀº À¯Àú ÀÎÅÍÆäÀ̽º Bean (À̺¥Æ® ¼Ò½º)·ÎºÎÅÍ ¾îÇø®ÄÉÀÌ¼Ç ³í¸® Bean (Ÿ°Ù)¸¦ ÇâÇØ È®¸³µË´Ï´Ù. ±× Áß¿¡¼­µµ, À¯Àú ÀÎÅÍÆäÀ̽º·ÎºÎÅÍ ¾îÇø®ÄÉÀÌ¼Ç ³í¸®¸¦ °Ý¸®ÇÏ´Â °Í °°Àº Á¢¼ÓÀº ƯÈ÷ È¿°úÀûÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,JCheckBox ¿Í ºÒ¸®¾ð °ªÀ» ¹Þ¾ÆµéÀÌ´Â ¸Þ¼Òµå¸¦ Á¢¼ÓÇÏ´Â EventHandler ´Â üũ ¹Ú½º »óŸ¦ ÃßÃâÇØ, À̰ÍÀ» Á÷Á¢ ¸Þ¼Òµå¿¡ °Ç³×ÁÖ´Â °Í¿¡ ÀÇÇØ, ¸Þ¼Òµå¸¦ À¯Àú ÀÎÅÍÆäÀ̽ºÃþÀ¸·ÎºÎÅÍ °Ý¸®ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

À¯Àú ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÑ À̺¥Æ®ÀÇ Ã³¸® ¹æ¹ýÀ¸·Î¼­ º¸´Ù ÀϹÝÀûÀÎ °ÍÀº ³»ºÎ Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. EventHandler Ŭ·¡½º¿¡¼­ ó¸®ÇÒ ¼ö ÀÖ´Â °ÍÀº ³»ºÎ Ŭ·¡½º¿¡¼­ ó¸®ÇÒ ¼ö ÀÖ´Â À̺¥Æ®ÀÇ ºÎºÐÁýÇÕ¿¡ Áö³ªÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, Àå±â Áö¼Ó schema¿¡¼­´Â ³»ºÎ Ŭ·¡½ºº¸´Ù EventHandler ÂÊÀÌ ¿ì¼öÇÕ´Ï´Ù. ¶Ç, °°Àº ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖ´Â ´ë±Ô¸ð ¾îÇø®ÄÉÀ̼ÇÀ¸·Î EventHandler ¸¦ ¹Ýº¹ÇØ ÀÌ¿ëÇϸé, µð½ºÅ©³ª ¾îÇø®ÄÉÀ̼ÇÀÇ ¸Þ¸ð¸® ¹ßÀÚ±¹À» »è°¨ÇÒ ¼ö ÀÖ½À´Ï´Ù.

EventHandler ·Î ÀÛ¼ºµÈ ûÃëÀÚÀÇ ¹ßÀÚ±¹ÀÌ ÀÛÀº °ÍÀº ÀÌ Å¬·¡½ºÀÇ ÀÇÁ¸Ã³ÀÇ Proxy Ŭ·¡½º°¡ °°Àº ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» °øÀ¯Çϰí Àֱ⠶§¹®ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,EventHandler create ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¾îÇø®ÄÉÀ̼dz»ÀÇ ¸ðµç ActionListener ¸¦ ÀÛ¼ºÇÏ´Â °æ¿ì, ¸ðµç ¾×¼Ç ûÃëÀÚ´Â ´ÜÀÏÀÇ Å¬·¡½º (Proxy Ŭ·¡½º¿¡ ÀÇÇØ »ý¼ºµÈ Ŭ·¡½º)ÀÇ ÀνºÅϽº°¡ µË´Ï´Ù. Åë»ó,Proxy Ŭ·¡½ºÀÇ Ã»ÃëÀÚ¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ¡¸Ã»ÃëÀÚ Å¸ÀÔ¡¹(ÀÎÅÍÆäÀ̽º) ¸¶´Ù ûÃëÀÚ Å¬·¡½º¸¦ 1 °³¾¿ ÀÛ¼ºÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯³ª, ³»ºÎ Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡¼­´Â ûÃëÀÚ (ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®) ¸¶´Ù Ŭ·¡½º¸¦ 1 °³¾¿ ÀÛ¼ºÇÏ´Â °Í¸¸À¸·Î ³¡³³´Ï´Ù.

Åë»ó,EventHandler ÀÇ ÀνºÅϽº¸¦ Á÷Á¢ Ãë±ÞÇÒ °ÍÀº ¾ø½À´Ï´Ù. ±× ´ë½Å¿¡,EventHandler ÀÇ create ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ûÃëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ Ã»ÃëÀÚ ¿ÀºêÁ§Æ®´Â ³»ºÎ¿¡¼­ EventHandler ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇØ, À̺¥Æ®¿¡ °üÇÑ Á¤º¸, À̺¥Æ® ¹ß»ý½Ã¿¡ ¸Þ¼¼Áö°¡ ¼Û½ÅµÇ´Â ¿ÀºêÁ§Æ®, ¼Û½ÅµÇ´Â ¸Þ¼¼Áö (¸Þ¼Òµå), ¸Þ¼ÒµåÀÇ Àμö¸¦ ĸ½¶È­ÇÕ´Ï´Ù. ÀÌÇÏ¿¡¼­´Â ¿¹¸¦ »ç¿ëÇØ,create ¸Þ¼Òµå¿¡ ÀÇÇÑ Ã»ÃëÀÚ ¿ÀºêÁ§Æ®ÀÇ ÀÛ¼º ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

À̺¥Æ® Çڵ鷯ÀÇ »ç¿ë¿¹

Ÿ°Ù ¿ÀºêÁ§Æ®»óÀÇ ¸Þ¼Òµå¸¦ Àμö¾øÀÌ È£ÃâÇϴ ûÃëÀÚ¸¦ ÀνºÅç ÇÑ´Ù´Â °ÍÀÌ, °¡Àå ´Ü¼øÇÑ EventHandler ÀÇ ÀÌ¿ë ¹æ¹ýÀÔ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¿¡¼­´Â javax.swing.JFrame ÀÇ ÀνºÅϽº»óÀÇ toFront ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â ActionListener ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
myButton.addActionListener(
    (ActionListener) EventHandler.create(ActionListener.class, frame, "toFront"));
myButton ¸¦ ´©¸£¸é(ÀÚ),frame.toFront() ¹®ÀÌ ½ÇÇàµË´Ï´Ù. ÄÄÆÄÀϽÃÀÇ ÇüÅ ÇÁ·ÎÅØ¼ÇÀ» Ãß°¡Çصµ, °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡´Â ActionListener ÀÎÅÍÆäÀ̽ºÀÇ »õ·Î¿î ±¸ÇöÀ» Á¤ÀÇÇØ, ±× ÀνºÅϽº¸¦ ¹öư¿¡ Ãß°¡ÇÕ´Ï´Ù.
 //Equivalent code using an inner class instead of EventHandler.
myButton.addActionListener(new ActionListener {
    public void actionPerformed(ActionEvent e) {
        frame.toFront();
    }
});
´ÙÀ½¿¡ ´Ü¼øÇÑ ÀÌ¿ë ¹æ¹ýÀ¸·Î¼­ ûÃëÀÚ ÀÎÅÍÆäÀ̽º (Åë»óÀº À̺¥Æ® ¿ÀºêÁ§Æ®) ³»ÀÇ ¸Þ¼ÒµåÀÇ ÃÖÃÊÀÇ Àμö·ÎºÎÅÍ ÇÁ·ÎÆÛƼġ¸¦ ÃßÃâÇØ, À̰ÍÀ» »ç¿ëÇØ Ÿ°Ù ¿ÀºêÁ§Æ®³»ÀÇ ÇÁ·ÎÆÛƼġ¸¦ ¼³Á¤ÇÏ´Â ¿¹¸¦ ¼Ò°³ÇÕ´Ï´Ù. ÀÌ ¿¹¿¡¼­´Â Ÿ°Ù ¿ÀºêÁ§Æ®ÀÇ nextFocusableComponent ÇÁ·ÎÆÛƼ¸¦ À̺¥Æ®ÀÇ ¼Ò½º ÇÁ·ÎÆÛƼÀÇ °ªÀ¸·Î ¼³Á¤ÇÏ´Â ActionListener ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
EventHandler.create(ActionListener.class, target, "nextFocusableComponent", "source")
À̰ÍÀº ´ÙÀ½ÀÇ ³»ºÎ Ŭ·¡½º ±¸Çö¿¡ ´ëÀÀÇϰí ÀÖ½À´Ï´Ù.
 //Equivalent code using an inner class instead of EventHandler.
new ActionListener {
    public void actionPerformed(ActionEvent e) {
        button.setNextFocusableComponent((Component) e.getSource()); 
    }
}
À̺¥Æ® ¿ÀºêÁ§Æ®ÀÇ ¼Ò½º·ÎºÎÅÍ ÇÁ·ÎÆÛƼġ¸¦ ÃßÃâÇØ, ÀÌ °ªÀ» Ÿ°Ù ¿ÀºêÁ§Æ®ÀÇ ÇÁ·ÎÆÛƼġ·Î¼­ ¼³Á¤ÇÑ´Ù´Â °ÍÀÌ, ¾Æ¸¶ °¡Àå ÀϹÝÀûÀÎ EventHandler ÀÇ ÀÌ¿ë ¹æ¹ýÀÌÁö¿ä. ´ÙÀ½ÀÇ ¿¹¿¡¼­´Â Ÿ°Ù ¿ÀºêÁ§Æ®ÀÇ label ÇÁ·ÎÆÛƼ¸¦, À̺¥Æ®ÀÇ ¼Ò½ºÀÇ text ÇÁ·ÎÆÛƼÀÇ °ª (source ÇÁ·ÎÆÛƼÀÇ °ª)À¸·Î ¼³Á¤ÇÏ´Â ActionListener ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
EventHandler.create(ActionListener.class, button, "label", "source.text")
À̰ÍÀº ´ÙÀ½ÀÇ ³»ºÎ Ŭ·¡½º ±¸Çö¿¡ ´ëÀÀÇϰí ÀÖ½À´Ï´Ù.
 //Equivalent code using an inner class instead of EventHandler.
new ActionListener {
    public void actionPerformed(ActionEvent e) {
        button.setLabel(((JTextField) e.getSource()). getText()); 
    }
}
À̺¥Æ® ÇÁ·ÎÆÛƼ´Â ÇǸ®¾îµå (. )(À¸)·Î ´Ü¶ôÁö¾îÁø ÀÓÀÇÀÇ ¼öÀÇ ÇÁ·ÎÆÛƼ Á¢µÎ»ç¿¡ ÀÇÇØ ¼ö½ÄµË´Ï´Ù. ÇǸ®¾îµåÀÇ Àü¿¡ Ç¥½ÃµÇ´Â ¿ÏÀü ÁöÁ¤¸íÀº À̺¥Æ® ¿ÀºêÁ§Æ®¿¡ Àû¿ëµÇ´Â ÇÁ·ÎÆÛƼ (¿ÞÂÊÀ¸·ÎºÎÅÍ ¼ø¼­¿¡ Àû¿ë)ÀÇ À̸§À¸·Î¼­ ´Ù·ç¾îÁý´Ï´Ù.

¿¹¸¦ µé¾î, ´ÙÀ½°ú °°Àº ¾×¼Ç ûÃëÀÚ°¡ ÀÖ½À´Ï´Ù.

EventHandler.create(ActionListener.class, target, "a", "b.c.d")
ÀÌ ¾×¼Ç ûÃëÀÚ´Â ´ÙÀ½ÀÇ ³»ºÎ Ŭ·¡½º·Î¼­ ±âÀÔÇØÁý´Ï´Ù (¸ðµç ÇÁ·ÎÆÛƼ°¡ Á¤±ÔÀÇ get ¸Þ¼Òµå¸¦ °¡Á®, ÀûÀýÇÑ ÇüŸ¦ µ¹·ÁÁÖ´Â °Í°ú »óÁ¤).
 //Equivalent code using an inner class instead of EventHandler.
new ActionListener {
    public void actionPerformed(ActionEvent e) {
        target.setA(e.getB(). getC(). isD()); 
    }
}

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
Proxy , EventObject

»ý¼ºÀÚÀÇ °³¿ä
EventHandler (Object  target, String  action, String  eventPropertyName, String  listenerMethodName)
          »õ·Î¿î EventHandler ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù (ÀÌ constructor¸¦ Á÷Á¢ È£ÃâÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó create ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀû).
 
¸Þ¼ÒµåÀÇ °³¿ä
static Object create (Class  listenerInterface, Object  target, String  action)
          Ã»ÃëÀÚ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸ðµç ¸Þ¼Òµå°¡ Çڵ鷯ÀÇ action ¸¦ target ¿¡ Àû¿ëÇϱâ À§ÇÑ listenerInterface ±¸ÇöÀ» ÀÛ¼ºÇÕ´Ï´Ù.
static Object create (Class  listenerInterface, Object  target, String  action, String  eventPropertyName)
          ¸ðµç ¸Þ¼Òµå·ÎºÎÅÍ, À̺¥Æ®½Ä eventPropertyName ÀÇ °ªÀ» ¹®ÁßÀÇ ¸¶Áö¸· ¸Þ¼ÒµåÀÎ action (target ¿¡ Àû¿ëµÈ´Ù)¿¡ °Ç³×ÁÖ±â À§ÇÑ listenerInterface ±¸ÇöÀ» ÀÛ¼ºÇÕ´Ï´Ù.
static Object create (Class  listenerInterface, Object  target, String  action, String  eventPropertyName, String  listenerMethodName)
          listenerMethodName ¶ó´Â À̸§ÀÇ ¸Þ¼Òµå·ÎºÎÅÍ, À̺¥Æ®½ÄÀÇ °ª eventPropertyName ¸¦ ¹®ÁßÀÇ ¸¶Áö¸· ¸Þ¼Òµå action (target ¿¡ Àû¿ëµÈ´Ù)¿¡ °Ç³×ÁÖ±â À§ÇÑ listenerInterface ±¸ÇöÀ» ÀÛ¼ºÇÕ´Ï´Ù.
 String getAction ()
          ÀÌ À̺¥Æ® Çڵ鷯¿¡ ÀÇÇØ ¼³Á¤µÇ´Â Ÿ°ÙÀÇ ±âÀÔÇØ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ, ¶Ç´Â ÀÌ À̺¥Æ®°¡ Ÿ°Ù»ó¿¡¼­ È£ÃâÇÏ´Â ¸Þ¼ÒµåÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.
 String getEventPropertyName ()
          Å¸°ÙÀ¸·Î Àû¿ëµÇ´Â ¾×¼ÇÀ¸·Î »ç¿ëµÇ´Â À̺¥Æ®ÀÇ ÇÁ·ÎÆÛƼ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 String getListenerMethodName ()
          ¾×¼ÇÀ» ¹æ¾Æ¼è ÇÏ´Â ¸Þ¼ÒµåÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.
 Object getTarget ()
          ÀÌ À̺¥Æ® Çڵ鷯°¡ ¸Þ¼¼ÁöÀÇ ¼Û½ÅÁö·Î ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
 Object invoke (Object  proxy, Method  method, Object [] arguments)
          À̺¥Æ®·ÎºÎÅÍ ÀûÀýÇÑ ÇÁ·ÎÆÛƼġ¸¦ ÃßÃâÇØ, ÀÌ EventHandler ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ°í ÀÖ´Â ¾×¼Ç¿¡ °Ç³×ÁÝ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

»ý¼ºÀÚÀÇ »ó¼¼

EventHandler

public EventHandler(Object  target,
                    String  action,
                    String  eventPropertyName,
                    String  listenerMethodName)
»õ·Î¿î EventHandler ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù (ÀÌ constructor¸¦ Á÷Á¢ È£ÃâÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó create ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀû).

ÆÄ¶ó¹ÌÅÍ:
target - ¾×¼ÇÀ» ½ÇÇàÇÏ´Â ¿ÀºêÁ§Æ®
action - Ÿ°Ù»óÀÇ ±âÀÔÇØ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ ¶Ç´Â ¸Þ¼ÒµåÀÇ (¿ÏÀü ÁöÁ¤ÀÇ) À̸§
eventPropertyName - ¼ö½Å À̺¥Æ®ÀÇ Àо °¡´ÉÇÑ ÇÁ·ÎÆÛƼÀÇ (¿ÏÀü ÁöÁ¤ÀÇ) À̸§
listenerMethodName - ¾×¼ÇÀ» ¹æ¾Æ¼è Çϴ ûÃëÀÚ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸Þ¼ÒµåÀÇ À̸§
°ü·Ã Ç׸ñ:
EventHandler , create(Class, Object, String, String, String) , getTarget() , getAction() , getEventPropertyName() , getListenerMethodName()
¸Þ¼ÒµåÀÇ »ó¼¼

getTarget

public Object  getTarget()
ÀÌ À̺¥Æ® Çڵ鷯°¡ ¸Þ¼¼ÁöÀÇ ¼Û½ÅÁö·Î ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ À̺¥Æ® Çڵ鷯ÀÇ Å¸°Ù
°ü·Ã Ç׸ñ:
EventHandler(Object, String, String, String)

getAction

public String  getAction()
ÀÌ À̺¥Æ® Çڵ鷯¿¡ ÀÇÇØ ¼³Á¤µÇ´Â Ÿ°ÙÀÇ ±âÀÔÇØ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ, ¶Ç´Â ÀÌ À̺¥Æ®°¡ Ÿ°Ù»ó¿¡¼­ È£ÃâÇÏ´Â ¸Þ¼ÒµåÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ À̺¥Æ® Çڵ鷯ÀÇ ¾×¼Ç
°ü·Ã Ç׸ñ:
EventHandler(Object, String, String, String)

getEventPropertyName

public String  getEventPropertyName()
Ÿ°ÙÀ¸·Î Àû¿ëµÇ´Â ¾×¼ÇÀ¸·Î »ç¿ëµÇ´Â À̺¥Æ®ÀÇ ÇÁ·ÎÆÛƼ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
À̺¥Æ®ÀÇ ÇÁ·ÎÆÛƼ
°ü·Ã Ç׸ñ:
EventHandler(Object, String, String, String)

getListenerMethodName

public String  getListenerMethodName()
¾×¼ÇÀ» ¹æ¾Æ¼è ÇÏ´Â ¸Þ¼ÒµåÀÇ À̸§À» µ¹·ÁÁÝ´Ï´Ù. ¹Ýȯ°ª null ´Â ûÃëÀÚ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸ðµç ¸Þ¼Òµå°¡ ¾×¼ÇÀ» ¹æ¾Æ¼è ÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

¹Ýȯ°ª:
¾×¼ÇÀ» ¹æ¾Æ¼è ÇÏ´Â ¸Þ¼ÒµåÀÇ À̸§
°ü·Ã Ç׸ñ:
EventHandler(Object, String, String, String)

invoke

public Object  invoke(Object  proxy,
                     Method  method,
                     Object [] arguments)
À̺¥Æ®·ÎºÎÅÍ ÀûÀýÇÑ ÇÁ·ÎÆÛƼġ¸¦ ÃßÃâÇØ, ÀÌ EventHandler ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ°í ÀÖ´Â ¾×¼Ç¿¡ °Ç³×ÁÝ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º InvocationHandler ³»ÀÇ invoke
ÆÄ¶ó¹ÌÅÍ:
proxy - ÇÁ·Ï½Ã ¿ÀºêÁ§Æ®
method - ûÃëÀÚ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸Þ¼Òµå
arguments - ÇÁ·Ï½Ã ÀνºÅϽº¿¡¼­ÀÇ ¸Þ¼Òµå È£Ãâ½Ã¿¡°Ô °Ç³×Áö´Â ÀμöÄ¡¸¦ ÀúÀåÇÏ´Â ¿ÀºêÁ§Æ® ¹è¿­. ÀÎÅÍÆäÀ̽º ¸Þ¼Òµå°¡ Àμö¸¦ ÃëÇÏÁö ¾Ê´Â °æ¿ì, null °¡ µÈ´Ù. ¿ø½ÃÀûÇü Àμö´Â java.lang.Integer ¶Ç´Â java.lang.Boolean ¿Í °°ÀÌ ÀûÀýÇÑ ¿ø½ÃÀûÇü ·¡ÆÛ Ŭ·¡½ºÀÇ ÀνºÅϽº¿¡ ·¦ µÈ´Ù
¹Ýȯ°ª:
Ÿ°ÙÀ¸·Î ¾×¼ÇÀ» Àû¿ëÇÑ °á°ú
°ü·Ã Ç׸ñ:
EventHandler

create

public static Object  create(Class  listenerInterface,
                            Object  target,
                            String  action)
ûÃëÀÚ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸ðµç ¸Þ¼Òµå°¡ Çڵ鷯ÀÇ action ¸¦ target ¿¡ Àû¿ëÇϱâ À§ÇÑ listenerInterface ±¸ÇöÀ» ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ±× ¿ÜÀÇ °Íº¸´Ù ÀϹÝÀûÀÎ create ¸Þ¼ÒµåÀÇ ±¸Çö°ú null °ªÀ» ¹Þ´Â eventPropertyName ¹× listenerMethodName ¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù.

ÀÌÇÏ´Â dialog.show() ¸¦ »ç¿ëÇØ,JDialog ¸¦ Ç¥½ÃÇÏ´Â ActionListener ¸¦ ÀÛ¼ºÇÏ´Â ¿¹ÀÔ´Ï´Ù.

EventHandler.create(ActionListener.class, dialog, "show")

ÆÄ¶ó¹ÌÅÍ:
listenerInterface - ÀÛ¼ºµÈ ÇÁ·Ï½Ã¸¦ ÀÌ¿ëÇϴ ûÃëÀÚ ÀÎÅÍÆäÀ̽º
target - ¾×¼ÇÀ» ½ÇÇàÇÏ´Â ¿ÀºêÁ§Æ®
action - Ÿ°Ù»óÀÇ ±âÀÔÇØ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ ¶Ç´Â ¸Þ¼ÒµåÀÇ À̸§
¹Ýȯ°ª:
listenerInterface ¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®
°ü·Ã Ç׸ñ:
create(Class, Object, String, String)

create

public static Object  create(Class  listenerInterface,
                            Object  target,
                            String  action,
                            String  eventPropertyName)
¸ðµç ¸Þ¼Òµå·ÎºÎÅÍ, À̺¥Æ®½Ä eventPropertyName ÀÇ °ªÀ» ¹®ÁßÀÇ ¸¶Áö¸· ¸Þ¼ÒµåÀÎ action (target ¿¡ Àû¿ëµÈ´Ù)¿¡ °Ç³×ÁÖ±â À§ÇÑ listenerInterface ±¸ÇöÀ» ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â º¸´Ù ÀϹÝÀûÀÎ create ¸Þ¼ÒµåÀÇ ±¸Çö°ú null °ªÀ» ¹Þ´Â listenerMethodName ¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù.

´ÙÀ½ÀÇ Äڵ带 »ç¿ëÇØ,JLabel ÀÇ ÅØ½ºÆ®¸¦ ¼ö½Å À̺¥Æ®ÀÇ JTextField ¼Ò½ºÀÇ ÅØ½ºÆ®Ä¡·Î ¼³Á¤ÇÏ´Â °Í °°Àº ActionListener ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

EventHandler.create(ActionListener.class, label, "text", "source.text");
À̰ÍÀº ´ÙÀ½ÀÇ ÄÚµå¿Í µî°¡ÀÔ´Ï´Ù.
 //Equivalent code using an inner class instead of EventHandler.
label.setText((JTextField(event.getSource())). getText()) 

ÆÄ¶ó¹ÌÅÍ:
listenerInterface - ÀÛ¼ºµÈ ÇÁ·Ï½Ã¸¦ ÀÌ¿ëÇϴ ûÃëÀÚ ÀÎÅÍÆäÀ̽º
target - ¾×¼ÇÀ» ½ÇÇàÇÏ´Â ¿ÀºêÁ§Æ®
action - Ÿ°Ù»óÀÇ ±âÀÔÇØ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ ¶Ç´Â ¸Þ¼ÒµåÀÇ À̸§
eventPropertyName - ¼ö½Å À̺¥Æ®ÀÇ Àо °¡´ÉÇÑ ÇÁ·ÎÆÛƼÀÇ (¿ÏÀü ÁöÁ¤ÀÇ) À̸§
¹Ýȯ°ª:
listenerInterface ¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®
°ü·Ã Ç׸ñ:
create(Class, Object, String, String, String)

create

public static Object  create(Class  listenerInterface,
                            Object  target,
                            String  action,
                            String  eventPropertyName,
                            String  listenerMethodName)
listenerMethodName ¶ó´Â À̸§ÀÇ ¸Þ¼Òµå·ÎºÎÅÍ, À̺¥Æ®½ÄÀÇ °ª eventPropertyName ¸¦ ¹®ÁßÀÇ ¸¶Áö¸· ¸Þ¼Òµå action (target ¿¡ Àû¿ëµÈ´Ù)¿¡ °Ç³×ÁÖ±â À§ÇÑ listenerInterface ±¸ÇöÀ» ÀÛ¼ºÇÕ´Ï´Ù.

eventPropertyName °¡ null ÀÇ °æ¿ì, ±¸ÇöÀº action ·Î ÁöÁ¤µÈ À̸§ÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. EventObject ¸¦ ¹Þ¾ÆµéÀÌ´Â ¸Þ¼Òµå°¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì, ÀÌ ¾×¼ÇÀº EventObject ¶Ç´Â °°Àº À̸§ÀÇ Àμö ¾øÀ½ÀÇ ¸Þ¼Òµå¸¦ ÃëÇÕ´Ï´Ù.

listenerMethodName °¡ null ÀÇ °æ¿ì´Â ÀÎÅÍÆäÀ̽º³»ÀÇ ¸ðµç ¸Þ¼Òµå°¡,target »ó¿¡¼­ ½ÇÇàµÇ´Â action ¸¦ ¹æ¾Æ¼è ÇÕ´Ï´Ù.

¿¹¸¦ µé¾î, mouse button¸¦ ´©¸¦ ¶§¸¶´Ù Ÿ°Ù ¿ÀºêÁ§Æ®ÀÇ origin ÇÁ·ÎÆÛƼ¸¦ ¼ö½ÅÇÏ´Â MouseEvent ÀÇ Àå¼Ò (mouseEvent.getPoint() ÀÇ °ª)·Î ¼³Á¤ÇÏ´Â MouseListener ¸¦ ÀÛ¼ºÇÏ°í ½ÍÀº °æ¿ì´Â ´ÙÀ½°ú °°ÀÌ ±â¼úÇÕ´Ï´Ù.

EventHandler.create(MouseListener.class, "mousePressed", target, "origin", "point");
À̰ÍÀº mousePressed ¸¦ Á¦¿ÜÇÏ´Â ¸ðµç ¸Þ¼Òµå°¡ Á¶ÀÛ ºÒ´ÉÀÎ MouseListener ÀÇ ±â¼ú°ú °°½À´Ï´Ù.
 //Equivalent code using an inner class instead of EventHandler.
new MouseAdapter() {
    public void mousePressed(MouseEvent e) {
        target.setOrigin(e.getPoint());
    }
}
 

ÆÄ¶ó¹ÌÅÍ:
listenerInterface - ÀÛ¼ºµÈ ÇÁ·Ï½Ã¸¦ ÀÌ¿ëÇϴ ûÃëÀÚ ÀÎÅÍÆäÀ̽º
target - ¾×¼ÇÀ» ½ÇÇàÇÏ´Â ¿ÀºêÁ§Æ®
action - Ÿ°Ù»óÀÇ ±âÀÔÇØ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ ¶Ç´Â ¸Þ¼ÒµåÀÇ À̸§
eventPropertyName - ¼ö½Å À̺¥Æ®ÀÇ Àо °¡´ÉÇÑ ÇÁ·ÎÆÛƼÀÇ (¿ÏÀü ÁöÁ¤ÀÇ) À̸§
listenerMethodName - ¾×¼ÇÀ» ¹æ¾Æ¼è Çϴ ûÃëÀÚ ÀÎÅÍÆäÀ̽º³»ÀÇ ¸Þ¼ÒµåÀÇ À̸§
¹Ýȯ°ª:
listenerInterface ¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®
°ü·Ã Ç׸ñ:
EventHandler

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.