À̺¥Æ®¿¡ ´ëÇÑ °ÍÀº ÀÌ¹Ì Frame Á¾·áÀ̺¥Æ® ºÎºÐ¿¡¼ ¾ð±ÞÇÏ¿´Áö¸¸ ±¸Ã¼ÀûÀÎ »çÇ×Àº ¾ð±ÞÇÏÁö ¾Ê¾Ò½À´Ï´Ù. À©µµ¿ì Á¾·á¸¦ Çϱâ À§Çؼ´Â WindowListener¸¦ ±¸Çö ÇÑ ÈÄ, WindowListener¸¦ Frame¿¡ Ãß°¡½ÃÄÑ ÁÖ´Â ¹æ¹ýÀ» »ç¿ëÇß½À´Ï´Ù. ÇÏÁö¸¸ À̰ÍÀÇ ¿ø¸®´Â ±×·¸°Ô °£´ÜÇÏÁö¸¸Àº ¾Ê½À´Ï´Ù.
ƯÁ¤ °´Ã¼°¡ À̺¥Æ®¸¦ ¹ß»ý½ÃŰ¸é ¹ß»ýµÈ À̺¥Æ®¸¦ ¸®½º³Ê¿¡°Ô Àü´ÞÇÕ´Ï´Ù. ±×¸®°í, ¸®½º³Ê´Â À̺¥Æ®°¡ ¹ß»ýÇϱ⸦ ±â´Ù·È´Ù°¡ ÀÚ½ÅÀÌ ¿øÇÏ´Â À̺¥Æ®°¡ ¹ß»ýÇϸé À̺¥Æ® 󸮸¦ ÇÏ°Ô µË´Ï´Ù. ¿¹¸¦µé¾î, ¹öưÀ» »ç¿ëÀÚ°¡ Ŭ¸¯À» ÇßÀ» °æ¿ì ¹öư°´Ã¼´Â ¸¶¿ì½ºÀ̺¥Æ®°´Ã¼¸¦ ¹ß»ýÇÏ°í µî·ÏµÈ ¸®½º³Ê°¡ ÀÖ´ÂÁö ¾ø´ÂÁö ã°Ô µË´Ï´Ù. ¸¶¿ì½º À̺¥Æ®¿¡ ÇØ´çÇÏ´Â ¸®½º³Ê°¡ ÀÖ´Ù¸é ÇØ´ç ¸®½º³Ê¿¡°Ô ¸¶¿ì½ºÀ̺¥Æ®¸¦ Àü´ÞÇÏ¿© ÀûÀýÇÑ Ã³¸®¸¦ ÇÏ°Ô µË´Ï´Ù. À̰ÍÀ» ±×¸²À¸·Î ³ªÅ¸³»¸é ´ÙÀ½°ú °°½À´Ï´Ù.
Frame¿¡ MouseListener¸¦ ±¸ÇöÇÑ ÈÄ, ÀÌ ¸®½º³Ê¸¦ ¹öư °´Ã¼¿¡ µî·ÏÇÕ´Ï´Ù. ±×¸®°í mouseClicked¿¡ ÀÛ¾÷À» ±¸ÇöÇÔÀ¸·Î½á 󸮸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. °´Ã¼´Â ¸¶¿ì½º À̺¥Æ®°¡ ¹ß»ýÇÏÀÚ¸¶ÀÚ À̺¥Æ®¿¡ °ü·ÃµÈ ¸ðµç Á¤º¸¸¦ ´ã°í ÀÖ´Â MouseEvent°´Ã¼¸¦ ¸¸µì´Ï´Ù. ÀÌ·¯ÇÑ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© µî·ÏµÈ ¸®½º³Ê¸¦ ã¾Æ º¸°ÚÁÒ. ¸¸¾à µî·Ï µÈ ¸®½º³Ê°¡ ÀÖ´Ù¸é, Mouse¿Í °ü·ÃÀÖ´Â ¸®½º³Ê¶ó¸é, MouseEvent°´Ã¼¸¦ MouseListener¿¡°Ô ³Ñ°ÜÁÖ¸é¼ ÀÏ󸮸¦ ÇÏ°Ô µÉ°Ì´Ï´Ù. ¸¶¿ì½º À̺¥Æ®µé Áß¿¡¼µµ MouseClicked¶ó´Â °ÍÀ» ó¸®ÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù.
´ÙÀ½¿¹Á¦´Â ¸¶¿ì½º·Î Ŭ¸¯ÇßÀ» ¶§ FrameÀÇ È¸éÀ» ÆÄ¶õ»öÀ¸·Î ¹Ù²Ù´Â ¿¹ÀÔ´Ï´Ù.
EventModelFrame.java(À̺¥Æ® ¸ðµ¨À» º¸¿©ÁÖ±â À§ÇÑ ¿¹Á¦) |
import java.awt.*; import java.awt.event.*; public class EventModelFrame extends Frame implements MouseListener{ private Button b1 = null; public EventModelFrame(){ this.b1 = new Button("È®ÀÎ"); b1.addMouseListener(this); this.setLayout(new FlowLayout()); this.add(b1); } public void mouseClicked(MouseEvent e){ this.setBackground(Color.blue); } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){} public void mouseReleased(MouseEvent e){} public static void main(String[] args){ EventModelFrame emf = new EventModelFrame(); emf.setSize(100,100); emf.show(); } } |
C:\JavaExample\14>javac EventModelFrame.java C:\JavaExample\14>java EventModelFrame |
Á¦ÀϸÕÀú, ±×·¡ÇÈ ÀÛ¾÷°ú À̺¥Æ®ÀÛ¾÷À» Çϱâ Àü¿¡ ¶óÀ̺귯¸®ºÎÅÍ importÇØ¾ß ÇÕ´Ï´Ù. ±×·¡ÇÈÀº awt, À̺¥Æ®´Â awt.eventÆÐŰÁö¸¦ importÇÏ½Ã¸é µË´Ï´Ù.
n import java.awt.*;
n import java.awt.event.*;
ÇÁ·¹ÀÓÀ» »ó¼Ó¹Þ¾Æ »õ·Î¿î FrameÀ» »ý¼ºÇϰí ÀÖ½À´Ï´Ù. ±×¸®°í, EventModelFrame³»¿¡ MouseListener¸¦ ±¸ÇöÇϱâ À§Çؼ implements MouseListener¸¦ Ãß°¡Çϰí ÀÖ½À´Ï´Ù.
n public class EventModelFrame extends Frame implements MouseListener
MouseListenerÀÎÅÍÆäÀ̽º´Â Àüü 5°³ÀÇ Ãß»ó¸Þ¼µå¸¦ Æ÷ÇÔÇϰí Àֱ⠶§¹®¿¡ ¸ðµç Ãß»ó¸Þ¼µå¸¦ ±¸ÇöÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¸ðµç Ãß»ó¸Þ¼µåµéÀ» ±¸ÇöÇϰí ÀÖ½À´Ï´Ù. »ç¿ëÇÏÁö ¾Ê´Â ¸Þ¼µåµéÀÌ¶óµµ ÀÎÅÍÆäÀ̽º´Â ±¸ÇöÇØ¾ß »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ {}ºó°ýÈ£¶óµµ ºÙ¿© ÁÖ¾î¾ß ÇÕ´Ï´Ù.
n public void mouseClicked(MouseEvent e){
n this.setBackground(Color.blue);//ÇÁ·¹ÀÓÀ» ÆÄ¶õ»öÀ¸·Î ¹Ù²Û´Ù
n }
n public void mouseEntered(MouseEvent e){}
n public void mouseExited(MouseEvent e){}
n public void mousePressed(MouseEvent e){}
n public void mouseReleased(MouseEvent e){}
¾ÆÁ÷ ¸¶¿ì½º¸®½º³Ê´Â ¸¸µé¾îÁ³À» »Ó ´ë»óÀÌ ´©±¸ÀÎÁö´Â ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ¾î´À °´Ã¼¿¡ µî·ÏµÉÁö¸¦ °áÁ¤ÇÏ´Â ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
n b1.addMouseListener(this);
b1À̶ó´Â °´Ã¼¿¡ ÇöÀçÀÇ Frame¿¡ ±¸ÇöµÇ¾îÁø MouseListener¸¦ µî·ÏÇϰí ÀÖ½À´Ï´Ù. b1°´Ã¼¿¡ ¸¶¿ì½º¸¦ Ŭ¸¯ÇßÀ» ¶§, MouseEvent°¡ ¹ß»ýÇÏ°Ô µÇ°í b1°´Ã¼¿¡ µî·ÏµÇ¾îÁø ¸®½º³Ê Áß MouseEvent¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â MouseListener°¡ ÀÛ¾÷À» À§ÀÓ¹Þ°Ô µË´Ï´Ù. ÀÛ¾÷À» À§ÀÓ ¹ÞÀº MouseListener´Â mouseClicked¶ó´Â ¸Þ¼µå¸¦ È£ÃâÇÏ°Ô µË´Ï´Ù.
ÀÌ ¸ðµ¨Àº °¡Àå ÀϹÝÀûÀÌ¸é¼ °¡Àå ³Î¸® »ç¿ëÇÏ´Â À̺¥Æ® ¸ðµ¨ÀÔ´Ï´Ù. ¿©·¯ºÐÀº À̺¥Æ®ÀÇ ¿ëµµ¿¡ µû¶ó Àû´çÇÑ Listener¸¦ »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â Listener´Â ´ÙÀ½°ú °°½À´Ï´Ù.
n ActionListener, AdjustmentListener, ComponentListener, ContainerListener, FocusListener, ItemListener, KeyListener, MouseListener, MouseMotionListener, TextListener, WindowListener
ÀÌµé ¸®½º³ÊÀÇ »ç¿ë¹ýÀº À̺¥Æ®¸¦ ´Ù·ç´Â ºÎºÐ¿¡¼ ¿¹Á¦¿Í ÇÔ²² ±× »ç¿ë¹ýÀ» ´Ù·çµµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌ Àý¿¡¼´Â ¿©·¯ºÐÀÌ Event¸ðµ¨À̶ó´Â °Í¿¡ ÁÖ¸ñÇÏ¿© EventÀÇ »ç¿ë¹ýÀ» ¾Ë¾Æ µÎ½Ã±â ¹Ù¶ø´Ï´Ù. ´ÙÀ½À¸·Î ÄÄÆ÷³ÍÆ®¸¦ ¹èÄ¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |