第5章 MIDP高级用户界面程序设计PPT课件
合集下载
Android高级开发技术案例教程精品课件第5章Android 界面系统高级控件
Android高级开发技术 案例教程
毋建军 编著
清华大学出版社
第5章 Android 界面系统高级控件
本章学习目标(知识要点)
本章介绍了Android 界面系统高级控件、Android事件处理监 听器、事件处理的机制、消息传递机制、Android音视频播录 等基本应用。使读者通过本章的学习,能够深入掌握以下知 识要点: • 系统高级控件的常用属性及属性设置及描述、常用的方法 • Android事件类型、事件传递及处理原则、事件处理机制及
SeekBar通用的方法及步骤如下: 1)用XML描述SeekBar控件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <SeekBar android:id="@+id/seekBar" android:layout_height="wrap_content" android:layout_width="fill_parent"/>
adapter.setDropDownViewResource(yout.simple_spinner_dr opdown_item);
adapter.add("java"); adapter.add("dotNet"); adapter.add("php"); Spinner spinner = (Spinner) findViewById(R.id.spinner); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new
毋建军 编著
清华大学出版社
第5章 Android 界面系统高级控件
本章学习目标(知识要点)
本章介绍了Android 界面系统高级控件、Android事件处理监 听器、事件处理的机制、消息传递机制、Android音视频播录 等基本应用。使读者通过本章的学习,能够深入掌握以下知 识要点: • 系统高级控件的常用属性及属性设置及描述、常用的方法 • Android事件类型、事件传递及处理原则、事件处理机制及
SeekBar通用的方法及步骤如下: 1)用XML描述SeekBar控件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <SeekBar android:id="@+id/seekBar" android:layout_height="wrap_content" android:layout_width="fill_parent"/>
adapter.setDropDownViewResource(yout.simple_spinner_dr opdown_item);
adapter.add("java"); adapter.add("dotNet"); adapter.add("php"); Spinner spinner = (Spinner) findViewById(R.id.spinner); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new
009-010 高级用户界面
本课小结
了解Command与高级事件处理机制 学会使用TextBox组件 掌握Command与高级事件处理机制
public void commandAction(Command c,Displayable d);
第一个参数c是一个命令对象,用来标识已经使用addCommand() 方法添加到Displayable对象并且已被调用的命令。第二个参数d是发生 事件的Displayable对象。
2006
23
第5章 高级用户界面
2006
15
第5章 高级用户界面
5.2 TextBox组件
5.2.1 构造方法
TextBox类的构造方法: TextBox(String title,String text,int maxSize,int constraints) title是标题,text文本,maxSize是最大字符数,constraints是文本框 的类型。 constraints的取值为: TextField.ANY 任意文字 TextField.EMAILADDR 邮件地址 TextField.NUMBER 整数 TextField.PASSWD 口令 TextField.PHONENUMBER 电话号码 TextField.URL 网络地址 TextField.DECIMAL 数字
2006
4
第5章 高级用户界面
5.1 高级用户界面概述
5.1.2 高级用户界面的类结构
Display类负责管理显示这些屏幕对象(也包括低级屏幕对象 Canvas),每个MIDlet都有一个Display实例,通过它可以获取关于 设备显示屏幕的基本性能信息。
类Screen和Canvas都是Displayable类的子类,通过调用Display的 方法setCurrent可以使屏幕对象可见。
用户界面设计课程介绍精品PPT课件
用户界面测试和评价的意义 用户界面测试与评价的内容 用户界面的测评人员 用户界面测评方法 用户界面评价条目
29.10.2020
哈工大软件学院
10
《用户界面设计》 《用户界面设计》课程内容介绍
课程内容:
8. 上机实验(共设计7个实验):
窗口设计
[1学时]
菜单设计
[2学时]
填表输入及操作控制界面设计 [3学时]
《用户界面设计》
《用户界面设计》 The User Interface Design
任课教师: 范 国 祥 电 话: 6(O)
(Mobile)
电 话:
2010. 09
29.10.2020
1
《用户界面设计》 《用户界面设计》课程目的和意义
“用户界面设计”的意义: (1)软件美观性需要 (2)软件可用性需要 (3)软件高效性需要 (4)软件人性化需要 (5)软件安全性需要 根本意义:软件市场化需要
价格:¥49.00
29.10.2020
哈工大软件学院
15
《用户界面设计》 《用户界面设计》课程内容介绍
参考书No.04:
《网页界面设计艺术 教程》
张帆等编著 人民邮电出版社
2003.01 价格:¥39.00
29.10.2020
哈工大软件学院
16
《用户界面设计》 《用户界面设计》课程内容介绍
参考书No.05:
29.10.2020
哈工大软件学院
18
《用户界面设计》 《用户界面设计》课程内容介绍
参考书No.07:
《Web设计禁忌》 [美]Jeff Johnson著
张颖译 机械工业出版社
2006.02 价格:¥38.00
29.10.2020
哈工大软件学院
10
《用户界面设计》 《用户界面设计》课程内容介绍
课程内容:
8. 上机实验(共设计7个实验):
窗口设计
[1学时]
菜单设计
[2学时]
填表输入及操作控制界面设计 [3学时]
《用户界面设计》
《用户界面设计》 The User Interface Design
任课教师: 范 国 祥 电 话: 6(O)
(Mobile)
电 话:
2010. 09
29.10.2020
1
《用户界面设计》 《用户界面设计》课程目的和意义
“用户界面设计”的意义: (1)软件美观性需要 (2)软件可用性需要 (3)软件高效性需要 (4)软件人性化需要 (5)软件安全性需要 根本意义:软件市场化需要
价格:¥49.00
29.10.2020
哈工大软件学院
15
《用户界面设计》 《用户界面设计》课程内容介绍
参考书No.04:
《网页界面设计艺术 教程》
张帆等编著 人民邮电出版社
2003.01 价格:¥39.00
29.10.2020
哈工大软件学院
16
《用户界面设计》 《用户界面设计》课程内容介绍
参考书No.05:
29.10.2020
哈工大软件学院
18
《用户界面设计》 《用户界面设计》课程内容介绍
参考书No.07:
《Web设计禁忌》 [美]Jeff Johnson著
张颖译 机械工业出版社
2006.02 价格:¥38.00
第5章高级用户界面
2013-7-28 28
第1步:用户界面设计
第一个窗体界面:
三个图片框;三个按钮。 第一个图片框的图形由图片框的“Picture” 属性加载实现,该图的路径是: “c:\program files\microsoft visual studio\common\graphics\icons\arro ws\point05.ico”
2013-7-28
17
最后单击属性条的“…”按钮,打开 “加载图片”对话框后,找到所需图形 文件打开(插入)即可。
2013-7-28
18
加载结果是:
2013-7-28
19
在程序运行状态下加载
在程序运行状态下加载图形的方法是通过 “LoadPicture()”函数实现。其格式是:
Picture1.Picture=LoadPicture (“图形文件所在路径和文件名”)
2013-7-28
32
“变形”按钮程序:
将picture1中图形 画到Picture2中
2013-7-28
这是在Picture2中图形的坐 标和大小,源图参数省略 表示全图
33
“裁剪”按钮程序:
将picture1中图形 画到Picture3中
2013-7-28
这是Picture3中图 形的坐标和大小
27
2013-7-28
PaintPicture方法应用示例
[例5-2-2]: 假设有两个窗体:
第一个窗体上有三个图片框和三个命令按钮。 三个图片框中有一个放有一张图片,另外两 个图片框用于单击“变形”和“剪裁”按钮 后显示其变化的图形,还有一个“翻转”按 钮,用于单击它打开第二个窗体。 第二个窗体有一个图片框,放有与第一窗体 第一个图片框相同的图片,另外还有三个按 钮,用于实现图片框中图形翻转用。
第1步:用户界面设计
第一个窗体界面:
三个图片框;三个按钮。 第一个图片框的图形由图片框的“Picture” 属性加载实现,该图的路径是: “c:\program files\microsoft visual studio\common\graphics\icons\arro ws\point05.ico”
2013-7-28
17
最后单击属性条的“…”按钮,打开 “加载图片”对话框后,找到所需图形 文件打开(插入)即可。
2013-7-28
18
加载结果是:
2013-7-28
19
在程序运行状态下加载
在程序运行状态下加载图形的方法是通过 “LoadPicture()”函数实现。其格式是:
Picture1.Picture=LoadPicture (“图形文件所在路径和文件名”)
2013-7-28
32
“变形”按钮程序:
将picture1中图形 画到Picture2中
2013-7-28
这是在Picture2中图形的坐 标和大小,源图参数省略 表示全图
33
“裁剪”按钮程序:
将picture1中图形 画到Picture3中
2013-7-28
这是Picture3中图 形的坐标和大小
27
2013-7-28
PaintPicture方法应用示例
[例5-2-2]: 假设有两个窗体:
第一个窗体上有三个图片框和三个命令按钮。 三个图片框中有一个放有一张图片,另外两 个图片框用于单击“变形”和“剪裁”按钮 后显示其变化的图形,还有一个“翻转”按 钮,用于单击它打开第二个窗体。 第二个窗体有一个图片框,放有与第一窗体 第一个图片框相同的图片,另外还有三个按 钮,用于实现图片框中图形翻转用。
MIDP高级用户界面PPT课件
3
高级用户界面库的体系结构
❖ javax.microedition.lcdui包 Displayable
SБайду номын сангаасreen
Canvas
Alert
Form
List TextBox GameCanvas
44
❖ Screen类是高级图形用户界面组件,Canvas是低 级图形用户界面组件,在同一时刻,只能有唯一 一个Screen或Canvas类的子类显示在屏幕上。
二者皆是可选的,如果省略了ticker,则 一点不显示,并把相应的空间让给screen。
16
❖ Form类
Form类是Screen类的子类,在手机屏幕上创建 一个小型窗口,此窗口可以容纳各种与用户交互的 可视组件。例如:Image、TextField、Gauge和 ChoiceGroup等。
Form 是J2ME 里面一个比较重要的容器类型, 可以说是集中了高级UI 中的精华,是开发过程中 常常用到的一个关键类,下图很好的说明了FORM 及其相关子类的关系:
❖ 所有的功能皆由Display类来实现,它提供了相 应的方法用于把对象显示在设备的屏幕上以及用 于检索设备的属性等。
10
❖ Display类
指向设备的display的引用可通过提供一个
MIDlet引用给静态方法getDisplay()而取得。
public static Display getDisplay(MIDlet c);
❖ MIDP中规定每个MIDlet程序只能拥有一个 Display对象。我们可以调用Display的 setCurrent()的方法来将前一个画面替换掉,我 们必须自行将前一个画面的状态保留起来,并自 己控制整个程序画面的切换。
高级用户界面库的体系结构
❖ javax.microedition.lcdui包 Displayable
SБайду номын сангаасreen
Canvas
Alert
Form
List TextBox GameCanvas
44
❖ Screen类是高级图形用户界面组件,Canvas是低 级图形用户界面组件,在同一时刻,只能有唯一 一个Screen或Canvas类的子类显示在屏幕上。
二者皆是可选的,如果省略了ticker,则 一点不显示,并把相应的空间让给screen。
16
❖ Form类
Form类是Screen类的子类,在手机屏幕上创建 一个小型窗口,此窗口可以容纳各种与用户交互的 可视组件。例如:Image、TextField、Gauge和 ChoiceGroup等。
Form 是J2ME 里面一个比较重要的容器类型, 可以说是集中了高级UI 中的精华,是开发过程中 常常用到的一个关键类,下图很好的说明了FORM 及其相关子类的关系:
❖ 所有的功能皆由Display类来实现,它提供了相 应的方法用于把对象显示在设备的屏幕上以及用 于检索设备的属性等。
10
❖ Display类
指向设备的display的引用可通过提供一个
MIDlet引用给静态方法getDisplay()而取得。
public static Display getDisplay(MIDlet c);
❖ MIDP中规定每个MIDlet程序只能拥有一个 Display对象。我们可以调用Display的 setCurrent()的方法来将前一个画面替换掉,我 们必须自行将前一个画面的状态保留起来,并自 己控制整个程序画面的切换。
《用户界面设计》课件
AR用户界面设计
增强现实技术将使界面融入用 户周围的现实世界,提供更直 观和丰富的信息呈现。
未来趋势和变化
界面设计将更加注重个性化、 自适应和无障碍性,以满足日 益多样化的用户需求。
总结
通过本课程,您将学习到用户界面设计的重要性、基础原则和实际应用。希 望本课程能够帮助您提升设计能力和用户体验。
参考文献
用户界面设计案例分析
微信小程序界面设计
微信小程序以简洁的界面和便捷的功能受到用户喜 爱。分析其设计特点和用户体验。
淘宝App界面设计
淘宝App设计集中体现了购物的便利性和乐趣。分析 其设计特点和用户体验。
用户界面设计工具
Sketch介绍
Sketch是一种流行的界面设计工具,与其他设计工具相比,具有易用性、专业性和高效性。
用户界面设计
这是《用户界面设计》课件的开场。本课程将深入介绍用户界面设计的基础Leabharlann 和案例分析,让您掌握设计原则和工具。
什么是用户界面设计?
用户界面设计是为了提供用户与软件、应用程序或产品进行交互的界面。设计师需要考虑用户需求、易用性和 美观性。
用户界面设计的目的和意义
用户界面设计的目的是提高用户满意度、改善用户体验和增加产品的市场竞争力。好的设计可以吸引用户并提 高用户留存率。
-《用户界面设计原理与实践》 - 刘浩 -《交互设计之路:用户界面设计从入门到精通》 - 张晓川
用户界面设计基础
软件界面分类
根据功能和用途的不同,可 以将软件界面分为桌面应用 程序、移动应用程序和网页 设计。
设计原则和流程
设计师应遵循一些基本原则 来创建用户友好且易于操作 的界面。设计流程包括需求 分析、原型制作、交互设计 等。
第五章用户界面设计
C#程序设计教程
本书目录
11
5.2.3 创建弹出式菜单
选定textBox1文本框,将 例5.3 设计例5.1的弹出式菜单 其ContextMenuStrip属 性设置为 弹出式菜单的建立过程: contextMenuStrip1 。 1) 在窗体上放置一个ContextMenuStrip 控件 2) 设置菜单项的属性 Text、ShorcutKeys 3) 建立弹出式菜单与文本框之间的关联 4) 编写(或共享)菜单项的事件过程 Click private void FileNew_Click(…) {// “新建(N)”菜单项的事件过程 textBox1.Text = ""; textBox1.Focus(); }
或在菜单项上右击鼠标,”插入-Separator” 本章目录 C#程序ng s; private void EditCut_Click(…) //剪切事件 { s = textBox1.SelectedText ;//将选中的内容存放到变量s中 textBox1. SelectedText = “”;//将选中的内容清除实现剪切 } private void EditCopy_Click(…) //复制事件 { s = textBox1. SelectedText ; } private void EditPaste_Click(…) //粘贴事件 { textBox1. SelectedText = s; //将s中的内容赋值给光标所在的SelectedText,实现粘贴 }
第五章
用户界面设计
5.1 用户界面概述 5.2 菜单设计 5.3 对话框设计
5.4 工具栏
5.5 综合应用 5.6 自主学习—鼠标和键盘
C#程序设计教程
《Visual Basic程序设计基础》-第5章 应用程序界面设计
5.3.1 工具栏
1、在ToolBar控件中添加按钮 、 控件中添加按钮
ToolBar与 与 ImageList的连接 的连接
工具栏样式
5.3.1 工具栏
2、在ImageList控件中添加图象 、 控件中添加图象
ImageList控件不单独使用,专门为其它控件提供图像库. 控件不单独使用,专门为其它控件提供图像库 控件不单独使用
Visual Basic中的菜单通过菜单编辑器,即菜单设计窗 Basic中的菜单通过菜单编辑器 中的菜单通过菜单编辑器, 口建立。 将要建立下拉菜单的窗体设为活动窗体后, 口建立 。 将要建立下拉菜单的窗体设为活动窗体后 , 可 以通过4种方法进入菜单编辑器: 以通过4种方法进入菜单编辑器: 执行“工具”菜单中的“菜单编辑器” (1)执行“工具”菜单中的“菜单编辑器”命令 使用热键[Ctrl+E] [Ctrl+E]。 (2)使用热键[Ctrl+E]。 单击工具栏中的“菜单编辑器”按钮。 (3)单击工具栏中的“菜单编辑器”按钮。 在要建立菜单的窗体上单击鼠标右键, (4)在要建立菜单的窗体上单击鼠标右键,将弹出一个 菜单,在该菜单中单击“菜单编辑器”命令。 菜单,在该菜单中单击“菜单编辑器”命令。 通过以上任一方法, 均可调出菜单编辑器。 通过以上任一方法 , 均可调出菜单编辑器 。 如 5-2 图所 示。
属性设置区
菜单控件编辑按钮
菜 单 控 件 列 表 框
【 例 5.1】 菜单设计 。 建立一个如图 5-1 所示 菜单设计。 建立一个如图5
的菜单, 的菜单, 用户可以通过选择菜单中的菜单
项改变文本框中内容的外观。 项改变文本框中内容的外观。
设计步骤如下。 设计步骤如下。 (1)建立控件 在窗体上添加一个文本框, 将它的Text 属 在窗体上添加一个文本框 , 将它的 Text属 性置为空。 性置为空。 (2)设计菜单 在窗体设计状态下选择“ 工具” 在窗体设计状态下选择 “ 工具 ” 菜单下 的“菜单编辑器”命令,调出菜单设计窗口。 菜单编辑器”命令,调出菜单设计窗口。 在菜单设计窗口中,按表5 设计菜单项。 在菜单设计窗口中,按表5-2设计菜单项。
第5章Android用户界面 PPT
4.
android:text="Button01" >
5.
</Button>
6.
<ImageButton android:id="+id/ImageButton01"
7.
android:layout_width="wrap_content"
8.
android:layout_height="wrap_content">
1. Button button = (Button)findViewById(R、id、Button01); 2. ImageButton imageButton =
(ImageButton)findViewById(R、id、ImageButton01); 3. button、setText("Button按钮"); 4. imageButton、setImageResource(R、drawable、
3.
textView、setText("用户名:");
4.
editText、setText("Rajan");
第1行代码得findViewById()函数能够通过ID引用界面上得任何 控件,只要该控件在XML文件中定义过ID即可
第3行代码得setText()函数用来设置TextView所显示得内容
TextViewDemo、java文件中代码得修改
1.
TextView textView = (TextView)findViewById(R、id、
TextView01);
2.
EditText editText = (EditText)findViewById(R、id、EditText01);
第五章用户界面设计-PPT精品
PopupMenu mnuedit End If End Sub
在MouseUp事件过程中,通过If语句,判断参数Button 的值,若为2,则表明按下了鼠标右键,然后调用 popupMenu方法,显示“编辑”菜单。如图5-14:
图5-14 运行的浮动菜单
第二节 高级控件组
在Visual Basic 6.0中,用户可以加载和使用Visual Basic 6.0提供的以及第三方开发的许多扩展的高级控件。 本节将重点介绍Visual Basic 6.0的高级控件组。
和菜单选项,用缩进方式指示各菜单的等级和位置。用户在 设计菜单时,编辑好的菜单将会立刻显示在列表框中。
按钮:单击该按钮,可将从选定的菜单选项所在 的当前行移动到下一行。
在选定的菜单按钮:单击该按钮,可选项所在行 的上一行插入一个菜单选项。
按钮:单击该按钮,可删除当前选定的菜单选项。
3.设计菜单
下面通过一个实例介绍设计菜单的过程。设计一 个菜单系统如图5.2、图5.3所示,菜单的属性, 如表5-1所示。
:单击该按钮,可将选定的菜单向上移动一个等 级。一共可以创建4个子菜单等级。
:单击该按钮,可将选定的菜单向下移动一个等 级。一共可以创建4个子菜单等级。
:单击该按钮,可将选定的菜单项在同一级菜单 内向上移动一个位置。
:单击该按钮,可将选定的菜单项在同一级菜单 内向下移动一个位置。
菜单列表框:菜单列表框显示窗体中所设计的所有菜单名
2. 浮动菜单实例
将前面创建的“编辑”菜单制作成弹出式菜单, 方法为: (1)打开“菜单编辑器”。 (2)选中“编辑”菜单。 (3)清除“可见”复选框中的“√”。如图5-13。 (4)单击“确定”按钮,关闭“菜单编辑器”窗 口。
在MouseUp事件过程中,通过If语句,判断参数Button 的值,若为2,则表明按下了鼠标右键,然后调用 popupMenu方法,显示“编辑”菜单。如图5-14:
图5-14 运行的浮动菜单
第二节 高级控件组
在Visual Basic 6.0中,用户可以加载和使用Visual Basic 6.0提供的以及第三方开发的许多扩展的高级控件。 本节将重点介绍Visual Basic 6.0的高级控件组。
和菜单选项,用缩进方式指示各菜单的等级和位置。用户在 设计菜单时,编辑好的菜单将会立刻显示在列表框中。
按钮:单击该按钮,可将从选定的菜单选项所在 的当前行移动到下一行。
在选定的菜单按钮:单击该按钮,可选项所在行 的上一行插入一个菜单选项。
按钮:单击该按钮,可删除当前选定的菜单选项。
3.设计菜单
下面通过一个实例介绍设计菜单的过程。设计一 个菜单系统如图5.2、图5.3所示,菜单的属性, 如表5-1所示。
:单击该按钮,可将选定的菜单向上移动一个等 级。一共可以创建4个子菜单等级。
:单击该按钮,可将选定的菜单向下移动一个等 级。一共可以创建4个子菜单等级。
:单击该按钮,可将选定的菜单项在同一级菜单 内向上移动一个位置。
:单击该按钮,可将选定的菜单项在同一级菜单 内向下移动一个位置。
菜单列表框:菜单列表框显示窗体中所设计的所有菜单名
2. 浮动菜单实例
将前面创建的“编辑”菜单制作成弹出式菜单, 方法为: (1)打开“菜单编辑器”。 (2)选中“编辑”菜单。 (3)清除“可见”复选框中的“√”。如图5-13。 (4)单击“确定”按钮,关闭“菜单编辑器”窗 口。
第05章 标准用户界面设计,VC++ 2010应用开发技术_原书配套PPT
第05章 标准用户界面设计
主要内容
5.1 菜单与加速键 5.2 菜单应用 5.3 工具栏与状态栏 5.4 工具栏与状态栏应用
第05章 标准用户界面设计
5.2 菜单应用
一个具体的实例详细介绍菜单和加速键的一般用法。 实例S5_1 (1)利用向导建立一个SDI项目,项目名为: S5_1,向导中各项参数均取默认值,可参考第2 章项目实例。在向导的“生成的类”中,可以看 到,Visual C++ 2010将为S5_1项目生成4个类: CS5_1View、CS5_1App,CS5_1Doc, CMainFrame,如图5-1所示。
第05章 标准用户界面设计
工具栏
MFC工具栏对应CToolBar类,它是为接受 命令输入以及显示状态信息而创建的窗口类。 工具栏的基类是CControlBar,它是Cwnd 的派生类。因为所有的控件栏都是CWnd的 派生类,因此都具有CWnd的功能,如创建、 移动、显示、隐藏窗口等。 MFC工具栏是可停靠的,当这个特性有效时, 用户可以拖动工具栏,并且将工具栏移动到 框架窗口的不同的边上。
第05章 标准用户界面设计
菜单
用“应用程序向导”自动生成的应用程序框 架中已经包含了默认的菜单,根据用户在创 建时的不同选项,默认菜单的菜单项也有所 不同。其资源ID为ID_MAINFRAME,对 于SDI应用程序,只生成一个菜单,而对于 MDI应用程序,则生成两个菜单,其资源 ID分别为IDR_MAINFRAME和IDR_项目 名_TYPE,当应用程序尚未打开文档时,显 示第一个菜单,当程序打开文档时,显示后 一个菜单,默认菜单是在窗口创建时装入的。
(7)在视图类中,为表5-1中的各菜单项添加 消息响应和用户状态更新函数,名称采用默认值, 如图5-6所示。
主要内容
5.1 菜单与加速键 5.2 菜单应用 5.3 工具栏与状态栏 5.4 工具栏与状态栏应用
第05章 标准用户界面设计
5.2 菜单应用
一个具体的实例详细介绍菜单和加速键的一般用法。 实例S5_1 (1)利用向导建立一个SDI项目,项目名为: S5_1,向导中各项参数均取默认值,可参考第2 章项目实例。在向导的“生成的类”中,可以看 到,Visual C++ 2010将为S5_1项目生成4个类: CS5_1View、CS5_1App,CS5_1Doc, CMainFrame,如图5-1所示。
第05章 标准用户界面设计
工具栏
MFC工具栏对应CToolBar类,它是为接受 命令输入以及显示状态信息而创建的窗口类。 工具栏的基类是CControlBar,它是Cwnd 的派生类。因为所有的控件栏都是CWnd的 派生类,因此都具有CWnd的功能,如创建、 移动、显示、隐藏窗口等。 MFC工具栏是可停靠的,当这个特性有效时, 用户可以拖动工具栏,并且将工具栏移动到 框架窗口的不同的边上。
第05章 标准用户界面设计
菜单
用“应用程序向导”自动生成的应用程序框 架中已经包含了默认的菜单,根据用户在创 建时的不同选项,默认菜单的菜单项也有所 不同。其资源ID为ID_MAINFRAME,对 于SDI应用程序,只生成一个菜单,而对于 MDI应用程序,则生成两个菜单,其资源 ID分别为IDR_MAINFRAME和IDR_项目 名_TYPE,当应用程序尚未打开文档时,显 示第一个菜单,当程序打开文档时,显示后 一个菜单,默认菜单是在窗口创建时装入的。
(7)在视图类中,为表5-1中的各菜单项添加 消息响应和用户状态更新函数,名称采用默认值, 如图5-6所示。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 MIDP高级用 户界面程序设计
5.1 MIDP用户界面设计概述
J2SE AWT/Swing对资源有限的移动计算设备是 不合适的
移动设备的屏幕较小,不提供鼠标输入支持 在CLDC基础上,专门设计了一套图形界面库
Javax.microedition.lcdui
MIDP包括一个低级(Low Level)的UI API和一个高 级的UI API(是一般UI的高级抽象),在外观和感觉 上提供很少的控制,比如字体、颜色、类型等都 系统控制实现
Displayable对象可见的三个条件
是当前的Disaplayable对象 所在的MIDlet处于前景状态 未被系统屏幕遮挡 使用isShown()判断
5.2.3 获取设备信息
Display.isColor()显示屏是否支持彩色 Display.numColors()显示屏支持的颜色数
(灰度级) 由于MID的多样性,常用于低级UI API或游
戏程序设计
5.3 高级事件处理
高级事件处理:设备无关性,可移植性 Command与CommandListener Command对象封装了相关动作信息,实际动作在
关联到Screen对象的CommandListener监听器中 定义 Command对象作为可视组件在界面上显示,具体 呈现外观方式由其所包含的信息决定
Item是所有表单元素的父类
DateField, TextField, Gauge, ChoiceGroup ImageItem, StringItem
基 于 Form 和 Item 类 及 派 生 类 的 MIDlet程序设计的步骤
按关闭的方式分为两类:模式对话框和时 控对话框
前者必须按OK按钮才能关闭对话框 后者超过规定的时间后自动关闭
5.7 Form类
Form中可以放置Item类所有子类的任何组 合,如图像,只读文本域,可编辑文本域, 进度条和选项组等。
Form类提供了添加,删除,插入等方法来 对其包含的Item对象进行编辑
5.3.1 Command类
高级事件处理流程
创建一个包含事件信息的Command对象 将Command对象添加到Displayable中 在Displayable中建立监听器
当事件触发时,就会调用commandAction 方法进行事件处理操作
创建Command对象
Command对象与UI之间的映射关系
用户界面组件使用Display.setCurrent()显示
MIDP GUI编程基础知识(续)
用户界面组件(高级和低级)都派生自抽象类 javax.microedition.lcdui.Displayable
高级用户界面组件Alert, Form, List, TextBox派生自Screen类
5.4 Screen类
Screen类中的方法在MIDP2.0中已经移动 到Displayable类中
改变Screen对象的内容最好在其不可视时 进行。
案例5.7演示了Ticker的应用
5.5 Ticker类
5.6 Alert类与AlertType
Alert主要功能是向用户显示数据的提示框, 是Screen类的一个子类
Form类和Item对象相关的方法见表5.11
Байду номын сангаас
5.7.1 Form类构造函数
方法1:创建一个空Form对象,任何使用 append()或insert()插入Item对象
方法2:创建Item对象数组,再创建窗体对 象
案例5.10表单元素布局
5.8 Item类
每个Item对象都有一个与之相关联的标签域 (Label)
主要目的是通知用户有关错误和异常的信 息,有一个与之相连的AlertType对象,可 以利用AlertType为提示框设置一个合适的 提示音给用户
注意:Alert不能接受应用程序定义的 Command对象
如果提示框是可见的,应用程序需要改变 内容时,变化将自动更新,不需要调用 setCurrent进行刷新
按命令类型选择命令的摆放位置 对命令类型相同的,再根据优先权确定他
们的位置 案例5.5
5.3.2 CommandListener接口
至少需要创建一个Displayable对象,一个 或多个Command对象
必须将Command对象添加到Displayable对 象上,实现他们之间的关联
为Displayable对象添加事件监听器,同时 还必须实现CommandListener接口的 commandAction()方法。
每个Item对象有一个与之相连的索引号,取 值范围是0—size()-1
Item对象的交互触发与Form对象相关联的 事件ItemStateListener监听器的 itemStateChange()方法来实现
也可以像其他Displayable一样,使用 CommandListener处理Command事件
5.2.2 Displayable类
在显示设备上显示的用户界面对象是 Displayable对象,在同一时刻应用程序只 能有一个当前Displayable对象
Displayable对象可以有一个Title, Ticker、 若干Command和一个Command监听器
与用户进行交互是通过Disaplayable的子类 来完成的
5.2 管理用户界面的类
Display类代表了系统显示屏和输入设备的 管理器,包含用来获取设备属性的方法, 以及要求在设备上显示对象的方法,其他 处理设备的方法主要应用与Canvas对象。
任何时候,只能有一个Displayable对象显 示在显示设备上,通过Displayable对象与 用户交互setCurrent/getCurrent
MIDP GUI编程基础知识
为实现用于与应用程序交互,必须在移动 计算设备上显示进行交互的组件,这个功 能由javax.microedition.lcdui.Display实现, Display是唯一提供设备显示能力的显示管 理工具,每个MIDlet中都有一个Display对 象,使用getDisplay()获得
5.1 MIDP用户界面设计概述
J2SE AWT/Swing对资源有限的移动计算设备是 不合适的
移动设备的屏幕较小,不提供鼠标输入支持 在CLDC基础上,专门设计了一套图形界面库
Javax.microedition.lcdui
MIDP包括一个低级(Low Level)的UI API和一个高 级的UI API(是一般UI的高级抽象),在外观和感觉 上提供很少的控制,比如字体、颜色、类型等都 系统控制实现
Displayable对象可见的三个条件
是当前的Disaplayable对象 所在的MIDlet处于前景状态 未被系统屏幕遮挡 使用isShown()判断
5.2.3 获取设备信息
Display.isColor()显示屏是否支持彩色 Display.numColors()显示屏支持的颜色数
(灰度级) 由于MID的多样性,常用于低级UI API或游
戏程序设计
5.3 高级事件处理
高级事件处理:设备无关性,可移植性 Command与CommandListener Command对象封装了相关动作信息,实际动作在
关联到Screen对象的CommandListener监听器中 定义 Command对象作为可视组件在界面上显示,具体 呈现外观方式由其所包含的信息决定
Item是所有表单元素的父类
DateField, TextField, Gauge, ChoiceGroup ImageItem, StringItem
基 于 Form 和 Item 类 及 派 生 类 的 MIDlet程序设计的步骤
按关闭的方式分为两类:模式对话框和时 控对话框
前者必须按OK按钮才能关闭对话框 后者超过规定的时间后自动关闭
5.7 Form类
Form中可以放置Item类所有子类的任何组 合,如图像,只读文本域,可编辑文本域, 进度条和选项组等。
Form类提供了添加,删除,插入等方法来 对其包含的Item对象进行编辑
5.3.1 Command类
高级事件处理流程
创建一个包含事件信息的Command对象 将Command对象添加到Displayable中 在Displayable中建立监听器
当事件触发时,就会调用commandAction 方法进行事件处理操作
创建Command对象
Command对象与UI之间的映射关系
用户界面组件使用Display.setCurrent()显示
MIDP GUI编程基础知识(续)
用户界面组件(高级和低级)都派生自抽象类 javax.microedition.lcdui.Displayable
高级用户界面组件Alert, Form, List, TextBox派生自Screen类
5.4 Screen类
Screen类中的方法在MIDP2.0中已经移动 到Displayable类中
改变Screen对象的内容最好在其不可视时 进行。
案例5.7演示了Ticker的应用
5.5 Ticker类
5.6 Alert类与AlertType
Alert主要功能是向用户显示数据的提示框, 是Screen类的一个子类
Form类和Item对象相关的方法见表5.11
Байду номын сангаас
5.7.1 Form类构造函数
方法1:创建一个空Form对象,任何使用 append()或insert()插入Item对象
方法2:创建Item对象数组,再创建窗体对 象
案例5.10表单元素布局
5.8 Item类
每个Item对象都有一个与之相关联的标签域 (Label)
主要目的是通知用户有关错误和异常的信 息,有一个与之相连的AlertType对象,可 以利用AlertType为提示框设置一个合适的 提示音给用户
注意:Alert不能接受应用程序定义的 Command对象
如果提示框是可见的,应用程序需要改变 内容时,变化将自动更新,不需要调用 setCurrent进行刷新
按命令类型选择命令的摆放位置 对命令类型相同的,再根据优先权确定他
们的位置 案例5.5
5.3.2 CommandListener接口
至少需要创建一个Displayable对象,一个 或多个Command对象
必须将Command对象添加到Displayable对 象上,实现他们之间的关联
为Displayable对象添加事件监听器,同时 还必须实现CommandListener接口的 commandAction()方法。
每个Item对象有一个与之相连的索引号,取 值范围是0—size()-1
Item对象的交互触发与Form对象相关联的 事件ItemStateListener监听器的 itemStateChange()方法来实现
也可以像其他Displayable一样,使用 CommandListener处理Command事件
5.2.2 Displayable类
在显示设备上显示的用户界面对象是 Displayable对象,在同一时刻应用程序只 能有一个当前Displayable对象
Displayable对象可以有一个Title, Ticker、 若干Command和一个Command监听器
与用户进行交互是通过Disaplayable的子类 来完成的
5.2 管理用户界面的类
Display类代表了系统显示屏和输入设备的 管理器,包含用来获取设备属性的方法, 以及要求在设备上显示对象的方法,其他 处理设备的方法主要应用与Canvas对象。
任何时候,只能有一个Displayable对象显 示在显示设备上,通过Displayable对象与 用户交互setCurrent/getCurrent
MIDP GUI编程基础知识
为实现用于与应用程序交互,必须在移动 计算设备上显示进行交互的组件,这个功 能由javax.microedition.lcdui.Display实现, Display是唯一提供设备显示能力的显示管 理工具,每个MIDlet中都有一个Display对 象,使用getDisplay()获得