程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 【Eclipse插件開發】基於WTP開發自定義的JSP編輯器(十二)

【Eclipse插件開發】基於WTP開發自定義的JSP編輯器(十二)

編輯:關於JSP

定制自動編輯策略(Auto Edit Strategy)

JFace Text Framework框架的一個重要的功能特征就是自動編輯策略,它允許用戶對輸入的內容(准 確的說應該是即將來臨的Document修改^_^)做即時編輯,然後又會透明的將用戶的修改付諸於實現(即 應用到當前文檔)。在本節,我們將在前兩節有關TLD Content Model的基礎上開發一個自動編輯策略。

【JFace Text Framework 自動編輯策略原理介紹】

【JDT Java源碼編輯器自動編輯策略演示】

我們每個使用Eclipse JDT進行Java編程的開發者都會對JDT中Java源碼編輯器的自動編輯策略印象深 刻,它給編碼人員帶來了很大的方便。舉例如下:

如上圖所示,我們在編寫一個新的函數,圖中黑色豎線“|”就是光標所在處,當我們按下回車鍵的時 候,效果變為如下:

如上圖所示,當我們輸入回車鍵之後,JDT Java源碼編輯器自動幫我們矯正了內容(text)和位置 (offset):原來的輸入內容應該是“\r\n”,JDT Java源碼編輯器自動幫我們矯正為 “\r\n\t\t\r\n\t}”;根據“\r\n”內容推算,輸入後光標位置應該位於28行的起始處,JDT Java源碼 編輯器自動幫我們矯正為離28行其實處兩個“\t”的距離。

【自動編輯流程和主要角色】

上圖就演示了自動編輯過程:

1、用戶編輯,鍵盤事件

2、根據鍵盤事件,對事件信息進行分析,拼裝到名為DocumentCommand的數據結構中,該數據結構中 包含了用戶的輸入內容(text)、光標位置(offset)等信息,例如,上面JDT的例子中用戶的輸入內容 為“\r\n”。這一步JFace Text Framework幫用戶解決了。

3、調用自動編輯策略,對應DocumentCommand中數據進行自定義矯正,例如,JDT Java源碼編輯器的 自動編輯策略將輸入內容矯正為“\r\n\t\t\r\n\t}”。用戶自己負責,JDT Java源碼編輯器在這邊干活 了,提供了自己的IAutoEditStrategy^_^

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved