<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

    主站蜘蛛池模板: 2022年亚洲午夜一区二区福利 | 亚洲码在线中文在线观看| 免费中文字幕视频| 免费久久精品国产片香蕉| 怡红院亚洲红怡院在线观看| 好吊妞788免费视频播放| 精品国产成人亚洲午夜福利| 好吊妞在线新免费视频| 久久亚洲AV成人无码国产电影 | 日韩激情淫片免费看| 国产亚洲综合精品一区二区三区| 国产小视频在线观看免费| 黄色a三级三级三级免费看| 亚洲高清偷拍一区二区三区 | 亚洲成年人电影网站| 九九九精品成人免费视频| 亚洲日本一线产区和二线| 天天看片天天爽_免费播放| 免费无码又爽又黄又刺激网站| 亚洲黄片毛片在线观看| 日本免费污片中国特一级| 三年片免费高清版| 久久精品国产亚洲AV麻豆王友容| 91视频免费网址| 亚洲xxxx18| 亚洲日韩在线中文字幕第一页| 99久久精品毛片免费播放| 亚洲精品永久www忘忧草| 免费无码又爽又刺激毛片| 国产精品成人免费观看| 亚洲黄色在线视频| 日本一道一区二区免费看| 一区二区3区免费视频| 337p日本欧洲亚洲大胆精品555588 | 国产免费一区二区三区免费视频| 亚洲av女电影网| 看全色黄大色大片免费久久 | 免费污视频在线观看| 亚洲欧洲日韩极速播放| 国产亚洲av片在线观看18女人| 114级毛片免费观看|