成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AWT和Swing的可訪問性

開發 后端
本文介紹AWT和Swing的可訪問性,與 AWT 類似,Swing 的一個優點是,它也是 Java 技術的一種標準配置。這意味著您不需要自己來安裝它了。

可訪問性

創建一個殘疾人可以訪問的 GUI 是非常重要的。Swing 為實現具有可訪問性的 GUI 提供了豐富的基礎設施和 API。這種支持是單獨的,但是如果主機上具有可訪問性支持,那么它們應該集成在一起。

與 AWT 一樣,Swing 可以支持 GUI 組件的自動銷毀。Swing 還可以支持 AWT 的自底向上和自頂向下的構建方法。

與 AWT 不同,Swing 組件不是線程安全的,這意味著您需要關心在應用程序中是哪個線程在更新 GUI。如果在使用線程時出現了錯誤,就可能會出現不可預測的行為,包括用戶界面故障。有一些工具可以幫助管理線程的問題。

與 AWT 類似,Swing 的一個優點是,它也是 Java 技術的一種標準配置。這意味著您不需要自己來安裝它了。不幸的是,Swing 已經有了很大的變化,因此它很容易變得依賴于最新版本的 Java 語言所提供的特性,這可能會強制用戶更新自己的 Java 運行時環境。

與 AWT 的概念相比,SWT 是一個低級的 GUI 工具包。JFace 是一組用來簡化使用 SWT 構建 GUI 的增強組件和工具服務。SWT 的構建者從 AWT和Swing 實現中學習了很多經驗,他們試圖構建一個集二者優點于一體而沒有二者的缺點的系統。從很多方面來說,他們已經成功了。

SWT 也是基于一個對等體實現的,在這一點上它與 AWT 非常類似。它克服了 AWT 所面臨的 LCD 的問題,方法如下:定義了一組控件,它們可以用來構建大部分辦公應用程序或開發者工具,然后可以按照逐個主機的原則,為特定主機所沒有提供的控件創建模擬控件(這與 Swing 類似)。對于大部分現代主機來說,幾乎所有的控件都是基于本地對等體的。這意味著基于 SWT 的 GUI 既具有主機外觀,又具有主機的性能。這樣就避免了使用 AWT和Swing 而引起的大部分問題。特定的主機具有一些低級功能控件,因此 SWT 提供了擴充(通常是模擬的)版本(通常使用 “C” 作為名字中的第一個字母),從而可以產生更一致的行為。

在對等體工作方式上,SWT 與 AWT 不同。在 SWT 中,對等體只是主機控件上的一些封裝程序而已。在 AWT 中,對等體可以提供服務來最小化主機之間的差異(就是在這里,AWT 碰到了很多行為不一致的問題)。這意味著 SWT 應用程序實際上就是一個主機應用程序,它必然會全部繼承主機的優點和缺點。這還意味著 SWT 不能完全實現 WORE 的目標;它更像是一種 WOTE 解決方案。這就是說,SWT 盡管不如 Swing 那么優秀,但是它在創建可移植解決方案方面是很杰出的。

正如您可以看到的一樣,這些組件集比 AWT 提供的組件集更為廣泛,與 Swing 組件集相比也毫不遜色。

與 AWT和Swing 布局管理器類似,SWT 也提供了非常豐富的布局部件集。布局系統與嵌套容器一起使用,可以生成所需要的任何布局算法。所有這 3 個 GUI 庫也可以支持對部件的定位實現絕對控制。SWT 沒有等效的 BorderLayout 部件,這一點非常令人失望。FormLayout 對于創建表單基本輸入來說非常好用。我認為 SWT 的布局機制比 AWT/Swing 布局部件集的使用更難學習。

與 AWT和Swing 事件系統一樣,SWT 提供了非常豐富的事件集。盡管這些事件并不能與 AWT/Swing 的事件一一對應(例如 AWT和Swing 的按鈕都會產生 ActionEvent 事件,而 SWT 的按鈕產生的則是 SelectionEvent 事件),但是它們通常都是等價的。

很多 Swing 組件,例如 JTable,都有自己的模型。對應的 SWT 控件(例如 Table)則沒有;不過它們有自己的條目。條目通常用來限制顯示文本或通常很小的圖像(例如圖標)。為了提供一種類 Swing 的模型接口,SWT 使用了 JFace ContentProviders。這些組件可以在應用程序提供的模型(例如 List 或 Table 使用的 java.util.Array )和用作視圖的控件之間充當一個橋梁。為了將任意模型對象格式化成條目,SWT 使用了 JFace LabelProviders,它們可以為任何模型對象生成一個文本或圖標格式。這可以對復雜模型對象的混合顯示進行限制。其他類似組件,例如 ColorProviders 和 LabelDecorators,可以增強對這些條目的顯示。對于 Tables 的特例來說,SWT 提供了 CellEditor,它可以臨時將任意 SWT 控件鏈接到一個 Table 單元格上,從而當作這個單元格的編輯器使用。

SWT 不支持 GUI 控件的自動銷毀。這意味著我們必須顯式地銷毀所創建的任何控件和資源,例如顏色和字體,而不能利用 API 調用來實現這種功能。這種工作從某種程度上來說得到了簡化,因為容器控制了其子控件的自動銷毀功能。

使用 SWT 只能自頂向下地構建 GUI。因此,如果沒有父容器,子控件也就不存在了;通常父容器都不能在以后任意改變。這種方法不如 AWT/Swing 靈活。控件是在創建時被添加到父容器中的,在銷毀時被從父容器中刪除的。而且 SWT 對于 style 位的使用只會在構建時進行,這限制了有些 GUI 控件的靈活性。有些風格只是一些提示性的,它們在所有平臺上的行為可能并不完全相同。

與 Swing 類似,SWT 組件也不是線程安全的,這意味著您必須要關心在應用程序中是哪個線程對 GUI 進行了更新。如果在使用線程時發生了錯誤,就會拋出異常。我認為這比不確定的 Swing 方法要好。有一些工具可以幫助管理線程的問題。

如果所支持的操作系統提供了可訪問性服務,那么 SWT GUI 通常也就具有很好的可訪問性。當默認信息不夠時,SWT 為程序員提供了一個基本的 API 來指定可訪問性信息。

SWT 提供了一個有限的圖形環境。到目前為止,它對于 Java2D 和 Java3D 的支持還不怎么好。Eclipse 使用一個名為 Draw2D 的組件提供了另外一種單獨的圖形編輯框架(Graphical Editing Framework,GEF),它可以用來創建一些繪圖應用程序,例如 UML 建模工具。不幸的是,GEF 難以單獨(即在整個 Eclipse 環境之外)使用。

與 AWT和Swing 不同,SWT 和 JFace 并不是 Java 技術的標準配置。它們必須單獨進行安裝,這可以當作是 Eclipse 安裝的一部分,也可以當作是單獨的庫進行安裝。Eclipse 小組已經使它的安裝變得非常簡單,并且 SWT 可以與 Eclipse 分開單獨運行。所需要的 Java 檔案文件(JAR)和動態鏈接庫(DLL)以及 UNIX® 和 Macintosh 上使用的類似庫可以從 Eclipse Web 站點上單獨下載。JFace 庫需要您下載所有的 Eclipse 文件,并拷貝所需要的 JAR 文件。在下載所需要的文件之后,我們還需要將這些 JAR 文件放到 Java CLASSPATH 中,并將 DLL 文件放到系統 PATH 中。

【編輯推薦】

  1. Swing模型過濾器概述
  2. 淺談WebRenderer與Swing應用程序
  3. TableModelExample可以簡化Swing
  4. JTable和TableModel簡化Swing
  5. 用BeanTableModel簡化Swing
責任編輯:佚名 來源: 機械工業出版社
相關推薦

2009-07-14 15:01:02

AWT和Swing

2009-07-17 09:07:20

2009-07-17 09:36:14

SWT和Swing的區

2009-07-17 10:11:55

AWT和Swing

2009-07-16 13:37:33

Swing和AWT

2009-07-15 16:39:51

AWT和Swing

2009-07-10 17:03:17

AWT組件Swing組件

2009-07-10 17:20:38

Swing構件AWT構件

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-16 13:50:28

AWT和Swing

2009-07-17 15:30:30

JFaceAWT和SWTSwing

2009-07-14 15:12:36

SwingSWT和AWT

2009-07-17 10:01:14

Swing和AWT

2009-07-10 15:41:27

Swing AWT

2024-05-13 08:51:39

2009-07-17 10:25:41

AWT和SwingSWT

2011-02-17 08:49:49

WebHTMLCSS

2023-09-27 16:08:37

2011-04-15 17:33:39

SWINGAWT

2009-07-17 09:55:02

事件監聽器SWT和SwingAWT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美久操网| 精品视频在线观看 | 亚洲精品一区国语对白 | 国产视频一视频二 | 国产传媒毛片精品视频第一次 | 97av视频在线| 久色 | 91精品国产综合久久久久 | 天天宗合网 | 日韩精品免费 | 久久精品成人一区 | 久久国产电影 | 亚洲成人网在线播放 | 999久久久久久久久6666 | 久久av在线播放 | 有码在线 | 欧美美女被c| 国产羞羞视频在线观看 | 欧美精品一区二区三区在线播放 | 国产精品.xx视频.xxtv | 亚洲福利一区 | 粉嫩粉嫩芽的虎白女18在线视频 | 在线观看国产视频 | 日韩一区二区福利 | 成人在线一区二区 | 国产欧美日韩一区二区三区在线 | 亚洲一区播放 | 日韩免费看片 | 国产成人精品综合 | 亚洲精品一区二区在线观看 | 免费一区二区三区 | 国产高清一二三区 | 特黄特色大片免费视频观看 | 国产精品99久久久久久大便 | 理论片午午伦夜理片影院 | 亚洲免费视频一区 | 成人一区二区三区在线观看 | 日本久久www成人免 成人久久久久 | 欧美v在线观看 | 国产一级片av | 欧美日韩在线观看视频网站 |