º¹ÀâÇÑ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ºôµåÇϱâ À§ÇØ ´Ù¾çÇÑ ¼¼Æ®ÀÇ Å¬·¡½º¿Í ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ´ÙÇàÈ÷ °£´ÜÇÑ ÀÛ¾÷À» ¼öÇàÇÒ °æ¿ì¿¡´Â ÀÌ ¸ðµç »çÇ×À» ÀÌÇØÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ¿ì¼± ¸ÕÀú Workbench »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿Í ÇØ´ç ±¸Á¶¿¡ ³ªÅ¸³ ÀϺΠ°³³äÀ» »ìÆìº¸°Ú½À´Ï´Ù.
Áö±Ý±îÁö´Â "Ç÷§ÆûÀ» ½ÃÀÛÇÒ ¶§ ¿¸®´Â â"À» ³ªÅ¸³¾ ¶§ Workbench¶ó´Â ¿ë¾î¸¦ »ç¿ëÇØ ¿Ô½À´Ï´Ù. Workbench¸¦ ±¸¼ºÇÏ´Â ºñÁÖ¾ó ±¸¼º¿ä¼Ò¿¡ ´ëÇØ Á» ´õ ÀÚ¼¼È÷ »ìÆìº¸°Ú½À´Ï´Ù.
ÀÌ ¼³¸íÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼ Workbench¶ó´Â ¿ë¾î¸¦ »ç¿ëÇÒ ¶§´Â Workbench â(IWorkbenchWindow)À» °¡¸®Åµ´Ï´Ù. Workbench âÀº WorkbenchÀÇ ÃÖ»óÀ§ ·¹º§ âÀÔ´Ï´Ù. ÀÌ Ã¢Àº ¸Þ´º Ç¥½ÃÁÙ, µµ±¸ ¸ðÀ½, »óÅ ǥ½ÃÁÙ, ¹Ù·Î °¡±â ¸·´ë ¹× ÆäÀÌÁö µîÀÌ ÀÖ´Â ÇÁ·¹ÀÓÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î Workbench â¿¡ ÇÁ·Î±×·¥ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. Workbench âÀÌ Ç¥½ÃµÈ °Í¸¸ È®ÀÎÇÕ´Ï´Ù.
Âü°í: Perspective->¿±â¸¦ »ç¿ëÇÏ¿© ¿©·¯ Workbench âÀ» ¿ ¼ö ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î µ¿ÀÏ Workbench â¿¡¼ »õ Perspective°¡ ¿¸³´Ï´Ù. ´Ù¸¥ ¿É¼Çµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Workbench ȯ°æ ¼³Á¤ ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽʽÿÀ. Workbench âÀº ÆíÁý±â¿Í º¸±â¸¦ Æ÷ÇÔÇÏ¿© ¿ÏÀüÇÑ ±â´ÉÀ» Á¦°øÇϹǷΠÇϳªÀÇ Workbench ⸸ ÁßÁ¡ÀûÀ¸·Î ´Ù·ç°Ú½À´Ï´Ù.
»ç¿ëÀÚÀÇ °üÁ¡¿¡¼ Workbench¿¡´Â º¸±â¿Í ÆíÁý±â°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. Workbench âÀ» ±¸ÇöÇÏ´Â µ¥ »ç¿ëµÇ´Â ¼Ò¼öÀÇ Å¬·¡½ºµµ ÀÖ½À´Ï´Ù.
Workbench ⠾ȿ¡¼ ÆÄÆ®°¡ Æ÷ÇÔµÈ Çϳª ÀÌ»óÀÇ ÆäÀÌÁö(IWorkbenchPage)¸¦ ±³´ë·Î ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆäÀÌÁö´Â ÆÄÆ®¸¦ ±×·ìÈÇϱâ À§ÇÑ ±¸Çö ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. ´ë°³´Â ÆäÀÌÁö¿¡ ´ëÇØ ÇÁ·Î±×·¥ÇÒ ÇÊ¿ä´Â ¾øÁö¸¸ ÇÁ·Î±×·¡¹Ö°ú µð¹ö±ë ÄÁÅØ½ºÆ®¿¡¼ ÆäÀÌÁö¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
Âü°í: Perspective ±¸Çö ½Ã ÆäÀÌÁö°¡ »ç¿ëµË´Ï´Ù. ÆäÀÌÁö¸¦ »ç¿ëÇϸé Perspective¸¦ °°Àº Workbench âÀ̳ª »õ Workbench â¿¡¼ ¿Áö ¿©ºÎ¿Í »ó°ü¾øÀÌ ¿ÜºÎ ÄÁÅ×À̳ʿ¡ Workbench ÆÄÆ®¸¦ ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
º¸±â ¹× ÆíÁý±â´Â ±¸Çö ¼¼ºÎ»çÇ× À̿ܿ¡µµ °øÅë Ç÷¯±×ÀÎ ÇÁ·Î±×·¡¹ÖÀ» ÁøÇàÇÏ´Â Àå¼ÒÀÔ´Ï´Ù. Workbench¿¡ ºñÁÖ¾ó ±¸¼º¿ä¼Ò¸¦ Ãß°¡ÇÒ °æ¿ì º¸±â³ª ÆíÁý±â¸¦ ±¸ÇöÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±× °áÁ¤ ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸°Ú½À´Ï´Ù.
¾î´À °æ¿ìµç °øÅë ¶óÀÌÇÁ »çÀÌŬ¿¡ µû¶ó º¸±â³ª ÆíÁý±â¸¦ ºôµåÇÏ°Ô µË´Ï´Ù.
ºñÁÖ¾ó ±¸¼º¿ä¼Ò¸¦ ³ªÅ¸³»´Â SWT À§ÁöÆ®(widget)¸¦ ÀÛ¼ºÇÏ·Á¸é createPartControl ¸Þ¼Òµå¸¦ ±¸ÇöÇÕ´Ï´Ù. »ç¿ëÇÒ À§ÁöÆ®(widget)¸¦ °áÁ¤ÇÏ°í º¸±â³ª ÆíÁý±â¸¦ Ç¥½ÃÇÏ´Â µ¥ ÇÊ¿äÇÑ °ü·ÃµÈ UI ÀÚ¿øÀ» ÇÒ´çÇØ¾ß ÇÕ´Ï´Ù.
º¸±â³ª ÆíÁý±â¿¡¼ Æ÷Ä¿½º¸¦ ¹ÞÀ» °æ¿ì setFocus ¾Ë¸²À» ¹Þ°Ô µÇ¾î ÇØ´ç À§ÁöÆ®(widget)¿¡ Æ÷Ä¿½º¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
º¸±â³ª ÆíÁý±â¸¦ ´ÝÀ» °æ¿ì º¸±â³ª ÆíÁý±â°¡ ´ÝÈú °ÍÀ» ¾Ë·ÁÁÖ´Â »èÁ¦ ¸Þ½ÃÁö¸¦ ¹Þ°Ô µË´Ï´Ù. ÀÌ ½ÃÁ¡¿¡¼ createPartControl¿¡¼ ÇÒ´çµÈ Á¦¾î°¡ ÀÌ¹Ì »èÁ¦µÇ¾úÁö¸¸ Á¦¾î¸¦ ¸¸µé°Å³ª À§ÁöÆ®(widget) À̺¥Æ®¿¡ ÀÀ´äÇÏ´Â Áß¿¡ ÇÒ´çµÈ ±×·¡ÇÈ ÀÚ¿ø(¿¹: Ä¿¼, ¾ÆÀÌÄÜ, ±Û²Ã µî)Àº »ç¿ëÀÚ°¡ »èÁ¦ÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ ¶óÀÌÇÁ »çÀÌŬ µ¿¾È ÇØ´çÇÏ´Â ´ç»çÀÚ¿¡°Ô º¸±â ¹× ÆíÁý±âÀÇ ¿±â, Ȱ¼ºÈ, ºñȰ¼ºÈ, ´Ý±â¸¦ ¾Ë·ÁÁÖ±â À§ÇØ À̺¥Æ®¸¦ Æ÷ÇÔÇÏ´Â 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" ±¸ÇöÀ» »ó¼ÓÇÕ´Ï´Ù.