´ëÈ»óÀÚ(Dialog)´Â ÃÖ»óÀ§ À©µµ¿ì(top-level window)ÀÇ ÀÚ½Ä À©µµ¿ì·Î¼ ÀϹÝÀûÀ¸·Î »ç¿ëÀڷκÎÅÍ Á¤º¸¸¦ ¾ò±â À§ÇØ »ç¿ëµË´Ï´Ù. Dialog´Â »ç¿ëÀÚµéÀÌ ÆÄÀÏÀ» ¼±ÅÃÇÏ¿© ¿±â µîÀÇ ÀÛ¾÷À» ½±°Ô Çϵµ·Ï ÇÕ´Ï´Ù. ÆÄÀÏ ÀÛ¾÷À» ½±°ÔÇϱâ À§ÇØ Á¦°øÇÏ´Â ÄÄÆ÷³ÍÆ®°¡ FileDialogŬ·¡½ºÀÔ´Ï´Ù. Dialog´Â FrameÀ©µµ¿ì¿Í ºñ½ÁÇѵ¥ ±× Â÷ÀÌÁ¡À» »ìÆìº¸¸é, ´ëÈ»óÀÚ´Â À©µµ¿ì¿¡ Á¾¼ÓÀûÀ̱⠶§¹®¿¡ ±× À©µµ¿ì°¡ ´ÝÈ÷¸é ´ëÈ»óÀÚµµ µû¶ó¼ °°ÀÌ ´ÝÈ÷°Ô µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ¶ÇÇÑ À©µµ¿ì¸¦ ÃÖ¼ÒȽÃÄѵµ ´ëÈ»óÀÚ´Â »ç¶óÁö°Ô µË´Ï´Ù.
´ëÈ»óÀÚ´Â modalÀ̰ųª modelessÇü½ÄÀÔ´Ï´Ù. modal´ëÈ»óÀÚ´Â ´ëÈ»óÀÚ°¡ Ȱ¼ºÈ µÈ ÈÄ ¸ðµç ÀÛ¾÷Àº ÀÌ ´ëÈ»óÀÚ¿¡¼¸¸ ÀÌ·ç¾îÁø´Ù´Â °ÍÀÔ´Ï´Ù. Áï, ´ëÈ»óÀÚ¸¦ ´ÝÀ» ¶§±îÁö´Â ´Ù¸¥ ÀÛ¾÷Àº ÇÒ ¼ö ¾ø°Ô ÇÕ´Ï´Ù. ¹Ý´ë·Î modeless´ëÈ»óÀڴ Ȱ¼ºÈ µÈ ÈÄ¿¡µµ ¶Ç ´Ù¸¥ À©µµ¿ì·Î ³Ñ¾î°¡ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÈ»óÀÚ´Â ±âº» default·Î modelessÀÔ´Ï´Ù.
¾Æ·¡ÀÇ ¿¹Á¦´Â ´ëÈ»óÀÚ¸¦ Çϳª ¿°í ¹®ÀÚ¿À» ÀԷ¹ÞÀºÈÄ, ¡®¼³Á¤¡¯ ¹öưÀ» ´©¸£¸é, ´ëÈ»óÀÚ°¡ Á¾¼ÓµÈ À©µµÀ§ÀÇ Å¸ÀÌÆ² ¹ÙÀÇ Á¦¸ñÀ» ÀÔ·ÂµÈ ¹®ÀÚ¿·Î ¹Ù²Ù°í ´ëÈ»óÀÚ¸¦ ´Ý½À´Ï´Ù. ÀÌ ¿¹Á¦¿¡¼´Â ¡®¼³Á¤¡¯¹öưÀ» Ŭ¸¯ÇÏ¿´À» ¶§ ÅØ½ºÆ® ÇʵåÀÇ °ªÀ» ³Ñ±â±â À§ÇÏ¿© ActionListenerÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ¿© »ç¿ëÇÏ¿´½À´Ï´Ù.
DialogTest.java(´ëÈ»óÀÚ¸¦ Å×½ºÆ®Çϱâ À§ÇÑ ¿¹Á¦) |
import java.awt.*; import java.awt.event.*; class TitleBox extends Dialog implements ActionListener { private TextField field; private Button button; private Frame parent; public TitleBox(Frame dw, String title) { super(dw, title, false); parent = dw; setLayout(new FlowLayout()); field = new TextField(15); button = new Button("¼³Á¤"); button.addActionListener(this); add(field); add(button); pack(); } public void actionPerformed(ActionEvent e) { parent.setTitle(field.getText()); field.selectAll(); setVisible(false); } } public class DialogTest extends Frame { public DialogTest() { TitleBox titleBox = new TitleBox(this, "Á¦¸ñÀ» ÀÔ·ÂÇϼ¼¿ä"); setLayout(new FlowLayout()); titleBox.show(); } public static void main(String[] args) { DialogTest f = new DialogTest(); f.setSize(200, 100); f.setVisible(true); } } |
C:\JavaExample\13>javac DialogTest.java C:\JavaExample\13>java DialogTest |
¿¹Á¦¸¦ ½ÇÇà½Ã۸é À§ °á°úȸéÀÇ ¿ÞÂʰú °°ÀÌ ¹ÙÅÁÀÇ Á¦¸ñ¾ø´Â À©µµ¿ì¿Í ´ëÈ»óÀÚ°¡ ³ªÅ¸³³´Ï´Ù. ±×·±ÈÄ ÅØ½ºÆ® Çʵ忡 ¡°¼Ò¼³ ÀÚ¹Ù¡±¶ó°í ÀÔ·ÂÇÑ ÈÄ ¡®¼³Á¤¡¯¹öưÀ» ´©¸£¸é ¿À¸¥Âʰú °°ÀÌ ¡°¼Ò¼³ ÀÚ¹Ù¡±¹®ÀÚ¿ÀÌ Á¾¼ÓµÈ À©µµ¿ìÀÇ Å¸ÀÌÆ² ¹Ù¿¡ ³ªÅ¸³ª°í, ´ëÈ»óÀÚ´Â »ç¶óÁý´Ï´Ù.
¸ÕÀú, DialogŬ·¡½º¸¦ »ó¼Ó¹Þ°í, ¹öưÀÇ À̺¥Æ®¸¦ 󸮸¦ Çϱâ À§ÇØ ActionListener¸¦ ±¸ÇöÇÏ¿© TitleBoxŬ·¡½º¸¦ »ý¼ºÇÕ´Ï´Ù.
n class TitleBox extends Dialog implements ActionListener
ÅØ½ºÆ®Çʵå, ¹öư, FrameÀ» Çϳª¾¿ ¼±¾ðÇÕ´Ï´Ù.
n TextField field;
n Button button;
n Frame parent;
TitleBoxÀÇ LayoutÀ» FlowLayoutÀ¸·Î ¼³Á¤Çϰí 15Å©±âÀÇ ÅØ½ºÆ®Çʵ尴ü field¿Í ¡®¼³Á¤¡¯À̶ó´Â À̸§ÀÇ ¹öư°´Ã¼ buttonÀ» ¸¸µé¾î Ãß°¡ÇÕ´Ï´Ù.
n setLayout(new FlowLayout());
n field = new TextField(15);
n button = new Button("¼³Á¤");
n button.addActionListener(this);
n add(field);
n add(button);
¡®¼³Á¤¡¯ ¹öưÀÇ À̺¥Æ®¸¦ ó¸®ÇØ ÁÖ±â À§ÇØ ActionListenerÀÇ ¸Þ¼µå actionPerformed()¸¦ ÀçÁ¤ÀÇ ÇØ ÁÝ´Ï´Ù. ¿©±â¼´Â À̺¥Æ®°¡ ¹ß»ý½Ã ÅØ½ºÆ® ÇʵåÀÇ °ªÀ» Á¾¼Ó À©µµ¿ìÀÇ Å¸ÀÌÆ² ¹Ù·Î ³Ñ±â°í ÀÚ±â ÀÚ½ÅÀÇ À©µµ¿ì¸¦ »ç¶óÁö°Ô ÇÕ´Ï´Ù.
n public void actionPerformed(ActionEvent e) {
n parent.setTitle(field.getText());
n field.selectAll();
n setVisible(false);
n }
main¸Þ¼µå¿¡¼ DialogTest°´Ã¼ f¸¦ »ý¼ºÇÏ¿© 200*100Å©±âÀÇ ´ëÈ»óÀÚ¸¦ ¶ç¿ó´Ï´Ù.
n DialogTest f = new DialogTest();
n f.setSize(200, 100);
n f.setVisible(true);
Java¿¡¼´Â DialogÄÞÆ÷³ÍÆ®¸¦ Á¦°øÇÏ¿© ´ëÈ»óÀÚ(dialog box)¸¦ ¸¸µé¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù.
´ëÈ»óÀÚ´Â ÄÁÆ®·ÑÀ» Ãß°¡ÇÏ¿© ¿©·¯°¡Áö ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Â ±â¹ÝÀ» ¸¶·ÃÇϴ°Ͱú °°ÀÌ FrameÀ©µµ¿ì¿Í °°Àº ÀÛ¾÷À» ÇÏÁö¸¸ Å« Â÷ÀÌÁ¡Àº À§¿¡¼ ¼³¸íÇÑ´ë·Î modal, modaless»óŸ¦ °¡Áú ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. ´ÙÀ½À¸·Î´Â ´ëÈ»óÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸¸µå´Â À¯¿ëÇÑ ÇÏÀ§ Ŭ·¡½ºÁß ÇϳªÀÎ FileDialog¸¦ »ìÆìº½À¸·Î½á ´ëÈ»óÀÚÀÇ À¯¿ë¼ºÀ» Á» ´õ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
Dialog »ý¼ºÀÚ¸Þ¼µå |
public Dialog(Dialog owner), Dialog(Frame owner) : À̸§ÀÌ ¾ø°í, ÁÖ¾îÁø Frame ¶Ç´Â ´ëÈ»óÀÚ¿¡ owner¿¡ Á¾¼ÓµÇ°í, non-modalÀÎ ´ëÈ»óÀÚ¸¦ »ý¼ºÇϴµ¥, Ãʱ⿡´Â º¸ÀÌÁö ¾Êµµ·Ï ¼³Á¤µË´Ï´Ù. public Dialog(Frame owner, boolean modal) : À̸§ÀÌ ¾ø°í, ÁÖ¾îÁø Frame¿¡ Á¾¼ÓµÇ°í, ÁÖ¾îÁø modalÀÇ ´ëÈ»óÀÚ¸¦ »ý¼ºÇϴµ¥, Ãʱ⿡´Â º¸ÀÌÁö ¾Êµµ·Ï ¼³Á¤µË´Ï´Ù public Dialog(Dialog owner, String title), Dialog(Frame owner, String title) : À̸§À» title·Î °®°í, ÁÖ¾îÁø Frame ¶Ç´Â ´ëÈ»óÀÚ¿¡ Á¾¼ÓµÇ°í, non-modalÀÎ ´ëÈ»óÀÚ¸¦ »ý¼ºÇϴµ¥, Ãʱ⿡´Â º¸ÀÌÁö ¾Êµµ·Ï ¼³Á¤µË´Ï´Ù. public Dialog(Dialog owner, String title, boolean modal), Dialog(Frame owner, String title, boolean modal) : À̸§À» title·Î °®°í, ÁÖ¾îÁø Frame ¶Ç´Â ´ëÈ»óÀÚ¿¡ Á¾¼ÓµÇ°í, modalÀÎ ´ëÈ»óÀÚ¸¦ »ý¼ºÇϴµ¥, Ãʱ⿡´Â º¸ÀÌÁö ¾Êµµ·Ï ¼³Á¤µË´Ï´Ù. |
Dialog ÁÖ¿ä ¸Þ¼µå |
public String getTitle() : ´ëÈ»óÀÚÀÇ Á¦¸ñÀ» ¾ò½À´Ï´Ù. public boolean isModal() : ´ëÈ»óÀÚ°¡ modalÀÎÁö ¿©ºÎ¸¦ ¾ò½À´Ï´Ù. public boolean isResizable() : ´ëÈ»óÀÚ°¡ »ç¿ëÀÚ¿¡ ÀÇÇØ Å©±â º¯È°¡ °¡´ÉÇÑÁö ¿©ºÎ¸¦ ¾ò½À´Ï´Ù. public void setTitle(String title) : ´ëÈ»óÀÚÀÇ Á¦¸ñÀ» title·Î ¼³Á¤ÇÕ´Ï´Ù. public void setResizable(boolean resizable) : ´ëÈ»óÀÚÀÇ Å©±âº¯ÈÀÇ °¡´É, ºÒ°¡´É ¼³Á¤ÇÕ´Ï´Ù. |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù3ºÎ ÀúÀÚ:ÃÖ¿µ°ü |