<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開發中碰到的怪問題:(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(); //此處拋出異常
    }

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

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

    1、如果開發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:當前工程---由用戶選擇
    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("一些信息", 數值-總工作量);
            for(;;){
            // 一些工作
            monitor.worked(數值-已完成工作量); //實際中,我得情況不太相符,不明白,但差不多 :(
            monitor.setTaskName("一些信息");
         // 一些工作    
           }
            monitor.done();
        }
    }


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

    主站蜘蛛池模板: 亚洲精品人成在线观看| 亚洲AV无码国产丝袜在线观看| 亚洲高清免费在线观看| 国产免费131美女视频| 久久亚洲国产最新网站| 日韩精品无码区免费专区| 亚洲理论片在线中文字幕| 最近中文字幕电影大全免费版| 久久精品国产亚洲AV无码偷窥| 日韩精品无码专区免费播放| 亚洲色图古典武侠| 国产在线观看片a免费观看 | 亚洲成人在线网站| 久久国产色AV免费观看| 亚洲理论在线观看| 九九九精品成人免费视频| 国产午夜亚洲精品不卡| 国产精品亚洲产品一区二区三区| 亚洲美女视频网站| 99久久综合国产精品免费| 国产精品亚洲一区二区三区 | 国产日产亚洲系列| 久久成人免费大片| 亚洲AV一二三区成人影片| 天堂在线免费观看中文版| 伊人久久国产免费观看视频| 亚洲va无码专区国产乱码| 午夜国产精品免费观看| 性色av极品无码专区亚洲| 91麻豆国产自产在线观看亚洲| 久久成人无码国产免费播放| 激情五月亚洲色图| 国产精品亚洲二区在线观看| 国产92成人精品视频免费| 国产亚洲漂亮白嫩美女在线| 久久精品九九亚洲精品天堂| 永久免费av无码网站韩国毛片| 曰批全过程免费视频观看免费软件 | 欧洲 亚洲 国产图片综合| 亚洲片国产一区一级在线观看| 最近中文字幕无免费|