¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ  13Àå AWT  13.10.3 À©µµ¿ì(Window)  

 

13.10.3 À©µµ¿ì(Window)

 

»õ·Î¿î âÀ» »ý¼ºÇÒ ¶§ »ç¿ëµÇ´Â °ÍÀÌ À©µµ¿ì ÄÄÆ÷³ÍÆ®ÀÔ´Ï´Ù. Frame, Dialog, FileDialog Ŭ·¡½º´Â ¸ðµÎ WindowŬ·¡½º¸¦ »ó¼Ó ¹Þ¾Æ¼­ ÇÏÀ§Å¬·¡½º¸¦ Á¤ÀÇÇÔÀ¸·Î½á ÇϳªÀÇ µ¶¸³µÈ À©µµ¿ì·Î µ¿ÀÛÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. WindowŬ·¡½º´Â border¹× µµ±¸¸ðÀ½À» °¡ÁöÁö ¾Ê´Â »óÀ§ ·¹º§À©µµ¿ìÀÔ´Ï´Ù. À©µµ¿ì¿¡ ±âº»ÀûÀ¸·Î ÁÖ¾îÁø LayoutÇüÅ´ BorderLayoutÀÔ´Ï´Ù. À©µµ¿ìÀÇ ÀÛ¼º½Ã¿¡´Â, Frame, Dialog ¶Ç´Â ´Ù¸¥ À©µµ¿ì¸¦ »óÀ§Å¬·¡½º·Î¼­ Á¤ÀÇÇØ¾ß¸¸ ÇÕ´Ï´Ù. ´ÙÀ½ ¿¹Á¦´Â buttonÀ» Ŭ¸¯ÇÏ¸é ±ÛÀÌ Ãâ·ÂµÇ´Â WindowÄÄÆ÷³ÍÆ® ¿¹Á¦ÀÔ´Ï´Ù.

 

WindowTest(WindowÄÄÆ÷³ÍÆ®¿¡ °üÇÑ ¿¹Á¦)

import java.awt.*;

import java.awt.event.*;

class WindowTest extends Frame {

   private Window w;

   private Button b;

   class AcListener implements ActionListener {

     public void actionPerformed(ActionEvent e) {

        System.out.println("http://www.jabook.org");

     }

   }

   public WindowTest() {

       w=new Window(this);

       w.setLayout(new FlowLayout());

       w.add(b = new Button("HomePage"));

       b.addActionListener(new AcListener());

   }

   public static void main(String[] args) {

       WindowTest f = new WindowTest();

     Window[] w = f.getOwnedWindows();

       for(int i=0;i<w.length;i++) {

          System.out.println("Window["+i+"]: " + w[i]);

       }

       f.w.setLocation(100, 100);

       f.w.setBackground(Color.cyan);

       f.w.pack();

       f.w.show();

       for(int i=0;i<w.length;i++) {

          System.out.println("Window["+i+"]: " + w[i]);

       }

   }

}

C:\JavaExample\13>javac WindowTest.java

C:\JavaExample\13>java WindowTest

Window[0]: java.awt.Window[win0,0,0,0x0,invalid,hidden,layout=java.awt.FlowLayout]

Window[0]: java.awt.Window[win0,100,100,87x32,layout=java.awt.FlowLayout]

http://www.jabook.org

 

À̺¥Æ®°¡ ¹ß»ýÇÏ¸é µµ½ºÄܼÖâ¿¡ ¡°http://www.jabook.org¡±¶ó´Â ±ÛÀ» Ãâ·ÂÇÏ´Â ActionListener¸¦ ±¸ÇöÇÕ´Ï´Ù.

 

n        System.out.println("http://www.jabook.org");

 

ÀÚ±âÀڽſ¡°Ô ¼ÓÇÏ´Â(this) »õ·Î¿î À©µµ¿ì¸¦ º¸ÀÌÁö ¾Ê´Â »óÅÂ(hidden)·Î ¸¸µé°í ±× °´Ã¼¿¡ ¹öưÀ» »ý¼ºÇÕ´Ï´Ù.

 

n        w = new Window(this);

n        w.setLayout(new FlowLayout());

n        w.add(b = new Button("HomePage"));

n        b.addActionListener(new AcListener());

 

WindowÄÄÆ÷³ÍÆ®°¡ ¼ÒÀ¯Çϰí ÀÖ´Â ¸ðµç À©µµ¿ì¿¡ °üÇÑ Á¤º¸¸¦ for¹®À» »ç¿ë, µµ½ºÄܼÖâ¿¡ Ãâ·ÂÇϰí ÀÖ½À´Ï´Ù. óÀ½ °á°ú°ªÀº Á¦´ë·Î Ãâ·ÂµÇ´Â °ÍÀÌ ¾ø½À´Ï´Ù. ¾ÆÁ÷ ¿©·¯ºÐÀÌ À©µµ¿ìâ¿¡´ëÇØ¼­ ¾Æ¹«°Íµµ ¼³Á¤ÇÏÁö ¾Ê¾ÒÀ¸´Ï±î¿ä. ±×·¯¹Ç·Î ¿©±â±îÁö¸¸ ÄÚµùÀ» Çϰí Ãâ·ÂÀ» ÇÑ´Ù¸é ¾ÆÁ÷Àº ¾Æ¹«°Íµµ º¸ÀÌÁö ¾Ê½À´Ï´Ù. À©µµ¿ì ÄÄÆ÷³ÍÆ®¸¦ »ý¼ºÇÏ¸é ±âº»ÀûÀ¸·Î º¸ÀÌÁö ¾Ê´Â »óŰ¡ µÇ±â ¶§¹®ÀÌÁÒ. µû¶ó¼­ À©µµ¿ìâÀÌ º¸ÀÌ·Á¸é À©µµ¿ìÀÇ Å©±â¿Í À©µµ¿ì ÄÄÆ÷³ÍÆ®ÀÇ Visible »óÅÂ, ±×¸®°í À©µµ¿ì âÀÇ À§Ä¡¸¦ Á¶ÀýÇØ ÁÖ¾î¾ßÇÕ´Ï´Ù.

 

n        Window[] w=f.getOwnedWindows();

n        for(int i=0;i<w.length;i++){

n           System.out.println("Window["+i+"]: " + w[i]);

n        }

 

 w¿¡°Ô ¿©·¯ °¡Áö ¼³Á¤°ªÀ» ÁØ ÈÄ¿¡ windowÄÄÆ÷³ÍÆ®°¡ ¼ÒÀ¯Çϰí ÀÖ´Â ¸ðµç À©µµ¿ì¿¡ °üÇÑ Á¤º¸¸¦ for¹®À» »ç¿ë, µµ½º ÄܼÖâ¿¡ Ãâ·ÂÇϰí ÀÖ½À´Ï´Ù. ±× °á°ú ¿ì¸®°¡ ¼³Á¤ÇØÁØ´ë·Î µµ½ºÄܼÖâ¿¡ ³ªÅ¸³ª´Â±º¿ä. ¿ì¸®°¡ ¼³Á¤ÇØÁÖ¾ú±â ¶§¹®¿¡ ´ç¿¬È÷ À©µµ¿ìâÀÌ ³ªÅ¸³ª°Ô µÇ¾ú½À´Ï´Ù.

 

n        f.w.setLocation(100,100);

n        f.w.setBackground(Color.cyan);

n        f.w.pack();

n        f.w.show();

 

À©µµ¿ìâÀÌ º¸ÀÌ·Á¸é À©µµ¿ìÀÇ Å©±â¿Í À©µµ¿ì ÄÄÆ÷³ÍÆ®ÀÇ Visible »óÅÂ, ±×¸®°í À©µµ¿ì âÀÇ À§Ä¡¸¦ ¹Ýµå½Ã Á¶ÀýÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ ¼¼°¡Áö¸¸ ÇØÁشٸé À©µµ¿ì¿¡ °üÇØ¼­´Â ´õ ÀÌ»ó ¹è¿ì½Ç °ÍÀÌ ¾ø½À´Ï´Ù.

 

Window »ý¼ºÀÚ¸Þ¼­µå

public Window(Frame f) : ÁöÁ¤µÈ Framef¿¡ ¼ÓÇÏ´Â »õ·Î¿î À©µµ¿ì¸¦ º¸ÀÌÁö ¾Ê´Â(invisible) »óÅ·Π»ý¼ºÇÕ´Ï´Ù.

public Window(Window w) : ÁöÁ¤µÈ À©µµ¿ìw¿¡ ¼ÓÇÏ´Â »õ·Î¿î À©µµ¿ì¸¦ º¸ÀÌÁö ¾Ê´Â(invisible) »óÅ·Π»ý¼ºÇÕ´Ï´Ù.

 

Window ÁÖ¿ä ¸â¹ö¸Þ¼­µå

public void show() : À©µµ¿ì¸¦ º¸¿©Áöµµ·Ï ÇÕ´Ï´Ù.

public void toBack() : À©µµ¿ì¸¦ µÚ·Î º¸³À´Ï´Ù.

public void toFront() : À©µµ¿ì¸¦ ¾ÕÀ¸·Î º¸³À´Ï´Ù.

public void pack() : À©µµ¿ì¸¦ ÃÖÀûÀÇ Å©±â·Î Á¶ÀýÇϰí Àڽſ¡°Ô ¼ÓÇÑ ÄÄÆ÷³ÍÆ®¸¦ ¹èÄ¡½ÃÅ´´Ï´Ù.

public Component getFocusOwner() : À©µµ¿ì°¡ Ȱ¼ºÈ­µÇ¾úÀ» ¶§, ÇöÀç Focus¸¦ °¡Áø À©µµ¿ìÀÇ ÀÚ½Ä ÄÄÆ÷³ÍÆ®¸¦ ¾ò½À´Ï´Ù. 

public Window[] getOwnedWindows() : ÇöÀç ÀÌ À©µµ¿ì°¡ ¼ÒÀ¯Çϰí ÀÖ´Â ¸ðµç À©µµ¿ì°¡ ÀúÀåµÇ¾î ÀÖ´Â ¹è¿­À» µ¹·ÁÁÝ´Ï´Ù.

public bolean isShowing() : À©µµ¿ì°¡ ½ºÅ©¸°»ó¿¡ º¸¿©Áö´ÂÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù.



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