本文首先介紹模型轉換的基本概念然後介紹RSA模型轉換框架之後本文以兩個具體的例子介紹如何在RSA開發平台中以模型轉換框架為基礎創建和擴展模型轉換
現在基於Eclipse的應用越來越多很多桌面應用都是用Eclipse開發的Eclipse提供了一套SWT/JFACE的控件庫使得人們開發界面應用極大的方便但是SWT/JFACE的控件庫畢竟有限在應用開發是我們不可避免地要自己開發一些自定義的控件本文通過開發一個顏色列表控件的實例介紹了Eclipse自定義控件開發中所要用到的技術
目標讀者必須熟悉Java開發並且有一定的Eclipse開發經驗
在Eclipse網站上有一篇相關的文章Creating Your Own Widgets using SWT該文介紹了開發自己控件的很多基本概念方法並且通過實例進行了介紹非常好但是其所用的實例比較簡單還有很多控件開發中所要涉及到的內容例如鍵盤鼠標事件的處理滾動條焦點的處理等等沒有提及本文通過開發一個自定義的顏色列表控件的實例全面地介紹了自定義控件所涉及的技術同時讀者也可以對該實例進行擴展實現自己的列表控件
SWT中提供的標准列表控件非常簡單只能提供字符串的選擇我們經常需要提供一些圖形列表供用戶選擇這就需要自己開發自定義的列表控件顏色選擇列表是我們常用的一種圖形列表我們就以此為例進行介紹以下是我們將要開發的顏色列表
我們在開發自定義控件時主要考慮以下問題
自定義控件的繪制通常我們需要自己對控件的形狀或圖案進行繪制
控件對鍵盤事件的響應當焦點進入控件用戶進行鍵盤操作通過鍵盤對控件進行控制時我們需要讓控件對用戶的操作進行響應例如在列表中用戶會通過上下箭頭改變列表的選擇項
控件對鼠標事件的響應當用戶用鼠標選中控件進行操作時控件必須作出相應的反應
控件對焦點事件的響應當界面焦點進入或移出控件通常我們需要將控件繪制成得到或失去焦點的形狀例如當焦點進入列表時一般被選中的列表項會有虛框表示選中
響應TAB鍵對於一個可操縱的控件用戶可以用TAB鍵將焦點移入或移出
響應滾動條事件當控件有滾動條時我們需要響應用戶對滾動條的操作完成對控件的繪制工作
提供事件監聽機制程序員使用你的控件時通常需要監聽控件中發生的一些事件這樣當事件發生時他們能夠進行相應處理
提供輔助功能(Accessibility)輔助功能是方便殘障人士使用時必須的標准控件都會提供相應的支持我們自定義的控件也不例外
提供功能接口方便程序員訪問通常為方便程序員使用時獲取控件中的信息或進行設置我們需要提供一些接口
首先我們要開發的列表控件是一個基本控件所以我們選擇Canvas作為我們開發的基類
public class ColorList extends Canvas {
Vector colors = new Vector(); // 用於保存我們顏色控件中的顏色值
Vector colorNames = new Vector(); // 用於保存顏色控件中的顏色名字
int rowSel = ; // 用於保存當前選中的行號
int oldRowSel = ; // 用於保存上一次選中的行號
int maxX maxY; // 用於保存列表的寬度和高度
int lineHeight; // 用於設置行高
int cx = ; // 滾動條滾動後控件的圖形相對於控件可見區域左上角的x坐標
int cy = ; // 滾動條滾動後控件的圖形相對於控件可見區域左上角的y坐標
}
控件開發最重要的就是控件的繪制了控件的繪制可以通過添加PaintListener在它的paintControl方法中進行
[] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28986.html