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

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

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

    我愛oo,我愛java

    交流blog QQ:421057986 oofrank@donews

    在eclipse-plugin開發(fā)中碰到的怪問題:(eclipse 3.1.1 + wtp1.0)

    一個popupMenus Extensions,
    objectContribution:objectClass*: org.eclipse.core.resources.IFile

    在action的Class代碼中:
    public void selectionChanged(IAction action, ISelection selection) {
        StructuredSelection ss = (StructuredSelection) selection;
            this.selectedFile==(IFile)ss.getFirstElement(); //此處拋出異常
    }

    上述代碼的異常非常奇怪:
    根據(jù)的的跟蹤,ss.getFirstElement()返回值是File,該類實現(xiàn)了IFile接口,
    而且我用 ss.getFirstElement().getClass().isAssignableFrom(IFile.class)返回是false;
    真是奇怪!---有人知道為什么嗎?

    另外在實踐eclipse plugin開發(fā)過程中也有幾個心得:(肯定能用,但未必最佳)

    1、如果開發(fā)plugin,所有的依賴庫都要包含到 Plug-in Dependencies 中;而不能只是引入到工程中。
    2、如何輸出到console:
    MessageConsole mc=new MessageConsole("****",null);
    IConsole[] cs=new IConsole[1];
    cs[0]=mc;
    ConsolePlugin.getDefault().getConsoleManager().addConsoles(cs);
    mc.activate();
    PrintStream out=new PrintStream( mc.newOutputStream());
    out.println("*******.");
    3、如何獲取依賴工程的輸出路徑:
    selectedProject:當(dāng)前工程---由用戶選擇
    String[] ps= selectedProject.getRequiredProjectNames();                
    IWorkspace w= selectedProject.getProject().getWorkspace();
    for(int i=0;i<ps.length;i++){
    IResource r=w.getRoot().findMember(ps[i]);
    try{
        IJavaProject jp=new JavaProject((IProject)r,null);                
        File source=new File(jp.getProject().getLocation().append(jp.getOutputLocation().removeFirstSegments(1)).toOSString());
            //作你的事情.....
    }catch(Exception e){
          //不是javaProject                                
        e.printStackTrace();                            
    }                
    4、如何使用進度Dialog:
    Shell shell = new Shell();
    ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);        
    IRunnableWithProgress thread = new SomeRunner(shell);            
    dialog.run(true, false, thread);
    //=============================
    private class SomeRunner implements IRunnableWithProgress {
        public void run(IProgressMonitor monitor)throws InvocationTargetException, InterruptedException {
        monitor.beginTask("一些信息", 數(shù)值-總工作量);
            for(;;){
            // 一些工作
            monitor.worked(數(shù)值-已完成工作量); //實際中,我得情況不太相符,不明白,但差不多 :(
            monitor.setTaskName("一些信息");
         // 一些工作    
           }
            monitor.done();
        }
    }


    posted on 2006-01-20 18:45 兼聽則明 閱讀(596) 評論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 亚洲福利视频一区二区三区| 亚洲日本中文字幕| 亚洲AV综合色区无码一二三区| 美丽的姑娘免费观看在线播放| 亚洲av女电影网| 午夜理伦剧场免费| 亚洲最大在线观看| 16女性下面扒开无遮挡免费| 久久久久久久亚洲Av无码| 91精品国产免费| 亚洲av麻豆aⅴ无码电影| 亚洲国产精品无码专区影院| 亚洲精品av无码喷奶水糖心| 国产男女性潮高清免费网站| 国产精品亚洲а∨无码播放不卡 | 免费黄色一级毛片| 国产亚洲漂亮白嫩美女在线| 亚洲精品久久久www | 中文字幕亚洲精品无码| 麻豆精品国产免费观看| 乱淫片免费影院观看| 国产aⅴ无码专区亚洲av麻豆| 日韩精品无码免费专区午夜| 亚洲男人天堂影院| 永久免费AV无码网站在线观看| 特级毛片aaaa免费观看| 亚洲国产精品特色大片观看完整版| 99久9在线|免费| 亚洲成a∧人片在线观看无码| 亚洲精品成人a在线观看| 美女内射无套日韩免费播放 | 国产麻豆成人传媒免费观看| 亚洲国产成人无码av在线播放| 麻豆国产VA免费精品高清在线 | 香蕉视频免费在线| 亚洲卡一卡2卡三卡4卡无卡三| 国产精品成人免费视频网站京东| 一个人看的www免费在线视频| 亚洲成人免费网站| 亚洲人成无码久久电影网站| www视频免费看|