¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ  13Àå AWT  13.3 Frame Á¾·áÀ̺¥Æ® ±¸Çö  

 

13.2 Frame Á¾·áÀ̺¥Æ® ±¸ÇöÇϱâ

 

 ¿©·¯ºÐÀÌ FrameÀ» »õ·Î ¸¸µé¾úÀ» ¶§  FrameÀ» Á¾·áÇÒ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â AWTȯ°æ¿¡¼­ ¸ðµç À̺¥Æ®ÀÇ Ã³¸®´Â »ç¿ëÀÚ°¡ Á÷Á¢ ±¸ÇöÇØ ÁÖ¾î¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù. ½ÉÁö¾î À©µµ¿ì Á¾·á À̺¥Æ®±îÁöµµ ±¸ÇöÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¹°·Ð, À̺¥Æ®¿¡ ´ëÇØ¼­´Â AWT Event¸ðµ¨¿¡¼­ ´Ù·ç°Ô µÇ°ÚÁö¸¸ ÀÌ Àý¿¡¼­´Â °£´ÜÇÑ À©µµ¿ì Á¾·á À̺¥Æ®¸¸À» ¼³¸íÇϵµ·Ï ÇϰڽÀ´Ï´Ù. Frame¿¡ Event¸¦ ÷ºÎÇϱâ À§Çؼ­´Â ÀÏ´Ü Event Listener¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í, ÀÌ À̺¥Æ®¸¦ Frame¿¡ µî·ÏÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. Áï, ´ÙÀ½°ú °°Àº ÀýÂ÷¸¦ °ÅÃÄ¾ß ÇÕ´Ï´Ù.

 

n        WindowListener ±¸Çö

n        WindowListener¸¦ Frame¿¡ µî·Ï

 

 FrameÀ» Á¾·áÇϱâ À§Çؼ­ ¿ì¼±ÀûÀ¸·Î WindowListener¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. ±×¸®°í ±¸ÇöµÈ WindowListener¸¦ ÇØ´ç Ŭ·¡½º¿¡ µî·ÏÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸ÕÀú, WindowListener¸¦ ±¸ÇöÇϱâ À§Çؼ­´Â WindowListener³»¿¡ ÀÖ´Â Ãß»ó¸Þ¼­µåºÎÅÍ ¾Ë¾Æ¾ß°ÚÁÒ. WindowListenerÀÎÅÍÆäÀ̽ºÀÇ ³»ºÎ¿¡ ±¸ÇöµÇÁö ¾ÊÀº Ãß»ó ¸Þ¼­µå´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

n        public void windowActivated(WindowEvent e): À©µµ¿ì°¡ Ȱ¼ºÈ­µÇ¾úÀ» ¶§ È£Ãâ.

n        public void windowClosed(WindowEvent e): À©µµ¿ì°¡ ´ÝÇûÀ» ¶§ È£Ãâ.

n        public void windowClosing(WindowEvent e): À©µµ¿ì°¡ ´ÝÈ÷°í ÀÖÀ» ¶§ È£Ãâ.

n        public void windowDeactivated(WindowEvent e): À©µµ¿ì°¡ ºñȰ¼ºÈ­µÇ¾úÀ» ¶§ È£Ãâ.

n        public void windowDeiconified(WindowEvent e): À©µµ¿ì°¡ Á¤»óÈ­µÇ¾úÀ» ¶§ È£Ãâ.

n        public void windowIconified(WindowEvent e): À©µµ¿ì°¡ ¾ÆÀÌÄÜÈ­µÇ¾úÀ» ¶§ È£Ãâ.

n        public void windowOpened(WindowEvent e): À©µµ¿ì°¡ ¿­·ÈÀ» ¶§ È£Ãâ.

 

 7°³ÀÇ ¸Þ¼­µå¸¦ ÀüºÎ ±¸ÇöÇÏ´Â ¹æ¹ýÀº ¿©·¯ºÐµéµµ ¾Æ½Ã´Ù½ÃÇÇ implements WindowListener¶ó´Â °ÍÀ» »ç¿ëÇÏ½Ã°í ¸ðµç ¸Þ¼­µåµéÀ» ±¸ÇöÇÏ½Ã¸é µË´Ï´Ù. ±×¸®°í ÀÌ WindowListener¸¦ µî·ÏÇÏ¸é µÇ´Â °ÍÀÔ´Ï´Ù. Á÷Á¢ ¿¹Á¦¸¦ »ìÆìº¸µµ·Ï ÇÏÁÒ.

 

ExitEventFrame.java(À©µµ¿ì Á¾·á À̺¥Æ® Å×½ºÆ®)

import java.awt.*;

import java.awt.event.*;

public class ExitEventFrame extends Frame implements WindowListener{         

   public ExitEventFrame (){

       this.addWindowListener(this);

   }

   public void windowClosing(WindowEvent e){

       System.exit(0);

   }

   public void windowActivated(WindowEvent e){}

   public void windowClosed(WindowEvent e){}

   public void windowDeactivated(WindowEvent e){}

   public void windowDeiconified(WindowEvent e){}

   public void windowIconified(WindowEvent e){}

   public void windowOpened(WindowEvent e){}

   public static void main (String args[]){

       ExitEventFrame f = new ExitEventFrame();

       f.setSize(200,200);

       f.setBackground(Color.blue);

       f.setVisible(true);

   }

}

C:\JavaExample\13>javac ExitEventFrame.java

C:\JavaExample\13>java ExitEventFrame

 

ExitEventFrameŬ·¡½º¿¡ implements WindowListener¸¦ ÇÑ ÈÄ, ¸ðµç ¸Þ¼­µå¸¦ ÀüºÎ ±¸Çö ÇÏ¿´½À´Ï´Ù. ±×¸®°í windowClosing¸Þ¼­µå¿¡ ½ÇÁ¦ Á¾·á°¡ µÇ±â À§ÇÑ Äڵ带 µü ÇÑ ÁÙ Ãß°¡Çϰí ÀÖ½À´Ï´Ù.

 

n        System.exit(0);à¿øµµ¿ì Á¾·á ¸í·É

 

ÀÚ! ±×·¸´Ù¸é ¸ðµç ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾ú½À´Ï´Ù. ExitEventFrameÀº µÎ °¡Áö Ŭ·¡½º¸¦ Áߺ¹»ó¼ÓÇϰí ÀÖ½À´Ï´Ù. Frame°ú WindowListener¸¦ µ¿½Ã¿¡ »ó¼ÓÇϰí ÀÖ´Â °ÍÀÔ´Ï´Ù. »ó¼Ó¸¸ µÑÀ» ÇÒ »Ó WindowListener°¡ ½ÇÁ¦ ¾îµð¿¡ »ç¿ëÇÒ Áö´Â ¸í½ÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ±×·¸ÁÒ. Á¤È®ÇÏ°Ô WindowListener¸¦ ÀåÂøÇØ¾ß »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½°ú °°Àº ±¸¹®À» ÷ºÎÇÏ¸é ¸ðµç ÀÛ¾÷Àº ¸¶¹«¸® µË´Ï´Ù.

 

n        this.addWindowListener(this);

 

ÀÌ ±¸¹®ÀÌ ÇØ¼®ÀÌ ¾ÈµÈ´Ù±¸¿ä. addWindowListener¸Þ¼­µåÀÇ ¿øÇüÀ» Çѹø º¸µµ·Ï ÇϰڽÀ´Ï´Ù. FrameŬ·¡½ºÀÇ ¸â¹ö¸Þ¼­µå addWindowListenerÀÇ ¿øÇüÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

n        public void addWindowListener(WindowListener l)

 

ÀÌ ¸Þ¼­µå´Â Frame¿¡ WindowListener¸¦ µî·ÏÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ±×¸®°í addWindowListener¸Þ¼­µåÀÇ ¸Å°³º¯¼ö´Â WindowListener°¡ µé¾î°¡¾ß ÇÕ´Ï´Ù. ±×·±µ¥ this¸¦ ³Ö¾î ÁÖ°í ÀÖ½À´Ï´Ù. ±¸¹®Àº ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ¸Å°³º¯¼ö¿¡ ÇÒ´çÀÌ µÉ °ÍÀÔ´Ï´Ù.

 

n        WindowListener l  ©¬  this;

 

thisÀÎ ExitEventFrame´Â µÎ°³ÀÇ Å¬·¡½º¸¦ Áߺ¹ »ó¼ÓÇϰí ÀÖ½À´Ï´Ù. ¾Æ¹öÁö°¡ µÑÀÌÁÒ. ÀÌ ±¸¹®ÀÌ ¼º¸³ÇÏ´Â °ÍÀº ¹Ù·Î ¾÷ij½ºÆÃÀÇ ¿ø¸®ÀÔ´Ï´Ù. »óÀ§ Ŭ·¡½º·Î ij½ºÆÃÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀ» ÀÌ¹Ì ¿ì¸®´Â 5Àå¿¡¼­ ¹è¿ü½À´Ï´Ù. ÇöÀç this´Â ExitEventFrameÀ̸ç ExitEventFrameÀº WindowListenerµµ µÉ ¼ö ÀÖ°í Frameµµ µÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­ WindowListener¸¦ ¸Å°³º¯¼ö·Î ³Ö¾î ÁÖ¾î¾ß ÇÏÁö¸¸ ExitEventFrame ÀÚü¸¦ ³Ö¾îÁ־ ±¸¹®Àº ¼º¸³ÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù.

 

ÀÎÅÍÆäÀ̽ºµµ ÇϳªÀÇ Å¬·¡½ºÀ̰í ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇßÀ» ¶§ ºÐ¸í ÇϳªÀÇ Å¬·¡½º·Î Á¸ÀçÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇϽñ⠹ٶø´Ï´Ù. ExitEventFrame¿¡ extends FrameÀ» ÇßÁö¸¸ implements WindowListenerµµ »ó¼ÓÀÇ °³³äÀº Æ÷ÇÔ µÇ¾î ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀÎÅÍÆäÀ̽º°¡ Ŭ·¡½º¶ó°í ¸»Çߴµ¥ ¿©·¯ºÐÀÌ Á÷Á¢ ƯÁ¤ ÀÎÅÍÆäÀ̽º ÀÚü¸¸À» ÄÄÆÄÀÏ ÇØ º¸½Ê½Ã¿À. ´ç¿¬È÷ .classÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù. ÀÌ Á¤µµ¸é ÀÎÅÍÆäÀ̽ºµµ Ŭ·¡½º¶ó°í ÇÒ ¼ö ÀÖÁö ¾ÊÀ»±î¿ä!



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ
ÀúÀÚ:ÃÖ¿µ°ü