大夢想家

          5年開發工程師,2年實施經理,X年售前顧問,......
          數據加載中……

          西安java用戶群成立~_~

          西安java用戶群,感謝dudu,為我們開通團隊,所有西安java界的朋友都可以到這里報道或者mail我,我來做初步的管理,等人足夠多了,我會交出管理權!
          初步想建立一個類似GJUG的小社團,也豐富一下,我們西安程序員的業余生活。
          感謝大家支持。
          聯系方法:
          leeguannan@gmail.com
          leeguannan@msn.com

          posted @ 2007-05-23 15:58 阿南 閱讀(1293) | 評論 (18)編輯 收藏
          Eclipse3.3m7 VS Eclipse3.2.2

          Eclipse3.3m7 VS Eclipse3.2.2
          沒有深入研究過兩者的差別,只是昨天在更換平臺時發現的。差別主要存在與Application類上,兩者繼承或者實現的類不同,也就決定了其底層的不同。
          Eclipse3.3M7

           1import org.eclipse.equinox.app.IApplication;
           2import org.eclipse.equinox.app.IApplicationContext;
           3import org.eclipse.jface.wizard.WizardDialog;
           4import org.eclipse.swt.widgets.Display;
           5import org.eclipse.swt.widgets.Shell;
           6import org.eclipse.ui.IWorkbench;
           7import org.eclipse.ui.PlatformUI;
           8
           9import com.glnpu.glbom.ui.wizard.FirstTimeConfigWizard;
          10
          11/**
          12 * This class controls all aspects of the application's execution
          13 */

          14public class Application implements IApplication {
          15
          16    /* (non-Javadoc)
          17     * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
          18     */

          19    public Object start(IApplicationContext context) throws Exception {
          20        Display display = PlatformUI.createDisplay();
          21
          22        try {
          23            int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
          24            if (returnCode == PlatformUI.RETURN_RESTART)
          25                return IApplication.EXIT_RESTART;
          26            else
          27                return IApplication.EXIT_OK;
          28        }
           finally {
          29            display.dispose();
          30        }

          31        
          32    }

          33
          34
          35
          36    /* (non-Javadoc)
          37     * @see org.eclipse.equinox.app.IApplication#stop()
          38     */

          39    public void stop() {
          40        final IWorkbench workbench = PlatformUI.getWorkbench();
          41        if (workbench == null)
          42            return;
          43        final Display display = workbench.getDisplay();
          44        display.syncExec(new Runnable() {
          45            public void run() {
          46                if (!display.isDisposed())
          47                    workbench.close();
          48            }

          49        }
          );
          50    }

          51}

          52

          實現再org.eclipse.core.runtime.IPlatformRunnable;

          Eclipse3.2.2
           1import org.eclipse.core.runtime.IPlatformRunnable;
           2import org.eclipse.jface.wizard.WizardDialog;
           3import org.eclipse.swt.widgets.Display;
           4import org.eclipse.swt.widgets.Shell;
           5import org.eclipse.ui.PlatformUI;
           6
           7import com.bom.demo.ui.wizard.FirstTimeConfigWizard;
           8
           9/**
          10 * This class controls all aspects of the application's execution
          11 */

          12public class Application implements IPlatformRunnable {
          13
          14    /* (non-Javadoc)
          15     * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
          16     */

          17    public Object run(Object args) throws Exception {
          18        Display display = PlatformUI.createDisplay();
          19        
          20        try {
          21            int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
          22            if (returnCode == PlatformUI.RETURN_RESTART) {
          23                return IPlatformRunnable.EXIT_RESTART;
          24            }

          25            return IPlatformRunnable.EXIT_OK;
          26        }
           finally {
          27            display.dispose();
          28        }

          29    }

          Eclipse3.2.2則實現自org.eclipse.core.runtime.IPlatformRunnable;
          看來是又做了一次小幅度的分離,而且給出了更加合理的方法命名。

          posted @ 2007-05-22 08:37 阿南 閱讀(2207) | 評論 (7)編輯 收藏
          介紹一個好站

          http://www.krugle.com/
          代碼搜索工具,使用大量AJAX,可以搜索各種代碼,還提供Eclipse插件。所有優秀程序員都應該收藏!

          posted @ 2007-05-20 10:42 阿南 閱讀(1165) | 評論 (0)編輯 收藏
          簡單應用Maven2

          Maven2對項目的管理確實可以說是無微不至的,而且給出了大量的硬性規定。強制要求項目的目錄結構,而且還強烈建議使用“測試驅動開發”的使用。比方說它生成的標準項目目錄中就自帶了test目錄,而且POM.XML文件就直接帶有Junit3.8的Jar引用了。
          暫時就先簡單介紹一下兩種Maven2自帶的標準項目的生成方法:

          mvn archetype:create -DgroupId=com.mycompany.ap -DartifactId=my-app

          生成目錄結構:
           

          my-app

          |-- pom.xml

          `-- src

          |-- main

              | `-- java

                  | `-- com

                      | `-- mycompany

                          | `-- app

                              | `-- App.java

          `-- test

              `-- java

                  `-- com
          ....


          上面生成出來的一個標準的jar項目格式。

          mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp

          -DarchetypeArtifactId=maven-archetype-webapp

          my-webapp

          |-- pom.xml

          `-- src

          `-- main

          |-- webapp

          | |-- WEB-INF

          | | `-- web.xml

          | `--index.jsp

          `-- resources

          上面生成的是一個標準的 war 項目。

          在命令行運行上面的命令以后在到項目文件夾下運行 mvn eclipse:eclipse,就將這個項目生成了eclipse項目依賴的文件,這個項目就可以導入到eclipse中開發了。
          暫時就先介紹這么多,有時間,把我們的預研報告整理出來。

          posted @ 2007-05-18 13:54 阿南 閱讀(1114) | 評論 (2)編輯 收藏
          讀jlibrary代碼的部分疑問,希望有人解答~

          昨天在Bolg中貼出來一個很不錯的RCP項目http://jlibrary.sourceforge.net/
          今天已經開始研讀他的代碼了~,由于第一次解除RCP項目,難免總是一頭霧水,碰到了不少問題。在此記錄下來,希望有高手挺身而出幫忙解決,也再次記錄疑問,以備后輩享用.

            
          1.如何使用Maven2如果完成對EclipseRCP項目的管理?

          2.此項目在JLibraryActionBarAdvisor中使用自己封裝的ActionFactory來產生Action,而ActionFactory產生的Action只是RetargetAction,而RetargetAction對應的Action僅僅只有一個簡單的ID。此時在ActionBar上面顯示的Action僅僅是顯示而是不能用的。到了View中再產生真實的可以用的Action,而這個真實的Action并沒有包括任何ID信息。疑問就是RetargetAction與真實的Action是如何聯系起來的?
              此問題已經解決,他們的意圖是在JLibraryActionBarAdvisor首先使用RetargetAction對Toolbar上的Action進行注冊,此時這些RetargetAction都還有對應的真實Action。當用戶切換視圖到對應的透視圖,并且選擇了某個Veiw時,View中的代碼開始真正的注冊真是的Acion,注冊完成真是的Action以后再使用

          1actionBars.setGlobalActionHandler(ActionFactory.IMPORT_ID, fImport);
          方法將虛擬的RetargetAction與真實的Action進行關聯。
              這樣做的好處,我認為是先使用RetargetAction進行了占位,顯示不能用,然后根據不同的選擇Site,在判斷這個Action是否可用。


          3.整個系統的權限是如何控制的?

          posted @ 2007-05-18 10:30 阿南 閱讀(1698) | 評論 (5)編輯 收藏
          發現一個優秀的開源RCP項目

          http://jlibrary.sourceforge.net/
          各種功能都齊全,把RCP發揮的林立極致~~最好的是它開源!
          哪個高手可以告訴我如何使用maven2來管理RCP的項目~

          posted @ 2007-05-17 17:44 阿南 閱讀(2636) | 評論 (4)編輯 收藏
          TreeView思維圖

          TreeView思維圖
           
          下載

          posted @ 2007-05-17 10:57 阿南 閱讀(1438) | 評論 (1)編輯 收藏
          RCP經典代碼集中營(整理添加中... ...)

          RCP 如何產生Eclipse一樣的流線型視圖窗口?
              在 WorkbenchWindowAdvisor 中的preWindowOpen()中設置

          1//
          2    PlatformUI.getPreferenceStore().setDefault(
          3          IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS, true); 
          4//???
          5    PlatformUI.getPreferenceStore().setDefault(
          6          IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,
          7          false); 
              在補充一個 在狀態欄顯示 內存監控和垃圾回收的哪個按鈕       
          1PlatformUI.getPreferenceStore().setDefault(
          2                IWorkbenchPreferenceConstants.SHOW_MEMORY_MONITOR, true);

          posted @ 2007-05-16 09:32 阿南 閱讀(811) | 評論 (1)編輯 收藏
          向XMIND 2007學習

              XMIND 2007(未注冊)運行以后,先彪出一個Wizard,向人們要錢~
              OK,我的東東第一次運行的時候也要一個Wizard,不要錢,要數據庫配置信息。
              首先了解一下Wizard基礎:

              圖是Eclips Help的,不用文字,一張圖就夠~說的很詳細。
              Wizard的顯示是需要Wizard Dialog的, Wizard Dialog顯示的是Wizard,Wizard(繼承自Wizard,實現自INewWizard)中則包含了N個Wizard Page.只要page的數量大于2,那么下面的back和next就可以用了,太簡單了~
              Wizard Page中的public void createControl(Composite parent)方法主要是Page中的控件;
              Wizard中的public boolean performFinish()方法是處理,點擊Finish以后的處理方法;
              在RCP啟動之前先啟動Wizard就是在Applicationpublic Object start(IApplicationContext context) throws Exception 方法中Display display = PlatformUI.createDisplay();之下,int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());之上增加啟動Wizard的代碼:
          1WizardDialog wizardDialog = new WizardDialog(new Shell(), new FirstTimeConfigWizard());
          2        wizardDialog.open();


          哪個哥哥知道XMIND 2007的注冊里面,點擊關閉以后直接關閉RCP這個東東是怎么實現的?

          posted @ 2007-05-15 18:26 阿南 閱讀(956) | 評論 (2)編輯 收藏
          郁悶的Perspective

          下午正式開始RCP開發,于是乎輕車熟路的開始打基礎框架。
                 
                 1. 建RCP項目
                 2. 復制Form的jar包
                 3. 寫第一次使用時需要維護信息的Wizard和WizardPage
                 4. 寫用戶登錄窗口
                 5. 在ApplicationWorkbenchWindowAdvisor中增加最大化代碼,在ApplicationWorkbenchAdvisor中增加保存用戶配置的代碼

          1    public void postWindowOpen(){
          2        this.getWindowConfigurer().getWindow().getShell().setMaximized(true);
          3    }

           

          1    public void initialize(IWorkbenchConfigurer configurer) {
          2         configurer.setSaveAndRestore(true);
          3    }


                 5. 寫Perspective們

                 6. 寫View們
                 7. 給Perspective們分配View們
              run一下看看~暈,什么都不出來~Why!

              尋了一大圈才發現問題出在第五步給ApplicationWorkbenchAdvisor中增加保存用戶配置的代碼上~注釋掉configurer.setSaveAndRestore(true);就一切正常了。

              非常之不解,難道是我再給Perspective們分配View們之前已經run過了,所以記錄了我的布局方式了?不至于這么白癡吧~
          希望知道的大哥給解釋一下~

          posted @ 2007-05-15 18:11 阿南 閱讀(914) | 評論 (0)編輯 收藏
          僅列出標題
          共13頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 
          主站蜘蛛池模板: 资溪县| 石阡县| 敦煌市| 盐边县| 西峡县| 凭祥市| 亚东县| 和田县| 格尔木市| 武穴市| 丽江市| 福州市| 连州市| 镇巴县| 东乡族自治县| 临桂县| 阳谷县| 池州市| 花莲县| 合作市| 兰考县| 葫芦岛市| 齐齐哈尔市| 吉林市| 舟曲县| 响水县| 都匀市| 海安县| 中山市| 任丘市| 长阳| 北宁市| 六枝特区| 顺义区| 射洪县| 福清市| 绍兴县| 北宁市| 威海市| 浮梁县| 阳春市|