Ç¥½Ã ¹× ÀϺΠÀ§ÁöÆ®(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 ()); } });
¸ðµç À¯ÇüÀÇ ¸®½º³Ê¿¡ ´ëÇØ ¸®½º³Ê(Xyz¸®½º³Ê)¸¦ Á¤ÀÇÇÏ´Â ÀÎÅÍÆäÀ̽º, À̺¥Æ® Á¤º¸(XyzÀ̺¥Æ®)¸¦ Á¦°øÇϴ Ŭ·¡½º, ¸®½º³Ê(Ãß°¡Xyz¸®½º³Ê)¸¦ Ãß°¡ÇÏ´Â API ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù. ¸®½º³Ê ÀÎÅÍÆäÀ̽º¿¡ Á¤ÀÇµÈ ¸Þ¼Òµå°¡ Çϳª ÀÌ»óÀÏ °æ¿ì ¸®½º³Ê ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí, ºó ¸Þ¼Òµå¸¦ Á¦°øÇÏ´Â ¾î´ðÅÍ(Xyz¾î´ðÅÍ)°¡ Á¦°øÇÕ´Ï´Ù. ¸ðµç À̺¥Æ®, ¸®½º³Ê, ¾î´ðÅͰ¡ org.eclipse.swt.events ÆÐŰÁö¿¡ Á¤ÀǵǾî ÀÖ½À´Ï´Ù.
´ÙÀ½ Å×ÀÌºí¿¡¼´Â »ç¿ëÇÒ ¼ö ÀÖ´Â À̺¥Æ®¿Í À̺¥Æ®¸¦ Áö¿øÇÏ´Â À§ÁöÆ®(widget)¸¦ ¿ä¾àÇÕ´Ï´Ù.
À̺¥Æ® À¯Çü |
¼³¸í |
À§ÁöÆ®(widget) |
---|---|---|
Arm |
¸Þ´º Ç׸ñ µîÀÇ À§ÁöÆ®(widget)¸¦ ÁغñÇÑ °æ¿ì »ý¼ºµÊ. |
MenuItem |
Control |
Á¦¾î¸¦ À̵¿Çϰųª Å©±â Á¶Á¤ÇÑ °æ¿ì »ý¼ºµÊ. |
Control, TableColumn, Tracker |
Dispose |
ÇÁ·Î±×·¥¿¡ µû¶ó À§ÁöÆ®(widget)¸¦ »èÁ¦Çϰųª »ç¿ëÀÚ°¡ À§ÁöÆ®(widget)¸¦ »èÁ¦ÇÑ °æ¿ì »ý¼ºµÊ. |
Widget |
Focus |
Á¦¾î¿¡¼ Æ÷Ä¿½º¸¦ °¡Á®¿À°Å³ª ´©¶ôÇÑ °æ¿ì »ý¼ºµÊ. |
Control |
Help |
»ç¿ëÀÚ°¡ À§ÁöÆ®(widget)¿¡ µµ¿ò¸»À» ¿äûÇÑ °æ¿ì(¿¹: F1 Ű ´©¸£±â) »ý¼ºµÊ. |
Control, Menu, MenuItem |
Key |
Á¦¾î¿¡ Űº¸µå Æ÷Ä¿½º°¡ ÀÖÀ» ¶§ »ç¿ëÀÚ°¡ Űº¸µå ۸¦ ´©¸£°Å³ª ÇØÁ¦ÇßÀ» °æ¿ì »ý¼ºµÊ. |
Control |
Menu |
¸Þ´º¸¦ ¼û±â°Å³ª Ç¥½ÃÇÒ °æ¿ì »ý¼ºµÊ. |
Menu |
Modify |
À§ÁöÆ®(widget)ÀÇ ÅØ½ºÆ®¸¦ ¼öÁ¤ÇÑ °æ¿ì »ý¼ºµÊ. |
CCombo, Combo, Text, StyledText |
Mouse |
»ç¿ëÀÚ°¡ Á¦¾î¿¡¼ ¸¶¿ì½º¸¦ ´©¸£°Å³ª, ÇØÁ¦Çϰųª, µÎ ¹ø Ŭ¸¯ÇÑ °æ¿ì »ý¼ºµÊ. |
Control |
MouseMove |
Á¦¾î¿¡¼ ¸¶¿ì½º¸¦ À̵¿ÇÏ¸é »ý¼ºµÊ. |
Control |
MouseTrack |
Á¦¾î À§¿¡ ¸¶¿ì½º Ä¿¼¸¦ ³õ°Å³ª ÀÔ·Â ¶Ç´Â Á¾·áÇÒ °æ¿ì »ý¼ºµÊ. |
Control |
Paint |
Á¦¾î¸¦ ¸®ÆäÀÎÆ®ÇØ¾ß ÇÒ °æ¿ì »ý¼ºµÊ. |
Control |
Selection |
»ç¿ëÀÚ°¡ Á¦¾îÀÇ Ç׸ñÀ» ¼±ÅÃÇÑ °æ¿ì »ý¼ºµÊ. |
Button, CCombo, Combo, CoolItem, CTabFolder, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, Table Cursor, TableColumn, TableTree, Text, ToolItem, Tree |
Shell |
½©À» ÃÖ¼ÒÈ, ÃÖ´ëÈ, Ȱ¼ºÈ, ºñȰ¼ºÈÇϰųª ´ÝÀº °æ¿ì »ý¼ºµÊ. |
Shell |
Traverse |
Ű ÀÔ·ÂÀ» »ç¿ëÇÏ´Â »ç¿ëÀÚ°¡ Á¦¾î¸¦ ¼øÈ¸ÇÒ °æ¿ì »ý¼ºµÊ. |
Control |
Tree |
»ç¿ëÀÚ°¡ Æ®¸®ÀÇ Ç׸ñÀ» È®´ë ¶Ç´Â Ãà¼ÒÇÒ °æ¿ì »ý¼ºµÊ. |
Tree, TableTree |
Verify |
À§ÁöÆ®(widget)ÀÇ ÅØ½ºÆ®¸¦ ¼öÁ¤ÇÒ °æ¿ì »ý¼ºµÊ. ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÅØ½ºÆ®¸¦ ¼öÁ¤Çϰųª ¼öÁ¤À» ¹æÁöÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇÕ´Ï´Ù. |
Text, StyledText |
À§¿¡¼ ¼³¸íÇÑ À¯ÇüÈµÈ À̺¥Æ® ½Ã½ºÅÛÀº ³·Àº ·¹º§ÀÇ À¯ÇüȵÇÁö ¾ÊÀº À§ÁöÆ®(widget) À̺¥Æ® ¸ÞÄ¿´ÏÁòÀ¸·Î ±¸ÇöµË´Ï´Ù. ÀÌ ¸ÞÄ¿´ÏÁòÀº ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ »ç¿ëÇÏÁö ¾Ê°í SWTÀÌ ±¸ÇöµÈ ³»ºÎ¿¡¼ »ç¿ëÇÏ°Ô µË´Ï´Ù. ¿©·¯ Workbench ¸¶¹ý»ç ÆäÀÌÁö ±¸Çö¿¡¼µµ »ç¿ëµË´Ï´Ù.
À¯ÇüȵÇÁö ¾ÊÀº ¸ÞÄ¿´ÏÁòÀº À̺¥Æ® À¯ÇüÀ» ½Äº°ÇÏ´Â »ó¼ö¿¡ µû¶ó ´Ù¸£¸ç ÀÌ »ó¼ö¿Í ÇÔ²² Á¦°øµÇ´Â ÀÏ¹Ý ¸®½º³Ê¸¦ Á¤ÀÇÇÕ´Ï´Ù. ±×·¯¸é ¸®½º³Ê¿¡¼ "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);