如鵬網 大學生計算機學習社區

          CowNew開源團隊

          http://www.cownew.com 郵件請聯系 about521 at 163.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

          1、從TextEditor繼承,調用setSourceViewerConfiguration,并傳進去一個從SourceViewerConfiguration 繼承的配置類,就可以實現各種代碼editor。
          2、swt盡量使用GridLayout布局(不是java.awt中的GridLayout,而是swt中的)和GridData域。文章:http://coolbear.yculblog.com/post.89429.html

          3、得到文件的編輯器的方法:
          ??? public static IEditorPart findEditor(IFile file){
          ??????? IEditorReference[] editors = getActivePage().getEditorReferences();;
          ??????? for (int i = 0; i < editors.length; i++) {
          ??????????? IEditorPart part = (IEditorPart)editors[i].getPart(false);
          ??????????? if (part != null ){
          ??????????????? IEditorInput input = part.getEditorInput();
          ??????????????? if(input instanceof FileEditorInput && ((FileEditorInput)input).getFile().equals(file))
          ??????????????????? return part;
          ??????????? }???????????????
          ??????? }
          ??????? return null;
          ??? }

          4、得到工作區中所有工程的方法:
          ??????? IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
          ??????????????? .getProjects();
          這在開發自己的工程向導的時候很有用處。
          5、工程特有文件判斷方法
          project.getFile("cownew.prj").exists();
          project.getDescription().hasNature();
          給工程增加Nature的方法:
          ?IProjectDescription desc = project.getDescription();
          String[] oldNatureIds = desc.getNatureIds();
          ??????????????? String[] newNatureIds? = new String[oldNatureIds.length +1];
          ??????????????? System.arraycopy(oldNatureIds, 0, newNatureIds, 0, oldNatureIds.length);
          ??????????????? newNatureIds[oldNatureIds.length] = "CowNewNature";
          ??????????????? desc.setNatureIds(newNatureIds);
          ??????????????? project.setDescription(desc, monitor);
          6、創建文件夾的方法:
          IFolder folder = project.getFolder("myfold");
          if (folder!=null && !folder.exists())
          ? folder.create(false, true, null);

          7、彈出包選擇對話框的方法:
          ElementListSelectionDialog dialog = new ElementListSelectionDialog(
          ??????????????????? getShell(), new LabelProvider());
          ??????????? dialog.setIgnoreCase(false);
          dialog.setElements(getAllPackages().toArray());
          ??????????? String path = currentPackage();
          ?dialog.setInitialSelections(new Object[] { path });
          dialog.open();
          fPKName.setText((String) dialog.getFirstResult());

          public List getAllPackages() {
          ??????? List list = new ArrayList();
          ??????? IResource res = getFirstSelection();
          ??????? IProject project = res.getProject();
          ??????? File file = project.getFolder("src").getLocation().toFile();
          ??????? File[] fs = file.listFiles();
          ??????? for (int i = 0; i < fs.length; i++) {
          ??????????? if (fs[i].isDirectory())
          ??????????????? iterator("", fs[i], list);
          ??????? }
          ??????? Collections.sort(list);
          ??????? return list;
          ??? }
          8 objectClass="org.eclipse.core.resources.IFile"代表菜單應用到文件
          9 透視圖的的實現很簡單,就是在構造函數里邊打開一些視圖,使一些action(這樣菜單和按鈕也就都可用)可以用,比如:
          String editorArea = layout.getEditorArea();
          ??????? IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT,
          ??????????????? 0.30f, editorArea);
          ??????? left.addView(PACKAGE_VIEW_ID);
          ?layout.setEditorAreaVisible(true);
          ?layout.addShowViewShortcut(IDESystem.BUSINESSVIEW_ID);

          posted on 2006-07-21 00:33 CowNew開源團隊 閱讀(1280) 評論(1)  編輯  收藏

          評論

          # re: cownew開源-eclipse插件開發學習知識點筆記 2006-11-26 20:28 luckylq
          我是個新手
          請問怎么用SWT來做一個重主窗口一個Btton彈出對話框?
          謝謝
          可以發郵件給我嗎?My Email:luckylq3@163.com  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 申扎县| 沙洋县| 永清县| 通江县| 新田县| 浦江县| 景泰县| 弋阳县| 福海县| 乐亭县| 昭平县| 子长县| 萝北县| 沅江市| 余庆县| 聂荣县| 威远县| 兴安县| 兴山县| 金坛市| 集安市| 四子王旗| 杭锦后旗| 句容市| 延寿县| 平山县| 米林县| 铜鼓县| 克拉玛依市| 武宣县| 上蔡县| 安庆市| 稻城县| 洪泽县| 阳山县| 竹北市| 博爱县| 巴塘县| 鹿泉市| 土默特左旗| 泽普县|