国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java手機軟件圖形界面API之慨述

2019-11-18 15:47:28
字體:
來源:轉載
供稿:網友

一、序言

手持設備的用戶接口編程不同于桌面微機編程。例如,手持設備的顯示尺寸要小,顯示設備并不總是包括點擊工具如鼠標和筆。由于這些原因,在手持設備的GUI編程時,我們不可能遵循與臺式微機編程GUI同樣的規則。

CLDC本身并沒有定義任何的GUI功能。代之的是,J2ME的官方GUI類用象MIDP這樣的輪廓文件所描述,并由java社團組織定義。你可能注重到在MIDP中描述的GUI類不是基于AWT的,這似乎存在很大問題。請往下看。

二、為什么不重用AWT?

經過相當的考慮之后,MIDP專家組決定不再重用已有的AWT和Swing類。原因如下:

·AWT是為桌面微機開發的,并為這種情形作了優化處理。

·AWT設定了某些用戶交互模式。AWT的組成當中考慮到了如鼠標等的點指設備,但是許多手持設備,如手機等,只有鍵盤用于輸入。

·AWT具豐富的特性,包括在手持設備上還不能實現的。例如,AWT為窗口治理提供廣泛支持,如窗口大小與重疊調用。然而,有限的手持設備的顯示空間,使得它上面的窗口調整根本不可能實現。所以,手持設備是用不到AWT的窗口布局治理器的。

·當用戶與基于AWT的應用程序交互時,甚至對象是動態創建的。這些對象僅在與之相關的事件被應用程序或系統處理時--此時,這些對象對于垃圾回收器來說是有效的--這些對象才存在。但是手持設備有限的CPU和內存無法承擔如此重任。

三、MIDP GUI API

基于以上原因,MIDP創建了它自己的簡短的GUI,其與AWT存在相當的不同。MIDP GUI包含了低級的和高級的API兩類,這兩類Aip各有自己的事件集。本文將討論并演示通過這兩類API來使用對象的例子。通過API操縱事件在下一章中介紹。

高級的API主要應用在移動設備開發非凡注重移植性的情況下。為了保證可移植性,API進行了高級抽象,因此給予用戶在控件的外觀和感覺上極少的控制。例如,你沒法定義一個高級組件的可視化外觀(外形,顏色或者字體)。大多數與組件的交互由系統實現體所封裝;應用程序不必在乎它們。因此,底層的實現上為適應于硬件和本機用戶接口風格作了必要的調整。實現了高層API的類全部繼續自javax.microedition.lcdui.Screen類。

而低層API作了很少的抽象處理。該設計用于要求對圖形元素進行精確控制的場所,這時應用程序還可以對低層輸入事件進行存取。這一類API使得應用程序可以對在屏幕上顯示的內容進行精確的控制。javax.microedition.lcdui.Canvas和javax.microedition.lcdui.Graphics類實現該低層API。但是,應該明確指出,無法保證存取低層API的MIDlets程序是可移植的,因為這種API提供了存取特定設備的細節操作。

1、MIDP GUI模型

下面是MIDP GUI在內核上如何工作的一個模型。為在某MIDP設備上進行顯示,你需要取得該設備的display,這是由javax.microedition.lcdui.Display類來描述的。類Display是唯一的顯示治理器,當用于每一個活動的MIDlet時被實例化,并提供方法以檢索有關該設備顯示能力的信息。

獲取設備的顯示信息是很輕易的。但是,對象本身并不令人感愛好。而更令人感愛好的抽象是screen,它封裝和組織圖形對象并協調通過設備的用戶輸入。Screen由javax.microedition.lcdui.Screen對象來描述并由Display 對象調用setCurrent( )方法顯示。一個應用程序中可有多個screen,但是在某一時刻只有一個screen在屏幕上是可見的(當前的這一個),用戶只能遍歷在這一個screen上的項。圖1顯示了在display與它的可能的多個screen之間的一對多的關系。

Java手機軟件圖形界面API之慨述(圖一)

圖1.display與screens間的關系



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双峰县| 二连浩特市| 咸宁市| 高陵县| 广河县| 克拉玛依市| 永修县| 油尖旺区| 石嘴山市| 商洛市| 白山市| 高雄县| 正宁县| 安康市| 道孚县| 张家界市| 南皮县| 碌曲县| 新乡县| 侯马市| 若尔盖县| 广水市| 加查县| 邳州市| 花垣县| 胶州市| 济宁市| 高陵县| 汶川县| 巧家县| 九寨沟县| 花垣县| 桦川县| 岫岩| 靖远县| 静乐县| 合川市| 天全县| 南雄市| 柳州市| 金阳县|