Java手机软件图形界面API之慨述-Java基础-Java-编程开发

Android手机软件开发实例教程:Java与PhoneGap Android SDK(Software Development Kit)提供了一系列的工具来协助开发者进行Android应用的开发。这些工具包括但不限于以下几点:编译器:用于编译Java源代码为Android平台的Dalvik可执行文件(.dex)。资源打包器:将应用资源打包为Apk文件中的资源压缩包。布局编辑器:图形化地设计和编辑UI布局。模拟器:可以在不同Android版本和设备配置上模拟应用的运行环境。调试器。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

一、序言

手持设备的用户接口编程不同于桌面微机编程。例如,手持设备的显示尺寸要小,显示设备并不总是包括点击工具如鼠 标和笔。由于这些原因,在手持设备的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之间的一对多的关系。

图1.display与screens间的关系

在MIDP GUI中共有三种类型的screen:

·完全封装了复杂用户接口组件(如List:下图2或者TextBox:下图3)的screen。这些screen的结构是预定义好的,应用程 序不能把其它组件添加到这些screen上。

图2.一组互斥的选择项

图3.一个文本框的例子

·使用表单组件的普通screen。应用程序可以把文本框,图像及一些简单的相关联的UI组件到表单上,此时表单起容器作 用。

·在低层API使用的screen,如一个Canvas或者Graphics对象的子类。

2、Lcdui包

所有的MIDP GUI类都包含在包javax.microedition.lcdui中。该包包含了3个接口和21个类,详见表1和表2。

表 1: lcdui接口

接口描述
Choice为用户接口组件定义一个API,该API实现从预定义的选项中的选择
CommandListener 用于应用程序检索来自实现过程的高层次事件
ItemStateListener 当应用程序需要接收事件(该事件代表了交互项中的内部状态中的变化)时使用

  表 2: lcdui类

类 描述
Alert一个screen,它显示数据给用户,并在显示下一屏前等待一段时间
AlertType 该类指出上面Alert的类型
Canvas 这是一个需要进行低层事件处理并为屏幕显示发出图形调用的应用程序的基础类
ChoiceGroup 为了放置在表单中的一组可选择的元素
Command用来封装某动作的语义信息
DateField 一个可编辑组件,用于描述显示在表单上的日历上的日期和时间信息
Display用于描述显示管理器和系统的输入设备
Displayable可被显示的对象
Font 描述字体及其大小的类
Form一个screen,其中包含了许多项(图像,文本,文本域,选项组,等)的任意组合
Gauge 完成在表单上某个值的条码图显示
Graphics该类提供简单的二维几何体着色能力
Image存放图像数据的类
ImageItem当把图像对象添加到form 或者alert上时,负责其布局控制。
Item 它是一个可以添加到Form 或者Alert上的所有组件的基类。
List 包含一系列选择的屏幕控件
Screen所用高层用户接口类的基类
StringItem 该项可以存放字符串
TextBox允许用户输入和编辑文本的屏幕控件
TextField可以放到表单上去的可编辑文本控件
Ticker一种横跨屏幕显示的断续器类型的文本,它可以被依附到除Canvas外的所有screen上。

下图显示其中的主要类及其之间的关系。

图 4.包中的主要类之间的类关系图

javax.microedition.jar 文件结构 javax/microedition/io/ javax/microedition/lcdui/ javax/microedition/midlet/ javax/microedition/rms/ 立即下载

相关推荐

java 图像处理资源 api

java图像处理相关api介绍及下载地址

深入理解MIDP的界面类体系

深入理解MIDP的界面类体系作者:陈跃峰Email:cqucyf@gmail.com        因为在MIDP手机编程中,没有控制台的概念,所以所有的MIDP手机软件都必须有自己的界面,下面就熟悉一下MIDP的界面类体系。       首先说明的是,MIDP的标准界面类都位于javax.microedition.lcdui包中,使用时一定要记得引入。       在界面体系中,所以可以直接显示

爪哇米工作室陈跃峰的移动开发博客 4102

手机版JDK API 文档 中文版

java api文档,手机可用,解压后用手机或者电脑的浏览器打开文件夹中的index.html。JDK版本是1.6.02

J2ME 文件下载实例 jar包为例

package com.wanchong; /** * 作者:万冲 * QQ:569845790 * Mail:wanchong998@qq.com */ import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.mi...

Benson 378

Java手机API开发

Java手机API开发----Game API入门

100个Java+GUI+swing的小程序

100个Java+GUI+swing的小程序100个Java+GUI+swing的小程序100个Java+GUI+swing的小程序

javax.microedition.lcdui(1)

按语:此处的翻译只为自己存档。借优快云当网络办公环境。感谢谷歌翻译、金山词霸 。欢迎口水板砖。感谢指正 翻译中......java.lang.Object javax.microedition.lcdui.Displaypublic class Displayex

单纯的生活 2060

Java2D之图像处理

实现Java2D之字体编程: 1、Java2D显示jpeg、gif、png等格式图像。 2、图像缩放、模糊、锐化、边缘检测的处理; 3、使用java.awt.image 包,设计一个有趣的图像处理演示程序;

反编译得到java吗,Java开发网 - 请问有没有好的反编译工具,从JAR包中得到.java文件...

Posted by:TobarPosted on:2003-11-07 06:19但是我编译时报错...比如这个[code]import java.io.PrintStream;import javax.microedition.lcdui.*;public class About extends QQForm{protected Command cmdBack = null;public Abo...

weixin_35004618的博客 156

1448•纯粹素数

纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。对于每一个数(无论质数合数)x,筛掉所有小于x最小质因子的质数乘以x的数。但我们知道,我们选择的那个质数必须小于那个合数的最小质因子。p3,因为p2>p1,所以这样是筛不到的。唯一会筛的是第一种:p1和p2*p3。c,s肯定小于刚才那个合数,说明肯定对于它已经筛过,然后a肯定小于s,因为s=b。p3,并且保证p1<p2<p3。我们知道,筛掉这个合数的机会有:p1和p2。c,并且a是最小的因子。

SSL_bin的博客 591

【数据结构】平行四边形数量

平行四边形个数,哈希表,散列

cyy010617的博客 4010

全面接触Java手机软件图形界面API

[全部文章]  工具软件  办公软件  操作系统  网络安全  设计在线  程序开发  专题教程  软件下载  论坛   漂亮的界面等于一半成功,这句话也适用于手机应用软件。与PC应用软件开发工具相同的是手机应用软件开发工具也提供很多与界面相关的API函数,但不同的是手机的资源要少很多,要设计一个漂亮的界面面临的困难就要高很多,需要更多的技巧,稍不留神资源就没有了,因此,我们必须完全掌握这些API

cqfz123的专栏 3301

ZYNQ裸机双网口通信实战:手把手教你用SDK和LWIP配置PS+PL以太网(附完整源码)

本文详细介绍了在ZYNQ裸机环境下实现双网口通信的全流程,包括硬件配置、LWIP协议栈优化及TCP通信实现。通过Vivado SDK和LWIP协议栈,开发者可以高效配置PS端内置网口与PL端扩展网口,提升嵌入式网络应用的灵活性和性能。附完整源码,助力快速开发。

weixin_30831529的博客 424

经典java手机软件_grcqjics-phone-classic 关于如何使用Java手机软件图形界面API之低级GUI组件的经典介绍, Windows Kernel 系统编程 272万源代码下载-...

文件名称: grcqjics-phone-classic下载 收藏√ [5 4 3 2 1]开发工具: Java文件大小: 1540 KB上传时间: 2017-03-18下载次数: 0详细说明:关于如何使用Java手机软件图形界面API之低级GUI组件的经典介绍,-On how to use Java mobile phone software graphics interface...

weixin_36234970的博客 96

项目管理——14规划绩效域论文套路

规划绩效域论文套路

Flee Elf 1153

LT9211 单路mipi转双路mipi芯片,方案成熟,提供技术支持

LT9211 单路mipi转双路mipi芯片

TEL15012949045的博客 5026

Java手机软件图形界面API之Form相关API-Java基础-Java-编程开发

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 466

【NLG】(六)文本生成评价指标—— ROUGE原理及代码示例

前奏: 【NLG】(一)文本生成评价指标——BLEU原理及代码示例 【NLG】(二)文本生成评价指标—— METEOR原理及代码示例 【NLG】(三)文本生成评价指标—— ENTROPY原理及代码示例 【NLG】(四)文本生成评价指标—— diversity原理及代码示例 【NLG】(五)文本生成评价指标—— kl_divergence原理及代码示例 1.ROUGE原理 2.优缺点 3.如何算ROUGE ...

凝眸伏笔的博客 1万+

python编程手机软件哪个好,手机上编程python的软件

正确的用法,应该就是学编程的时候,用来练习练习,倒是一个不错的好选择,或者自己有些小项目,拿来码码代码什么的。由于内置了SL4A,可以很方便的调用安卓操作系统的一些API做些有趣的事情,比如可以通过SL4A获取手机地理位置,打开蓝牙,发送手机短信,打开手机摄像头等等。Qpython是一个Python引擎,只能运行在安卓系统上,内置了一个Python编辑器,可以直接在手机上写Python代码,支持缩进,语法高亮等特性。这是编程IDE的标配,可以执行一些代码片段,不过写手机上输入代码还是挺麻烦的。

a17348的博客 1258

【DRAM存储器六十五】DDR5介绍--训练相关之MPC、Read Training Pattern、Read Preamble Training Mode

简述DDR5 MPC操作和读训练时颗粒输出pattern的配置

highman110的博客 363

【sealos安装指南】基于 Sealos 安装 Kubernetes 1.33.6 高可用集群

本文介绍使用Sealos工具快速搭建Kubernetes集群的详细指南。Sealos简化了K8s部署流程,自动完成系统调优,适合新手学习使用。文章提供了服务器规划、环境准备、在线/离线两种安装方式的具体步骤,包括主机名设置、swap关闭、数据目录配置等。重点讲解了Sealos的安装命令参数说明,以及添加/删除节点等常用操作。推荐使用Calico网络组件确保稳定性,并附有安装成功后的验证截图。该指南能帮助用户快速搭建一个包含master和worker节点的K8s集群,底层基于containerd运行。

欢迎你们到来,希望能帮到大家 463

开发手机软件需要学什么内容才可以呢

开发环境: 下载和安装适用于您选择的平台的开发环境,如Android Studio(用于Android开发)或Xcode(用于iOS开发)。2、应用架构: 了解移动应用的架构,包括MVC(Model-View-Controller)或其他设计模式,以便有效地组织和管理应用代码。3、用户界面设计(UI/UX): 学习创建吸引人的用户界面和用户体验设计,以确保应用易于使用和导航。8、移动应用安全性: 了解移动应用的安全性最佳实践,以保护用户数据和应用程序免受潜在的威胁。

qq_42294208的博客 2132

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java开发学习难吗,学习哪些知识

对于想要加入IT行业的人来说,Java是一个不错的选择,不仅人才需求大,就业薪资也非常不错。很多零基础的人想知道Java开发学习难吗,学习哪些知识? 为什么那么多人学Java?1、Java语言的市场需求量多。无论是手机软件、手机Java游戏还是电脑软件,你的每一次购物到每一笔支付成功,都离不开Java,越来越多的企业也正采用Java语言开发网站,而在所有程序员中,Java开发工程师就占据20%的比例。2、Java的市场人才需求量尚未饱和。整个互联网在不断发展,Java技术也在不断进步,Java应用会越来越广

qf2019的博客 960

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

作为一个Java编程新手该如何学习好…

对于一个热衷于Java技术的程序员, 作为一个Java编程新手,掌握好下面的几个要点可以让你在众多Java开发人员中脱颖而出。 1.选择很重要       作为一个初学者,找一种你喜欢用到工作中的语言,是非常重要的。所以说,选择哪个编程语言,作为自己职业生涯的开始,明确自己将来发展的方向,是起着很大的作用。首先建立起自力更生的信心,换句话说就是拿出学习的勇气和毅力。不论是自学还是参加培训班

qq3045528107的博客 1403

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 基于java的图片文件格式转换和线性缩放-Java基础-Java-编程开发
下一篇: 基于短信网关WAP推送的实现-Java基础-Java-编程开发
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值