EventQueue...


[ Follow Ups ] [ Post Followup ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

Posted by ±è´öÅ on April 15, 1997 at 01:02:39:

In Reply to: [Áú¹®] WINDOW_DESTROY À̺¥Æ® ¾Ë¸®±â posted by °­½Åµ¿ on April 12, 1997 at 11:56:55:

JDK 1.0°ú 1.1ÀÇ °¡Àå Ä¿´Ù¶õ º¯È­¸¦ ²Å´Â´Ù¸é
event ó¸® ¹æ½ÄÀ̶ó°í ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù.
¹°·Ð ±âÁ¸ÀÇ À̺¥Æ®µµ °è¼Ó Áö¿øÀº ÇÏÁö¸¸,
ȣȯ¼ºÀ» À§Çؼ­ »õ·Î¿î À̺¥Æ® 󸮹æ½Ä¿¡ Æ÷ÇÔ½ÃÄ×À» »ÓÀÔ´Ï´Ù.

¹ß»ýÇÏ´Â ¸ðµç À̺¥Æ®´Â ½Ã½ºÅÛÀÇ À̺¥Æ® Å¥¿¡ ÀúÀåÀÌ
µÇ°í, ¼ø¼­´ë·Î Çϳª¾¿ 󸮰¡ µË´Ï´Ù.
±× ½Ã½ºÅÛ À̺¥Æ® Å¥ °´Ã¼¸¦ ¾Ë¾Æ³»´Â ¹æ¹ýÀº
´ÙÀ½ ¿¹Á¦ÇÁ·Î±×·¥À» ÂüÁ¶ÇÏ½Ã¸é ¾Æ½Ç ¼ö ÀÖ½À´Ï´Ù.

º» ¿¹Á¦¿¡¼­´Â »ç¿ëÀÚ°¡ ÇÁ·¹ÀÓÀ» ¸¶¿ì½º·Î ´Ý°Å³ª,
ȤÀº, 10ÃÊ °æ°úÈÄ¿¡ ÇÁ·Î±×·¥¿¡ ÀÇÇØ ¹ß»ýµÈ À̺¥Æ®¿¡
ÀÇÇØ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÌ Á¾·áµË´Ï´Ù.
Á¾·áµÈ ÀÌÀ¯´Â À̺¥Æ® 󸮺κп¡¼­ System.exit(0)¸¦
ºÒ·¯ÁÖ¾ú±â ¶§¹®¿¡ ³¡³­ °ÍÀÏ»Ó, À̺¥Æ®°¡ ¹ß»ýÇÑ´Ù°í Çؼ­
Á¾·áµÇ´Â °ÍÀº Àý´ë ¾Æ´Õ´Ï´Ù.

¸¹Àº ±×·¡ÇÈ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ ÇÁ·¹ÀÓÀº
1°³¸¸ Á¸ÀçÇϹǷÎ, ÇÁ·¹ÀÓÀ» ´Ý°ÔµÇ¸é ³²¾ÆÀÖ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º°¡
¾øÀ¸¹Ç·Î ÀÌ¿Í°°ÀÌ ÇÁ·Î±×·¥À» Á¾·áÇÏ´Â °ÍÀÌ ´ç¿¬ÇÕ´Ï´Ù.
±×·¯³ª, Netscape, ÇÖÀÚ¹Ù, ȤÀº ±âŸ Á» º¹ÀâÇÑ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â
ÇϳªÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¿©·¯°³ÀÇ ÇÁ·¹ÀÓÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ °æ¿ì¿¡´Â ÇϳªÀÇ ÇÁ·¹ÀÓÀ» ´Ý´Â´Ù°í Çؼ­ ÇÁ·Î±×·¥À» ¹«Á¶°Ç Á¾·á½ÃÅ°´Â
°ÍÀº ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
±×·¯ÇÑ °æ¿ì, Áï, ÇØ´ç ÇÁ·¹ÀÓ¸¸ Á¦°ÅÇÏ°í ½ÍÀº °æ¿ì´Â
¿¹Á¦¿¡ ³ª¿Í ÀÖµíÀÌ, dispose()¸¦ È£ÃâÇØÁÖ´Â °ÍÀÔ´Ï´Ù.

ÀÌ¿Í´Â ´Þ¸®, setVisible()´Â ÇØ´ç ÄÄÆ÷³ÍÆ®ÀÇ
visibility¸¸À» Á¦¾îÇÏ´Â °ÍÀÔ´Ï´Ù.
±×·¯¹Ç·Î, setVisible(false)¸¦ Çصµ, ÇØ´ç ÄÄÆ÷³ÍÆ®ÀÎ ÇÁ·¹ÀÓÀÌ
º¸ÀÌÁö¸¸ ¾ÊÀ» »Ó °è¼ÓÇÏ¿© Á¸ÀçÇÕ´Ï´Ù.
Áï, ÇØ´ç ÄÄÆ÷³ÍÆ®¿¡ ´Ù½Ã setVisible(true)¸¦ ÇØÁÖ¸é,
º¸ÀÌÁö ¾Ê´ø ÇÁ·¹ÀÓÀÌ Áï°¢ ´Ù½Ã È­¸é¿¡ ³ªÅ¸³ª°Ô µË´Ï´Ù.
dispose()µÇ¾ú´Ù¸é, setVisible(true)´Â Àǹ̰¡ ¾ø½À´Ï´Ù.

´ÙÀ̾ó·Î±×¿Í ÇÁ·¹ÀÓÀÇ Â÷ÀÌÁ¡Àº Å©°Ô 2°¡Áö ÀÔ´Ï´Ù.
1. ´ÙÀ̾ó·Î±×´Â »ý¼º½Ã ºÎ¸ð ÄÄÆ÷³ÍÆ®¸¦ ÇÁ·¹ÀÓÀ¸·Î °¡Á®¾ßÇÑ´Ù.
µû¶ó¼­, ºÎ¸ð ÇÁ·¹ÀÓ¿¡ ÀÇÇØ ¸¹Àº ¿µÇâÀ» ¹Þ´Â´Ù.
2. ´ÙÀ̾ó·Î±×´Â ¸Þ´º¹Ù¸¦ °¡Áú ¼ö ¾ø´Ù.
(±×·¯³ª, ¸ðµç ÄÄÆ÷³ÍÆ®´Â PopupMenu¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù.)


import java.awt.*;
import java.awt.event.*;

class EventQueueTest
{ public static void main(String[] args)
{ Frame f = new Frame();
f.addWindowListener( new WindowAdapter()
{ public void windowClosing(WindowEvent ev)
{ System.exit(0);
// ȤÀº f.dispose();
}
});
f.setSize(300, 300);
f.setVisible(true);

EventQueue eventQ = Toolkit.getDefaultToolkit().getSystemEventQueue();
try
{ Thread.sleep( 10000 ); // 10ÃÊÈÄ¿¡ À©µµ¿ì À̺¥Æ® ¹ß»ý
}
catch (InterruptedException e) { }
eventQ.postEvent( new WindowEvent( f, WindowEvent.WINDOW_CLOSING ) );
}
}




Follow Ups:



Post a Followup

Name:
E-Mail:

Subject:

Comments:

Optional Link URL:
Link Title:
Optional Image URL:


[ Follow Ups ] [ Post Followup ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]