Ç¥½Ã ¹× ÀϺΠÀ§ÁöÆ®(widget)¸¦ ÀÛ¼ºÇϰí ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¸Þ½ÃÁö ·çÇÁ¸¦ ½ÃÀÛÇÑ °æ¿ì ½ÇÁ¦ ÀÛ¾÷Àº ¾îµð¿¡¼ ¹ß»ýÇմϱî? ´ë±â¿¿¡¼ À̺¥Æ®¸¦ Àоî¿Í¼ À§ÁöÆ®(widget)¿¡ µð½ºÆÐÄ¡ÇÒ ¶§¸¶´Ù ½ÇÁ¦ ÀÛ¾÷ÀÌ ¹ß»ýÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ³í¸®ÀÇ ´ëºÎºÐÀº »ç¿ëÀÚ À̺¥Æ®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ±¸ÇöµË´Ï´Ù.
ÀÛ¼ºÇÑ À§ÁöÆ®(widget)¿¡ ¸®½º³Ê¸¦ Ãß°¡ÇÏ´Â °ÍÀÌ ±âº» ÆÐÅÏÀ̰í ÀûÀýÇÑ À̺¥Æ®´Â ½ÇÇàÇÒ ¸®½º³Ê Äڵ忡 ¹ß»ýÇÕ´Ï´Ù. ´ÙÀ½ÀÇ °£´ÜÇÑ ¿¹´Â org.eclipse.swt.examples.helloworld.HelloWorld3¿¡¼ °³ÀÛÇÑ °ÍÀÔ´Ï´Ù.
Display display = new Display (); Shell shell = new Shell (display); Label label = new Label (shell, SWT.CENTER); ... shell.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { label.setBounds (shell.getClientArea ()); } });
°¢ ¸®½º³Ê À¯Çü¸¶´Ù ¸®½º³Ê(XyzListener)¸¦ Á¤ÀÇÇÏ´Â ÀÎÅÍÆäÀ̽º, À̺¥Æ® Á¤º¸(XyzEvent)¸¦ Á¦°øÇϴ Ŭ·¡½º, ¸®½º³Ê¸¦ Ãß°¡ÇÏ´Â API ¸Þ¼Òµå(addXyzListener)°¡ ÀÖ½À´Ï´Ù. ¸®½º³Ê ÀÎÅÍÆäÀ̽º¿¡ Á¤ÀÇµÈ ¸Þ¼Òµå°¡ Çϳª ÀÌ»óÀÏ °æ¿ì, ¸®½º³Ê ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ°í ºó ¸Þ¼Òµå¸¦ Á¦°øÇÏ´Â ¾î´ðÅÍ(XyzAdapter)°¡ ÀÖ½À´Ï´Ù. ¸ðµç À̺¥Æ®, ¸®½º³Ê, ¾î´ðÅͰ¡ org.eclipse.swt.events ÆÐŰÁö¿¡ Á¤ÀǵǾî ÀÖ½À´Ï´Ù.
´ÙÀ½ Å×ÀÌºí¿¡¼´Â »ç¿ëÇÒ ¼ö ÀÖ´Â À̺¥Æ®¿Í °¢ À̺¥Æ®¸¦ Áö¿øÇÏ´Â À§ÁöÆ®(widget)¸¦ ¿ä¾àÇÕ´Ï´Ù. À̺¥Æ®¸¦ µÎ °³ÀÇ ÀÏ¹Ý Ä«Å×°í¸® Áï, Á¦¾î¿¡ ´ëÇÑ ³í¸® Á¶ÀÛÀ» Ç¥½ÃÇÏ´Â »óÀ§ ·¹º§ À̺¥Æ®¿Í º¸´Ù ƯÁ¤ÇÑ »ç¿ëÀÚ »óÈ£ÀÛ¿ëÀ» ¼³¸íÇÏ´Â ÇÏÀ§ ·¹º§ À̺¥Æ®·Î ºÐÇÒÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷§Æû¸¶´Ù ´Ù¸¦ ¼öµµ ÀÖ´Â ´ÙÁß ÇÏÀ§ ·¹º§ À̺¥Æ®·Î »óÀ§ ·¹º§ À̺¥Æ®¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÀ§ ·¹º§ À̺¥Æ®´Â ÀϹÝÀûÀ¸·Î »ç¿ëÀÚ Á¤ÀÇ À§ÁöÆ®(widget) ±¸Çö¿¡¸¸ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
À̺¥Æ® À¯Çü |
¼³¸í |
---|---|
Activate, Deactivate | Á¦¾î°¡ Ȱ¼ºÈ ¶Ç´Â ºñȰ¼ºÈµÉ ¶§ »ý¼ºµË´Ï´Ù. |
Arm | ¸Þ´º Ç׸ñÀÌ Á¦°øµË´Ï´Ù(°Á¶Ç¥½ÃµÇ¾î ¼±ÅÃµÉ Áغñ°¡ µÊ). |
Close | â °ü¸®ÀÚ°¡ ¿äûÇÑ ´ë·Î ½©À» ´Ý½À´Ï´Ù. |
DefaultSelection | »ç¿ëÀÚ°¡ ±âº» ¼±Åà Á¶Ä¡¸¦ È£ÃâÇÏ¿© Ç׸ñÀ» ¼±ÅÃÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Enter¸¦ ´©¸£°Å³ª Å×ÀÌºí¿¡¼ ÇàÀ» µÎ ¹ø Ŭ¸¯ÇÕ´Ï´Ù. |
Dispose | ÇÁ·Î±×·¥ÀûÀ¸·Î ¶Ç´Â »ç¿ëÀÚ°¡ À§ÁöÆ®(widget)¸¦ ó¸®ÇÕ´Ï´Ù. |
DragDetect | »ç¿ëÀÚ°¡ °¡´ÉÇÑ ²ø±â Á¶ÀÛÀ» ½ÃÀÛÇß½À´Ï´Ù. |
EraseItem | TableItem ¶Ç´Â TreeItemÀÇ ¹è°æÀ» ±×¸³´Ï´Ù. |
Expand, Collapse | Æ®¸®ÀÇ Ç׸ñÀ» ÆîÄ¡°Å³ª Á¢½À´Ï´Ù. |
Help | »ç¿ëÀÚ°¡ À§ÁöÆ®(widget)¿¡ ´ëÇÑ µµ¿ò¸»À» ¿äûÇß½À´Ï´Ù. ¿¹¸¦ µé¾î, Windows¿¡¼ F1 ۸¦ ´©¸£¸é ÀÌ·¸°Ô µË´Ï´Ù. |
Iconify, Deiconify | ½©ÀÌ ÃÖ¼ÒÈ, ÃÖ´ëÈ ¶Ç´Â º¹¿øµÇ¾ú½À´Ï´Ù. |
MeasureItem | »ç¿ëÀÚ Á¤ÀÇ·Î ÀÛ¼ºµÈ TableItem ¶Ç´Â TreeItemÀÇ Å©±â¸¦ ¿äûÇÕ´Ï´Ù. |
MenuDetect | »ç¿ëÀÚ°¡ ÄÁÅØ½ºÆ® ¸Þ´º¸¦ ¿äûÇß½À´Ï´Ù. |
Modify | À§ÁöÆ®(widget)ÀÇ ÅØ½ºÆ®°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù. |
Move, Resize | ÇÁ·Î±×·¥ÀûÀ¸·Î ¶Ç´Â »ç¿ëÀÚ°¡ Á¦¾î À§Ä¡¸¦ º¯°æÇ߰ųª Á¦¾î Å©±â¸¦ Á¶Á¤Çß½À´Ï´Ù. |
PaintItem | TableItem ¶Ç´Â TreeItemÀÇ Àü°æÀ» ±×¸³´Ï´Ù. |
Selection | »ç¿ëÀÚ°¡ Á¦¾îÀÇ Ç׸ñÀ» ¼±ÅÃÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Å×À̺íÀÇ ÇàÀ» ÇÑ ¹ø Ŭ¸¯Çϰųª Űº¸µå¸¦ »ç¿ëÇÏ¿© Ç׸ñÀ» Ž»öÇÕ´Ï´Ù. |
SetData | °¡»ó Å×À̺íÀ» »ç¿ëÇÒ ¶§ TableItem¿¡ µ¥ÀÌÅ͸¦ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. |
Settings | ½Ã½ºÅÛ ±Û²Ã ¶Ç´Â »ö»ó°ú °°Àº ¿î¿µ üÁ¦ Ư¼ºÀÌ º¯°æµÇ¾ú½À´Ï´Ù. |
Show, Hide | Á¦¾îÀÇ °¡½Ã¼ºÀÌ º¯°æµÇ¾ú½À´Ï´Ù. |
Traverse | »ç¿ëÀÚ°¡ Ű½ºÆ®·ÎÅ©¸¦ »ç¿ëÇÏ¿© Á¦¾î¸¦ ¹þ¾î³ª ¼øÈ¸¸¦ ½ÃµµÇϰí ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, À̽ºÄÉÀÌÇÁ ¶Ç´Â ÅÇ Å°°¡ ¼øÈ¸¿¡ »ç¿ëµË´Ï´Ù. |
Verify | À§ÁöÆ®(widget)ÀÇ ÅØ½ºÆ®°¡ ¼öÁ¤µË´Ï´Ù. ÀÌ À̺¥Æ®´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÅØ½ºÆ®¸¦ ¼öÁ¤Çϰųª ¼öÁ¤À» ¹æÁöÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇÕ´Ï´Ù. |
À̺¥Æ® À¯Çü |
¼³¸í |
---|---|
FocusIn, FocusOut | Á¦¾î°¡ ÃÊÁ¡À» ȹµæÇ߰ųª À¯½ÇÇß½À´Ï´Ù. |
KeyDown, KeyUp | Á¦¾î¿¡ Űº¸µå ÃÊÁ¡ÀÌ ÀÖÀ» ¶§ »ç¿ëÀÚ°¡ Űº¸µå ۸¦ ´·¶°Å³ª ÇØÁ¦Çß½À´Ï´Ù. |
MouseDown, MouseUp, MouseDoubleClick | »ç¿ëÀÚ°¡ Á¦¾î À§¿¡¼ ¸¶¿ì½º¸¦ ´·¶°Å³ª ÇØÁ¦Ç߰ųª ¶Ç´Â ¸¶¿ì½º¸¦ µÎ ¹ø Ŭ¸¯Çß½À´Ï´Ù. |
MouseMove | »ç¿ëÀÚ°¡ Á¦¾î¿¡¼ ¸¶¿ì½º¸¦ À̵¿Çß½À´Ï´Ù. |
MouseEnter, MouseExit, MouseHover | ¸¶¿ì½º°¡ ÀÔ·Â, Á¾·áµÇ¾ú°Å³ª ¶Ç´Â Á¦¾î À§¿¡ ¿Ã·Á ³õ¾Ò½À´Ï´Ù. |
MouseWheel | ¸¶¿ì½º ÈÙÀÌ È¸ÀüµÇ¾ú½À´Ï´Ù. |
Paint | Á¦¾î°¡ ¼Õ»óµÇ¾î ¸®ÆäÀÎÆÃÀÌ ÇÊ¿äÇÕ´Ï´Ù. |
¾Õ¼ ¼³¸íÇÑ À¯ÇüÈµÈ À̺¥Æ® ½Ã½ºÅÛ À̿ܿ¡ SWT´Â ÇÏÀ§ ·¹º§ÀÇ À¯ÇüȵÇÁö ¾ÊÀº À§ÁöÆ®(widget) À̺¥Æ® ¸ÞÄ¿´ÏÁòÀ» Áö¿øÇÕ´Ï´Ù. À¯ÇüȵÇÁö ¾ÊÀº ¸ÞÄ¿´ÏÁòÀº À̺¥Æ® À¯ÇüÀ» ½Äº°ÇÏ´Â »ó¼ö¿¡ µû¶ó ´Ù¸£¸ç ÀÌ »ó¼ö¿Í ÇÔ²² Á¦°øµÇ´Â ÀÏ¹Ý ¸®½º³Ê¸¦ Á¤ÀÇÇÕ´Ï´Ù. ±×·¯¸é ¸®½º³Ê¿¡¼ "case style" ¸®½º³Ê¸¦ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ½º´ÏÆê¿¡¼´Â ÀÏ¹Ý À̺¥Æ® Çڵ鷯¸¦ Á¤ÀÇÇÏ°í ¿©·¯ °³ÀÇ ¸®½º³Ê¸¦ ½©¿¡ Ãß°¡ÇÕ´Ï´Ù.
Shell shell = new Shell(); Listener listener = new Listener() { public void handleEvent(Event e) { switch (e.type) { case SWT.Resize: System.out.println ("Resize received"); break; case SWT.Paint: System.out.println ("Paint received"); break; default: System.out.println("Unknown event received"); } } }; shell.addListener(SWT.Resize, listener); shell.addListener(SWT.Paint, listener);