Workbench´Â º¹ÀâÇÑ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ºôµåÇϱâ À§ÇØ ´Ù¾çÇÑ ¼¼Æ®ÀÇ Å¬·¡½º¿Í ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù. ´ÙÇàÈ÷ °£´ÜÇÑ ÀÛ¾÷À» ¼öÇàÇÒ °æ¿ì¿¡´Â ÀÌ ¸ðµç »çÇ×À» ÀÌÇØÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ¿ì¼± ¸ÕÀú Workbench »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿Í ÇØ´ç ±¸Á¶¿¡ ³ªÅ¸³ ÀϺΠ°³³äÀ» »ìÆìº¸°Ú½À´Ï´Ù.
Áö±Ý±îÁö´Â "Ç÷§ÆûÀ» ½ÃÀÛÇÒ ¶§ ¿¸®´Â â"À» ³ªÅ¸³¾ ¶§ Workbench¶ó´Â ¿ë¾î¸¦ »ç¿ëÇØ ¿Ô½À´Ï´Ù. Workbench¸¦ ±¸¼ºÇÏ´Â ºñÁÖ¾ó ±¸¼º¿ä¼Ò¿¡ ´ëÇØ Á» ´õ ÀÚ¼¼È÷ »ìÆìº¸°Ú½À´Ï´Ù.
ÀÌ ¼³¸íÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼ Workbench¶ó´Â ¿ë¾î¸¦ »ç¿ëÇÒ ¶§´Â Workbench â(IWorkbenchWindow)À» °¡¸®Åµ´Ï´Ù. Workbench âÀº WorkbenchÀÇ ÃÖ»óÀ§ ·¹º§ âÀÔ´Ï´Ù. ÀÌ Ã¢Àº ¸Þ´º Ç¥½ÃÁÙ, µµ±¸ ¸ðÀ½, »óÅ ǥ½ÃÁÙ, ¹Ù·Î °¡±â ¸·´ë ¹× ÆäÀÌÁö µîÀÌ ÀÖ´Â ÇÁ·¹ÀÓÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î Workbench â¿¡ ÇÁ·Î±×·¥ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. Workbench âÀÌ Ç¥½ÃµÈ °Í¸¸ È®ÀÎÇÕ´Ï´Ù.
Âü°í: ¿©·¯ Workbench âÀ» ¿ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª °¢°¢ÀÇ Workbench âÀº ÆíÁý±â ¹× º¸±âÀÇ µ¶¸³ÀûÀÎ ¿µ¿ªÀ̹ǷΠÇϳªÀÇ Workbench â¿¡ ÃÊÁ¡À» ÁöÁ¤ÇÕ´Ï´Ù.
»ç¿ëÀÚÀÇ °üÁ¡¿¡¼ Workbench¿¡´Â º¸±â¿Í ÆíÁý±â°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. Workbench âÀ» ±¸ÇöÇÏ´Â µ¥ »ç¿ëµÇ´Â ¼Ò¼öÀÇ Å¬·¡½ºµµ ÀÖ½À´Ï´Ù.
Workbench â¿¡¼ ¿©·¯ ÆÄÆ®¸¦ Â÷·Ê·Î Æ÷ÇÔÇÑ ÇϳªÀÇ ÆäÀÌÁö (IWorkbenchPage)¸¦ ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆäÀÌÁö´Â ÆÄÆ®¸¦ ±×·ìÈÇϱâ À§ÇÑ ±¸Çö ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. ´ë°³´Â ÆäÀÌÁö¿¡ ´ëÇØ ÇÁ·Î±×·¥ÇÒ ÇÊ¿ä´Â ¾øÁö¸¸ ÇÁ·Î±×·¡¹Ö°ú µð¹ö±ë ÄÁÅØ½ºÆ®¿¡¼ ÆäÀÌÁö¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
Perspective´Â Workbench ÆäÀÌÁö¿¡¼ Á¶Á÷ÀÇ Ãß°¡ ·¹À̾ Á¦°øÇÕ´Ï´Ù. Perspective´Â ÁöÁ¤µÈ »ç¿ëÀÚ Å¸½ºÅ©¿¡ Àû¿ë °¡´ÉÇÑ Á¶Ä¡, º¸±â, ·¹À̾ƿôÀÇ ÀûÀýÇÑ ÄÝ·º¼ÇÀ» Á¤ÀÇÇÕ´Ï´Ù. »ç¿ëÀڴ Ÿ½ºÅ©¿¡¼ À̵¿ÇÏ¸é¼ Perspective »çÀ̸¦ ÀüȯÇÒ ¼ö ÀÖ½À´Ï´Ù. ±¸Çö °üÁ¡¿¡¼ Ȱ¼º Perspective´Â Workbench ÆäÀÌÁö¿¡ Ç¥½ÃµÇ´Â º¸±â, À§Ä¡ ¹× Å©±â¸¦ Á¦¾îÇÕ´Ï´Ù. ÆíÁý±â´Â PerspectiveÀÇ º¯°æ»çÇ׿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
º¸±â ¹× ÆíÁý±â´Â ±¸Çö ¼¼ºÎ»çÇ× À̿ܿ¡µµ °øÅë Ç÷¯±×ÀÎ ÇÁ·Î±×·¡¹ÖÀ» ÁøÇàÇÏ´Â Àå¼ÒÀÔ´Ï´Ù. Workbench¿¡ ºñÁÖ¾ó ±¸¼º¿ä¼Ò¸¦ Ãß°¡ÇÒ °æ¿ì º¸±â³ª ÆíÁý±â¸¦ ±¸ÇöÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±× °áÁ¤ ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸°Ú½À´Ï´Ù.
¾î´À °æ¿ìµç °øÅë ¶óÀÌÇÁ »çÀÌŬ¿¡ µû¶ó º¸±â³ª ÆíÁý±â¸¦ ºôµåÇÏ°Ô µË´Ï´Ù.
ÀÌ ¶óÀÌÇÁ »çÀÌŬ µ¿¾È ÇØ´çÇÏ´Â ´ç»çÀÚ¿¡°Ô º¸±â ¹× ÆíÁý±âÀÇ ¿±â, Ȱ¼ºÈ, ºñȰ¼ºÈ, ´Ý±â¸¦ ¾Ë·ÁÁÖ±â À§ÇØ À̺¥Æ®¸¦ Æ÷ÇÔÇÏ´Â Workbench ÆäÀÌÁö¿¡¼ À̺¥Æ®¸¦ ¹ß»ý½Ãŵ´Ï´Ù.
Áö±Ý±îÁö Workbench º¸±â¿Í ÆíÁý±â¿¡ ´ëÇÑ ¼³¸íÀÌ °£´ÜÇØ º¸ÀÏ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀÌ ¹Ù·Î Workbench º¸±â¿Í ÆíÁý±âÀÇ ÀåÁ¡ÀÔ´Ï´Ù. À̵éÀº ´Ü¼øÈ÷ À§ÁöÆ®(widget) Ȧ´õÀÏ »ÓÀ̰í ÇÊ¿äÇÑ ´ë·Î °£´ÜÇϰųª º¹ÀâÇØÁú ¼ö ÀÖ½À´Ï´Ù. ÀÌÀü¿¡ Hello World º¸±â¸¦ ºôµåÇÒ ¶§ °¡Àå °£´ÜÇÑ º¸±â¸¸ º¸¾Ò½À´Ï´Ù. ÇнÀ ³»¿ëÀ» ÀÚ¼¼È÷ ¼³¸íÇßÀ¸¹Ç·Î ÀÌÁ¦ À̸¦ ´Ù½Ã »ìÆì º¸°Ú½À´Ï´Ù.
package org.eclipse.examples.helloworld; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.SWT; import org.eclipse.ui.part.ViewPart; public class HelloWorldView extends ViewPart { Label label; public HelloWorldView() { } public void createPartControl(Composite parent) { label = new Label(parent, SWT.WRAP); label.setText("Hello World"); } public void setFocus() { // set focus to my widget. For a label, this doesn't // make much sense, but for more complex sets of widgets // you would decide which one gets the focus. } }
createPartControl(parent) ¸Þ¼Òµå¿¡ ·¹À̺íÀ» ¸¸µå´Â °Í¿Ü¿¡´Â ¾Æ¹« °Íµµ ÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ dispose() ¸Þ¼Òµå¸¦ ±¸ÇöÇÒ Çʿ䰡 ¾ø¾ú½À´Ï´Ù. À̹ÌÁö³ª ±Û²Ã°°Àº UI ÀÚ¿øÀ» ÇÒ´çÇß´Ù¸é ¿©±â¼ »èÁ¦ÇØ¾ß ÇÕ´Ï´Ù. ViewPart Ŭ·¡½º¸¦ È®ÀåÇ߱⠶§¹®¿¡ dispose()ÀÇ "do nothing" ±¸ÇöÀ» »ó¼ÓÇÕ´Ï´Ù.