原创 Jexi代碼 (7) Document類

Document相關類寫得差不多了,先發佈一個0.1版的代碼,zip下載,還有很多要完善。 用Rose畫的UML圖,比較大 :) 如果你對設計有任何意見或建議,歡迎提出來討論!

原创 Jexi設計 (6) View設計

以下討論View的設計。 Document是抽象的文檔類,它包含了所有的數據和如何顯示的信息,我們已經通過Page,Paragraph,Row等等抽象出來了。 Frame代表窗體對象,負責構造出窗體,菜單欄,工具欄等等,它可以接受用戶的命

原创 Jexi設計 (6) Document類的UML

前面討論了用Document類表示MVC結構中的文檔,並抽象出接口Glyph用於Composite模式,派生兩類Glyph:基本數據結構Char,Picture和Paragraph;顯示模型結構Row和Page,UML圖如下: 對於任意

原创 Jexi設計 (10) 座標轉換

座標轉換(修訂) 視圖保存(offsetX, offsetY),表示文檔相對於視圖的起始座標。 文檔在繪製時需要這個起始座標(offsetX, offsetY),表示整個文檔應該從此處繪製。 上圖中: viewWidth–docWid

原创 Jexi 1.0 beta

  慶祝中國隊奪得雅典奧運會第一枚金牌! 發佈1.0測試版: Source Code: http://code.google.com/p/jexieditor/ Compiled: http://jexieditor.googlecod

原创 狀態模式之星際應用

一個對象有多種狀態,在不同的狀態下,同一種方法有不同的行爲。如果用swich-case語句,將有大量的條件分支和邏輯代碼混在一起。狀態模式將每個狀態封裝到一個獨立的類中,利用多態性使得不同狀態下同一種方法表現不同的行爲。 狀態模式的UML

原创 使用MIDP2.0開發遊戲 (4) 改進的地圖生成方式

上次我們用Sprite實現了背景,但是這樣不便於通過地圖數據生成地圖。通常,遊戲中的地圖都被分成NxN的方格,一般僅有幾種圖案。幸運的是,SUN在MIDP 2.0已經考慮到了遊戲開發者需要的這個功能,TiledLayer便是通過貼圖實現的

原创 Jexi開發 (13) 實現編輯功能

今天把Caret重新設計了一遍,用一個Position表示Caret的位置: public final class Position {??? private int pageIndex;??? private int rowIndex

原创 高性能交易系統設計原理

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 Jexi設計 (8) 使用SWT創建GUI

目前Document類的結構已經比較完善了,由於編輯Document涉及到界面,所以先把GUI寫出來。 用Java做界面一直是比較麻煩的事情,早期的AWT太慢,現在很少用了,Swing我沒用過,但速度也快不了多少,最後發現SWT是一個不錯

原创 使用MIDP2.0開發遊戲 (7) 設計Scheduler

Scheduler負責以固定的頻率執行每一幀,所需的時鐘由Clock提供,Scheduler還可以計算每幀所需時間和CPU佔用率,以便可能的話動態調整任務。 以下的Scheduler的實現參考自Marshall "Game Program

原创 Jexi設計 (11) Sequence Diagram

畫了一個Sequence: 其中Document包含一個Caret,用來表示光標位置,View從Document獲得Caret的位置後,將光標顯示在指定位置上。 爲了簡化,Application代表整個應用程序,Singleton模式,

原创 Jexi設計 (2) 用戶需求

Jexi計劃實現一個所見即所得的圖文混排的編輯器,支持以下功能: 基本功能:文字錄入,複製粘貼,刪除,查找替換,打印等基本編輯操作。 擴展功能:圖文混排,打印預覽,多步Redo/Undo等。 暫不考慮其他如表格,繪圖,特殊效果如字符陰影等

原创 Jexi開發 (9) UI界面預覽

趁着週末有點時間,把繪製Document的功能做好了,又改好了以前的幾個Bug,現在終於可以顯示Document了: 當然Document的內容是我硬編碼進去的,下一步就是編輯功能了。:)

原创 Jexi開發 (15) 實現圖文混排

今天把最早設計的Picture類實現了,另外添加一個工廠PictureFactory用於創建Picture,放到程序中一測,沒有調試立刻顯示正常,呵呵,出乎我的意料,看來以後添加其他類型的Glyph也沒有大問題: 唯一的bug是圖片兩