<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    精彩的人生

    好好工作,好好生活

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      147 Posts :: 0 Stories :: 250 Comments :: 0 Trackbacks

    2008年3月25日 #

    今天在搜尋tree的實現,找到了這段代碼,覺得很有用但是還沒想到怎么用,先保存在這里


    一般用匿名內部類實現callback


    public interface YourInterface {

      public void interfaceMethod();

    }


    public class YourClass{

      public void classMethod(YourInterface yInterface)
      {
            ......
            yInterface.interfaceMethod();
            ......
        }
     
      public static void main(String[] args)
      {
          YourClass yClass = new YourClass();

          yClass.classMethod(new YourInterface()
          {
              public void interfaceMethod()
              {
                  //do sth
                  System.out.print("hello world.");
                  .......   
              }
          });
    }

    posted @ 2008-09-16 14:14 hopeshared 閱讀(1535) | 評論 (3)編輯 收藏

    很奇怪,以從來沒覺得這么困惑過。

    從今年開始,對,就是今年,困惑了,很困惑。按照“奮斗”的說法,我很焦慮,非常焦慮。

    為什么會困惑?可能是理想與現實出現了反差吧。其實這個反差以前就有,只不過以前擁有信念,這個信念就是付出就會有回報,不管是什么經歷都是一種成長。

    參加工作了,生活變成了柴米油鹽。信念依然堅持著,但是當發現付出并沒有得到相應的回報,甚至得不到重視,甚至被漠視和忽略,這種困惑,從內心深處迸發了出來,充滿了身體里每個細胞。信念,被懷疑了。人性的丑惡面毫不遮掩的出現在你面前。利益,永遠的利益,才應該是每個人的最終目標。但是,應該這樣么?我不知道。

    自我感覺良好,有缺點我承認,不管是工作上還是生活上。但是這并沒有讓自己覺得差人一等,我有我的特色。但是,就是我這樣的人,兢兢業業的工作,不計得失不喊苦累,還找的到么?恐怕很少了吧,不然怎么找個能踏實干活的實習生都找不到?

    伯樂與千里馬,其他同事的故事有時能讓自己寬慰一下,或許繼續等等,終會有出頭之日。機遇,多好的詞阿,它告訴你機會是可遇不可求的。但是,埋頭苦干的人們,能看到頭頂上飄過的機會么?是不是該抬起頭,看看窗外的世界了?

    美國的一個同事離職了,十分吃驚。最開始以為他是被累壞了于是提出離職,后來才搞清楚是移民文件的問題。仔細想了想他的境遇,是不是比我更加悲慘?但是他沒有一句怨言。呵呵,我想,更多的原因應該是環境和觀念的區別。不過如果讓我遇到這事,估計能比現在更加困惑。

    困惑,也許似曾相識。在升高中的時候,在選大學的時候,在復試研究生的時候。但是那時候的困惑很快就一掃而過了。為什么現在揮之不去呢?

    我想,那是因為我知道現在想要什么,應該得到什么,而卻沒有得到。為什么會這樣?自我反省。是自己能力不夠,其實不是。是因為桀驁不馴所以不能趨炎附勢?或許吧。又或者是性格太軟弱,不敢去爭去搶去豪奪?或許吧。突然想起了老黃牛,開墾者荒蕪的土地,吃著最廉價的草,偶爾的嗷嗷聲是唯一發泄的方式,卻永遠不敢掙脫身上的韁繩。這是我么?

    也許困惑了才是機遇,是生命中的溝溝坎坎.也許我該重新審視一下自己,也許該環顧一下四周,也許該看看外面的世界,也許吧.

    posted @ 2008-08-27 19:15 hopeshared 閱讀(1345) | 評論 (1)編輯 收藏

    在做的項目里,需要一個這樣的顯示效果.
    以前從來沒有做過,也不知道該用什么關鍵字來搜索.
    于是,只好用最原始的辦法,看Eclipse的源代碼.最后一些跟decorator相關的類引起了我的注意,還發現有一個相關的LabelProvider.于是我用這個詞作為關鍵字搜索到了下面這篇文章,覺得十分有用,所以暫存到這里.


    原文標題: org.eclipse.ui.decorators得用法

    <extension point="org.eclipse.ui.decorators">
        
    <decorator icon="icons/warning_small.gif" id="cnooc.rcp.decorator.node.warning" label="Data Warning Decorator" lightweight="true" location="BOTTOM_LEFT" state="true">
            
    <enablement>
                
    <and>
                    
    <objectClass "com.eplat.cnooc.rcp.node.INode"/>
                    
    <objectState name="hasWarning" value="true"/>
                
    </and>
            
    </enablement>
        
    </decorator>
        
    <decorator icon="icons/error_small.gif" id="cnooc.rcp.decorator.node.error" label="Data Error Decorator" lightweight="true" location="BOTTOM_LEFT" state="true">
            
    <enablement>
                
    <and>
                    
    <objectClass "com.eplat.cnooc.rcp.node.INode"/>
                    
    <objectState name="hasError" value="true"/>
                
    </and>
            
    </enablement>
        
    </decorator>
    </extension>

    INode是TreeViewer里面節點得對象.
    Viewer設置LabelProvider時需要如下:

    viewer.setLabelProvider(new DecoratingLabelProvider(new ViewLabelProvider(),
            Activator.getDefault().getWorkbench().getDecoratorManager().getLabelDecorator()));

    寫了這個以后還沒完, 需要讓INode實現IActionFilter接口. eclipse得API中說要么實現IActionFilter接口, 要么實現IAdapter接口, 如果實現后者得話, 系統會調用getAdapter()方法. 不過我還是選擇前者.

        /**
         * (non-Javadoc)
         * 
         * 
    @see org.eclipse.ui.IActionFilter#testAttribute(java.lang.Object, java.lang.String,java.lang.String)
         
    */

        
    public boolean testAttribute(Object target, String name, String value){
            
    if (name.equals("hasWarning")){
                
    return !getProblems().hasError() && getProblems().hasWarning();
            }
     else if (name.equals("hasError")){
                
    return getProblems().hasError();
            }

            
    return false;
        }

    意思應該比較明顯得, 如果有warning并且沒有error得時候warning得decorator生效. 如果有error則error得decorator生效. name參數對應得就是objectState得name參數. value參數對應得objectState得value參數. target參數就是viewer中得節點對象, 不過由于INode實現了IActionFilter接口, 因此這里得target就是this了.
    一般來說需要判斷得就是根據name獲取得值是否等于value, 等于返回true, 否則返回false. 不過這里我不需要判斷這個了, 直接根據當前狀態返回就好了.
    按照eclipse得原理, 理論上應該INode變化以后viewer就會跟著變化, 但是我實驗下來有時候好有時候不好.
    因此在Editor得verify方法里增加了下面得邏輯:

        /**
         * 校驗數據
         * 
         * 
    @return
         
    */

        
    private boolean verify(){
            
    //校驗數據
            
    //不管是否有error或者warning都需要通知向導樹刷新一下節點.
            ExplorerView view = (ExplorerView) getSite().getPage().findView(ExplorerView.class.getName());
            view.refresh((INode) getEditorInput());

            
    return true;
        }

    現在好了, 只要執行verify方法, viewer就會刷新對應得節點, 以達到顯示左下方小圖標得目的.


    原文地址: http://blog.csdn.net/bradwoo8621/archive/2007/05/11/1604738.aspx








    posted @ 2008-03-25 15:00 hopeshared 閱讀(4574) | 評論 (2)編輯 收藏

    主站蜘蛛池模板: 一本色道久久综合亚洲精品| 国产精品极品美女免费观看| 久久精品国产亚洲AV果冻传媒| 一个人看www免费高清字幕| 国产免费av片在线无码免费看| 国产精品亚洲AV三区| 国产一区在线观看免费| 国产亚洲男人的天堂在线观看| 亚洲AV无码成H人在线观看| 香蕉视频在线观看免费| 亚洲无码高清在线观看| 精品国产污污免费网站入口在线| 亚洲精品中文字幕乱码三区| 可以免费观看的毛片| 91亚洲精品视频| 色窝窝免费一区二区三区| 国产亚洲精品影视在线| 免费在线观看亚洲| WWW免费视频在线观看播放| 亚洲AV日韩精品久久久久久久 | 无码欧精品亚洲日韩一区夜夜嗨| 狠狠入ady亚洲精品| 国产美女亚洲精品久久久综合| 免费黄色电影在线观看| 亚洲天堂中文字幕在线观看| 免费做爰猛烈吃奶摸视频在线观看 | 免费看成人AA片无码视频羞羞网| 在线亚洲午夜片AV大片| 国产一区二区视频免费| 成全视频在线观看免费| 亚洲成aⅴ人片在线观| 国产成人精品免费直播| 免费在线看黄的网站| 亚洲一区二区三区成人网站| 亚洲精品成a人在线观看| 无码国产精品一区二区免费式芒果| 亚洲中文字幕在线无码一区二区| 国产小视频免费观看| 国精产品一区一区三区免费视频| 亚洲人成色777777老人头| 亚洲一区二区三区自拍公司|