[Eclipse]GEF入門系列(序)

前些天換了新電腦,本人一直處於興奮中,基本是"不務正業"的狀態。快過年了,雖然沒什麼動力幹活,但我玩遊戲技術比較差,魔獸3打電腦一家還很費勁,乾脆寫寫文章就當是休息吧!由於工作的需要,最近開始研究GEF(Graphical Editor

[Eclipse]GEF入門系列(一、Draw2D)

雞年第一天,首先向大家拜個年——恭祝新春快樂,萬事如意。一年之計在於春,你對新的一年有什麼安排呢?好的,下面還是進入正題吧。關於Java2D相信大家都不會陌生,它是基於AWT/Swing的二維圖形處理包,

[Eclipse]關於EMF

EMF(Eclipse Modeling Framework)對我來說一直很神秘。首先,這個名字就不是很清楚,因為現在是個東西都可以叫Framework。另外,在我看來,EMF是一個可以從模型產生代碼的工具,這應該是它的主要功能,但似乎這個功能又是通過別的組件(Jet)實現的,那麼EMF的核心在哪裡,Team

[Eclipse]處理顏色類型的偏好項

在Eclipse裡實現偏好頁(PreferencePages)時,我們一般要在Plugin類的start()方法裡預先設定好每一項的預設值,但IPreferenceStore介面只提供了參數為整型、布爾型、字串等基本類型的setDefault()方法,如果某個偏好項是顏色類型怎麼辦呢?這時要使用PreferenceConverter這個類,也是由jface提供的,該類提供了額外的一些setDefault()方法可以接收RGB、Font、Point等類型的參數,所以可以使用下面的方法設定預設值:P

給Eclipse外掛程式的View加上菜單和工具條

Eclipse的每個視圖(View)都有自己的菜單和工具條,View通過與自己相關的IViewSite對象與這些東西打交道,確切的說,是通過這個IViewSite對象的IActionBars對象來管理,ActionBars對象負責菜單、工具條和狀態列。一個典型的View(繼承org.eclipse.ui.part.ViewPart)的代碼結構會是這樣,作為例子,假設我們有三個功能項:Open、Remove和Reload,我們的View是一個簡單的表格TableViewer,裡面顯示一些條目列表,

[Eclipse]同步CVS時總是提示錯誤

我在一台機器上使用CVSNT建立了CVS庫,並把項目提交到庫中沒有問題。 回到家修改了一些代碼和設定檔,再同步項目的時候,處理到struts-config.xml時提示:Error fetching file revisions不明白為什麼,然後上google查了一下,找到兩個相關問題的地址。 一個是eclipse cvs的faq,上面關於這個問題的解釋如下:This error, or an error stating that "An error has occurred

由於Eclipse版本不符造成的異常

前幾天把GEF版本從3.0.1升級到了3.1M6,發現以前運行正常的GEF程式現在總出現下面這個異常,例如在我移動一個節點時,或者建立一個新節點時。!ENTRY org.eclipse.ui 4 0 2005-04-19 23:12:55.974!MESSAGE tried to access method org.eclipse.ui.views.properties.PropertySheetEntry.refreshFromRoot()V from class org.eclipse.ge

用Links方式安裝Eclipse外掛程式真方便

使用Eclipse一年多了,一直都是把所有外掛程式直接安裝在plugins和features目錄下,雖然目錄變得比較亂但也不怎麼影響使用。最近因為工作需要,經常更換Eclipse和一些外掛程式的版本,我發現每新裝一個Eclipse就要花不少時間來裝那幾個常用外掛程式,印象裡有一種方法可以讓外掛程式以連結的方式存在,就在網上查了一下,請看這篇文章,講得很明白。按文章中所說的方法,我把所有外掛程式統一放在c:\eclipse-plugins目錄下(Eclipse內建的除外),然後在links目錄裡建

Eclipse 3.3裡新TreeViewer給EMF應用程式帶來的一個問題

以前在Eclipse 3.2裡做的一個EMF應用程式,到3.3裡發現一些TreeViewer裡標籤顯示的格式不對,例如原來顯示“Condition true”的,在3.3下可能顯示“1”。調試了一下發現這些TreeViewer在為每個節點獲得標籤時,若相應的XXXItemProvider實現了ITableItemLableProvider(即應用程式裡有TableViewer也用到這個XXXItemProvider)時,會調用getColumnText()而不是getText()來得到常值內容。

[Eclipse]GEF入門系列(五、淺談布局)

雖然很多GEF應用程式裡都會用到串連(Connection),但也有一些應用是不需要用串連來表達關係的,我們目前正在做的這個項目就是這樣一個例子。在這類應用中,模型對象間的關係主要通過圖形的包含來表達,所以大多是一對多關聯性。圖1

Eclipse裡幾個常用視圖的ID

Eclipse提供的幾個常用公用視圖的ID,在定義perspective時可能會用到,如下://Resource Navigatorpublic final static String VIEW_ID_NAVIGATOR = "org.eclipse.ui.views.ResourceNavigator";//Propertiespublic final static String VIEW_ID_PROPERTIES = "org.eclipse.ui.views.PropertySheet"

[Eclipse]GEF入門系列(八、使用EMF構造GEF的模型)

GEF的設計沒有對模型部分做任何限制,也就是說,我們可以任意構造自己的模型,唯一須要保證的就是模型具有某種訊息機制,以便在發生變化時能夠通知GEF(通過EditPart)。在以前的幾個例子裡,我們都是利用java.beans包中的PropertyChangeSupport和PropertyChangeListener來實現訊息機制的,這裡將介紹一下如何讓GEF利用EMF構造的模型(下載例子,可編輯.emfsubject檔案,請對比之前功能相同的非EMF例子),假設你對EMF是什麼已經有所瞭解。E

[Eclipse]GEF入門系列(二、GEF概述)

在前面的文章已經提到,GEF(Graphical Editor

[Eclipse]GEF入門系列(六、添加菜單和工具條)

我發現一旦稍稍體會到GEF的妙處,就會很自然的被它吸引住。不僅是因為用它做出的圖形介面好看,更重要的是,UI中最複雜和細微的問題,在GEF的設計中無不被周到的考慮並以適當的模式解決,當你瞭解了這些,完全可以把這些解決方案加以轉換,用來解決其他領域的設計問題。去年黃老大在一個GEF項目結束後,仍然沒有放棄對它的繼續研究,現在甚至利用業餘時間開發了基於GEF的SWT/JFace增強軟體包,Eclipse和GEF的魅力可見一斑。我相信在未來的兩年裡,由於RCP/GEF等技術的成熟,Java

[Eclipse]GEF入門系列(十、表格的一個實現)

在目前的GEF版本(3.1M6)裡,可用的LayoutManager還不是很多,在新聞群組裡經常會看到要求增加更多布局的文章,有人也提供了自己的實現,例如這個GridLayout,相當於SWT中GridLayout的Draw2D實現,等等。雖然可以肯定GEF的未來版本裡會增加更多的布局供開發人員使用(可能需要很長時間),然而目前要用GEF實現表格的操作還沒有很直接的辦法,這裡說說我的做法,僅供參考。實現表格的方法決定於模型的設計,初看來我們似乎應該有這些類:表格(Table)、行(Row)、列(

[Eclipse]GEF入門系列(十一、樹的一個實現)

兩天前GEF發布了3.1M7版本,但使用下來發現和M6沒有什麼區別,是不是主要為了和Eclipse版本相配套?希望3.1正式版早日發布,應該會新增不少內容。上一篇文章介紹了如何?表格功能,在開發過程中,另一個經常用到的功能就是樹,雖然SWT提供了標準的樹控制項,但使用它完成如組織圖這樣的應用還是不夠直觀和方便。在目前版本(3.1M7)的GEF中雖然沒有直接支援樹的實現,但Draw2D提供的例子程式裡卻有我們可以利用的代碼(org.eclipse.draw2d.examples.tree.Tree

Eclipse 3.4新特性 – Plug-in spy

Eclipse 3.4提供了一個新功能:在任何介面下按Alt+Shift+F1 (Windows, Mac

[Eclipse]GEF入門系列(三、應用執行個體)

構造一個GEF應用程式通常分為這麼幾個步驟:設計模型、設計EditPart和Figure、設計EditPolicy和Command,其中 EditPart是最主要的一部分,因為在實現它的時候不可避免的要使用到EditPolicy,而後者又涉及到Command。現在我們來看個例子,它的功能非常簡單,使用者可以在畫布上增加節點(Node)和節點間的串連,可以直接編輯節點的名稱以及改變節點的位置,使用者可以撤消/重做任何操作,有一個樹狀的大綱視圖和一個屬性頁面。點此下載(Update: For

[Eclipse]GEF入門系列(四、其他功能)

最近由於實驗室任務繁重,一直沒有繼續研究GEF,本來已經掌握的一些東西好象又丟掉了不少,真是無奈啊,看來還是要經常碰碰。剛剛接觸GEF的朋友大都會有這樣的印象:GEF裡概念太多,比較繞,一些能直接實現的功能非要拐幾個彎到另一個類裡做,而且很多類的名字十分相似,加上不知道他們的作用,感覺就好象一團亂麻。我覺得這種情況是由圖形化使用者介面(GUI)的複雜性所決定的,GUI看似簡單,實際上包含了相當多的邏輯,特別是GEF處理的這種圖形編輯方式,可以說是最複雜的一種。GEF裡每一個類,應該說都有它存在的

[Eclipse]GEF入門系列(十二、自訂Request)

先簡單回顧一下Request在GEF裡的作用。Request是GEF裡一個比較重要的角色,Tool將原始的滑鼠事件轉換為EditPart可以識別的請求,Request則承載了這些請求資訊。舉例來說,使用者在調色盤(Palette)裡選擇了建立節點工具(CreationTool),然後在畫布地區按下滑鼠左鍵,這時產生在畫布上的按一下滑鼠事件將被CreationTool轉換為一個CreateRequest,它裡麵包含了要建立的對象,座標位置等資訊。

總頁數: 432 1 .... 77 78 79 80 81 .... 432 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.