JFace Ç¥½Ã±â¿¡ Java ¿ä¼Ò ³ªÅ¸³»±â

JDT UI API´Â Ç¥ÁØ JFace Ç¥½Ã±â¿¡¼­ Java ¸ðµ¨ ¶Ç´Â ÀÌ ¸ðµ¨ÀÇ ÆÄÆ®¸¦ ³ªÅ¸³»µµ·Ï Çϴ Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ±â´ÉÀº ÁÖ·Î ´ÙÀ½¿¡¼­ Á¦°øÇÕ´Ï´Ù.

JFace Ç¥½Ã±â¿¡ ´ëÇÑ ÄÁÅÙÃ÷ ¹× ·¹À̺í Á¦°ø¾÷ü´Â JFace Ç¥½Ã±â¿¡ ÀÚ¼¼È÷ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.

±âº» Ç÷§Æû ¸ÞÄ¿´ÏÁòÀ» ÀÌÇØÇϸé Java ÄÁÅÙÃ÷ ¹× ·¹À̺í Á¦°ø¾÷ü¸¦ °£´ÜÇÏ°Ô ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù.
    ...
    TreeViewer viewer= new TreeViewer(parent);
    // Provide members of a compilation unit or class file, but no working copy elements
    ITreeContentProvider contentProvider= new StandardJavaElementContentProvider(true, false);
    viewer.setContentProvider(contentProvider);
    // There are more flags defined in class JavaElementLabelProvider
    ILabelProvider labelProvider= new JavaElementLabelProvider(
        JavaElementLabelProvider.SHOW_DEFAULT |
        JavaElementLabelProvider.SHOW_QUALIFIED |
        JavaElementLabelProvider.SHOW_ROOT);
    viewer.setLabelProvider(labelProvider);
    // Using the Java model as the viewers input present Java projects on the first level.
    viewer.setInput(JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()));
    ...

À§ÀÇ ¿¹Á¦´Â Ç¥½Ã±â¿¡ ´ëÇÑ ÀÔ·Â ¿ä¼Ò·Î aJava ¸ðµ¨(IJavaModel)À» »ç¿ëÇÕ´Ï´Ù. ¶ÇÇÑ,  StandardJavaElementContentProvider´Â ÀÔ·Â ¿ä¼Ò·Î IJavaProject, IPackageFragmentRoot, IPackageFragment ¹× IFolderµµ Áö¿øÇÕ´Ï´Ù.

À̹ÌÁö¸¦ Java Á¤º¸·Î ¿À¹ö·¹ÀÌ

JavaElementImageDescriptor´Â ÀÓÀÇÀÇ ±âº» À̹ÌÁö ¼³¸íÀÚ¿¡ ±â¹ÝÇÑ À̹ÌÁö¿Í À̹ÌÁö À§¿¡ ÷°¡ÇÏ´Â Java ƯÁ¤ Àå½Ä(¿¹: static, final, synchronized, ....)À» ÁöÁ¤ÇÏ´Â Ç÷¡±× ¼¼Æ®¸¦ ÀÛ¼ºÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

¹®Á¦Á¡ Ãß°¡ ¹× µ¥ÄÚ·¹ÀÌÅÍ ´ëü

Ç¥½Ã±â°¡ ¹®Á¦Á¡ ¾î³ëÅ×À̼ÇÀ» Æ÷ÇÔÇÑ´Ù°í ÇÒ ¶§, JFace DecoratingLabelProvider´Â ProblemsLabelDecorator¿Í ÇÔ²² »ç¿ëµË´Ï´Ù. ¾Æ·¡ÀÇ ½º´ÏÆêÀº ¹®Á¦Á¡ ·¹ÀÌºí µðÄÚ·¹ÀÌÅÍÀÇ »ç¿ëÀ» º¸¿©ÁÝ´Ï´Ù.
    ...
	DecoratingLabelProvider decorator= new DecoratingLabelProvider(labelProvider, new ProblemsLabelDecorator());	
    viewer.setLabelProvider(decorator);
    ...

°°Àº ¹æ½ÄÀ¸·Î OverrideIndicatorLabelDecorator´Â ÀÏ¹Ý ·¹À̺í Á¦°ø¾÷ü¸¦ µ¥ÄÚ·¹ÀÌÆ®ÇÏ¿© ¸Þ¼Òµå¿¡ ´ëÇÑ ±¸Çö

¸ðµ¨ º¯°æ»çÇ׿¡ ´ëÇÑ ÇÁ¸®Á¨Å×ÀÌ¼Ç °»½Å

OverrideIndicatorLabelDecorator ¶Ç´Â ProblemsLabelDecorator´Â ¸ðµ¨ º¯°æ»çÇ×À» ûÃëÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼­ Java ¶Ç´Â ÀÚ¿ø ¸¶Ä¿ ¸ðµ¨ÀÌ º¯°æÇÒ °æ¿ì Ç¥½Ã±â´Â ¸ðµ¨ÀÇ ÇÁ¸®Á¨Å×À̼ÇÀ» °»½ÅÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º¿¡ ´ëÇÑ Å¬¶óÀÌ¾ðÆ®¿¡ °»½ÅÇØ¾ß ÇÏ´Â ÀÌÀ¯´Â ¸ðµç ¼º´É°ú °ü·ÃÇÏ¿© ÀÌÇàÇÏ´Â ÀÏ¹Ý ±¸ÇöÀÌ ¾ÆÁ÷ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. °¢ ·¹ÀÌºí µ¥ÄÚ·¹ÀÌÅÍ ¶Ç´Â Á¦°ø¾÷ü¿¡¼­ Java ¸ðµ¨ µ¨Å¸ °Ë»ç ó¸® ¹× Ç¥½Ã±â¸¦ »õ·Î °íÄ¡¸é ´ÙÁß µ¨Å¸ °Ë»ç ¹× ºÒÇÊ¿äÇÑ Ç¥½Ã±â °»½Å¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù.

±×·¸´Ù¸é Ŭ¶óÀÌ¾ðÆ®´Â Ç¥½Ã±â¸¦ °»½ÅÇϱâ À§ÇØ ¹«¾ùÀ» ÇØ¾ß Çմϱî?

·¹ÀÌºí µ¥ÄÚ·¹ÀÌÅÍ¿¡ ´ëÇØ ¿­°ÅÇÑ °Í°ú °°Àº ÀÌÀ¯·Î StandardJavaElementContentProvider ´Â ¸ðµ¨ º¯°æ»çÇ×À» ûÃëÇÏÁö ¾Ê½À´Ï´Ù. Ç¥½Ã±â°¡ Java ¸ðµ¨ º¯°æ»çÇ׿¡ µû¶ó ¸ðµ¨ÀÇ ÇÁ¸®Á¨Å×À̼ÇÀ» °»½ÅÇØ¾ß ÇÑ´Ù¸é Ŭ¶óÀÌ¾ðÆ®´Â ÇØ´ç ¸®½º³Ê¸¦ JavaCore¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù. µ¨Å¸·Î ¼³¸íÇÏ´Â º¯°æ»çÇ×ÀÌ Ç¥½Ã±â¿¡ ³ªÅ¸³­ ¿ä¼ÒÀÇ ±¸Á¶¸¦ ¹«È¿È­Çϸé Ŭ¶óÀÌ¾ðÆ®´Â Ç¥ÁØ JFace API¸¦ »ç¿ëÇÏ¿© Ç¥½Ã±â¸¦ °»½ÅÇØ¾ß ÇÕ´Ï´Ù(StructuredViewer¿¡ ´ëÇÑ »õ·Î °íÄ¡±â ¸Þ¼Òµå, TableViewer ¹× AbstractTreeViewer¿¡ ´ëÇÑ Ãß°¡ ¹× Á¦°Å ¸Þ¼Òµå ÂüÁ¶).

Ç¥½Ã±â Á¤·Ä

JavaElementSorter´Â JFace Ç¥½Ã±â¿¡ Ç÷¯±×ÀÎÇÏ¿© Java UI Á¤·Ä ½ºÅ¸ÀÏ¿¡ µû¶ó Java ¿ä¼Ò¸¦ Á¤·ÄÇÒ ¼ö ÀÖ½À´Ï´Ù.

Copyright IBM Corporation and others 2000, 2003. All Rights Reserved.