第6章图形用户界面
(安全人机工程学)第6章人机界面设计
控制器设计应便于维护和修理,降低维护成本和时 间。
CHAPTER 04
交互设计
交互方式的类型与选择
文本输入
提供文本输入选项,允许用户通过键盘或手 写输入信息。
语音识别
利用语音识别技术,允许用户通过语音与系 统进行交互。
图形界面
使用图形元素,如按钮、图标和菜单,提供 直观的操作方式。
触摸屏
提供触摸屏界面,使用户能够通过触摸操作 与系统进行交互。
交互界面的设计要素
布局
合理安排界面元素的位置,确 保用户能够快速找到所需功能
。
色彩搭配
选择适当的颜色,以增强界面 的视觉效果和用户体验。
字体选择
使用清晰易读的字体,确保用 户在阅读信息时不会感到疲劳 。
图标与按钮
设计简洁明了的图标和按钮, 以便用户快速识别和操作。
信息可读性
显示信息应清晰、易读,避免产生视觉疲劳和误读。
可视化友好
对于视觉显示,应采用易于理解的图表、符号等可视 化元素,提高信息传达效果。
CHAPTER 03
控制器设计
控制器的类型与选择
1 2 3
机械式控制器
利用机械原理实现控制功能的控制器,如开关、 旋钮等。选择时应考虑其可靠性、耐久性和稳定 性。
提供一定程度的个性化 设置选项,满足不同用 户的习惯和需求。
人机界面设计发展趋势
整合多种交互方式,如语音、手势、 触摸等,提供更加自然和便捷的交互 体验。
将情感因素融入界面设计,增强用户 与界面的情感联系,提升用户体验的 愉悦感和满足感。
智能化
多模态交互
无障碍设计
情感化设计
借助人工智能技术,实现界面的自适 应、智能推荐等功能,提高用户体验。
解析JAVA程序设计第六章课后答案
第6章习题解答1.简述Java中设计图形用户界面程序的主要步骤。
对于设计图形用户界面程序而言,一般分为两个步骤:第一步,设计相应的用户界面,并根据需要对相关的组件进行布局;第二步,添加相关的事件处理,如鼠标、菜单、按钮和键盘等事件。
2.试说明容器与组件之间的关系。
组件(component)是图形用户界面中的各种部件(如标签、按钮、文本框等等),所有的组件类都继承自JComponent类。
容器(container)是用来放置其他组件的一种特殊部件,在java中容器用Container类描述。
3.阅读下面程序,说明其运行结果和功能。
//filename:MyFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrame{public static void main(String agrs[]){JFrame f=new JFrame("简单窗体示例");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel l=new JLabel("习题1");f.getContentPane().add(l,BorderLayout.CENTER);f.pack();f.setVisible(true);}}程序的运行结果如下:4.阅读下面程序,说明其运行结果和功能。
//filename:TestButton.javaimport java.awt.*;import javax.swing.*;public class TestButton extends JFrame{JButton b1,b2;TestButton(String s){super(s);b1=new JButton("按钮1");b2=new JButton("按钮2");setLayout(new FlowLayout());add(b1);add(b2);setSize(300,100);setVisible(true);}public static void main(String args[]){ TestButton test;test=new TestButton("测试按钮"); }}程序的运行结果如下:5.阅读下面程序,说明其运行结果和功能。
java编程飞机大战课程设计
java编程飞机大战课程设计一、课程目标知识目标:1. 让学生理解Java编程基本概念,掌握面向对象编程思想;2. 让学生掌握Java中数组、循环、条件语句等基本语法结构;3. 让学生了解游戏开发的基本流程和原理。
技能目标:1. 培养学生运用Java编程语言设计飞机大战游戏的能力;2. 培养学生分析问题、解决问题的能力;3. 培养学生团队协作、沟通交流的能力。
情感态度价值观目标:1. 激发学生对编程的兴趣和热情,培养计算机科学素养;2. 培养学生勇于尝试、克服困难的精神,提高自信心;3. 培养学生遵守游戏规则,树立公平竞争的意识。
分析课程性质、学生特点和教学要求,将课程目标分解为以下具体学习成果:1. 学生能够独立编写Java程序,实现飞机大战游戏的基本功能;2. 学生能够运用所学知识,优化飞机大战游戏的性能和体验;3. 学生能够在团队合作中发挥积极作用,共同完成任务;4. 学生能够表达自己对编程和游戏的看法,分享学习心得和经验。
二、教学内容本课程教学内容主要包括以下几部分:1. Java编程基础:回顾Java基本语法,如数据类型、变量、运算符、数组等,为学生编写飞机大战游戏打下基础。
2. 面向对象编程:介绍类、对象、继承、多态等概念,使学生能够运用面向对象编程思想设计游戏。
教材章节:第1章 Java概述,第2章 面向对象编程基础。
内容列举:数据类型、变量、运算符、数组、类、对象、继承、多态。
3. Java图形用户界面:讲解Swing图形用户界面编程,使学生能够为飞机大战游戏设计界面。
教材章节:第6章 Java图形用户界面。
内容列举:JFrame、JPanel、事件处理、绘图。
4. 游戏开发原理:介绍游戏开发的基本流程、设计模式,使学生了解游戏开发的一般方法。
教材章节:第10章 游戏开发。
内容列举:游戏循环、游戏状态、游戏设计模式。
5. 飞机大战游戏设计:结合所学知识,指导学生进行飞机大战游戏的设计与实现。
第六章 (2)MATLAB高级图形设计
。此时,Value数据就已经存储在句柄值为 ui_handle的对象内。
② 在执行的过程中若要取回该变量,可以通过以下 方式在任一Callback中获取该数据值:
Value=get(‘ui_handle’,’UserData’);
用的有hObject、 eventdata和 handles。
hObject:当前回调函数的图形对象句柄;
eventdata:预留的输入参数;
handles:存放图形窗口中所有图形对象句柄的结 构体,存储了所有在图形界面中的控件、菜单、 坐标轴对象的句柄,可以用于在function之间传 递数据。例如:handles.pushbutton1就是按钮 pushbuton1的句柄,handles.axes1就是axes1 的句柄。
global A;
25
多个回调函数之间变量的传递
方法二:直接通过对象的UserData属性来进行各个
C注al意lb:ack此之方间法的在数操据作存上取简操单作且。方便,但每个对
①象次于首设为仅变复先该V能量杂a必对存时的lu须象取,操e,一先作先的则个前会将句输变的造数柄入量 变 成据值以值 量 很存为下, 值 多储ui程因 就 不_到h序此 会 便一an即被当 。个d可覆同l特e盖一:,定掉对需的,象要对这存存象样储储中对两的,值假
➢string属性是按钮上显示的文字,默认的string属 性与Tag相同。
3.滚动条(Slider) (1)常用属性 滚动条的常用回调函数是callback,当每次单击滚动条
改变当前值时调用该函数。 (2)回调函数 常用属性有value、max、min和SliderStep。
第6章 MATLAB高级图形设计
%h_obj是图形对象的句柄; %funname是函数名,每个创建的图形对象函数名与对象
名相同; %'PropertyName'是属性名,属性名是字符串; %PropertyValue是属性值。
例: >> h_f=figure('Position',[200 300 500 400]) >> h_a1=axes('position',[0.1,0.05,.85,.85]) %创建条形图的坐标轴 练习
gcf %查找符合指定属性值的对象句柄
例
第6章 MATLAB高级图形设计
3. 句柄图形对象属性的获取和设置 a=set(h_obj,'PropertyName',PropertyValue,...)
%设置图形对象的属性值
a=get(h_obj,'PropertyName')
Uicontrol 控件对象
Uicontextmenu 上下文菜单
Uimenu 菜单
Uipanel 面板
Uitoolbar 工具栏
第6章 MATLAB高级图形设计
6.1.2 句柄图形对象的操作
1. 创建句柄图形对象 h_obj=
funname('PropertyName',PropertyValue,……)
%获取图形对象的属性值PropertyValue
第6章 MATLAB高级图形设计
例6-2 使用句柄图形对象绘制正弦曲线
>> x=0:0.1:10; >> y=sin(x); %创建无标题窗口 >> h_f=figure('Position',[200 300 300 300],'menubar','none'); >> h_a1=axes('position',[0.1,0.1,.8,.8]); >> h_t=title(h_a1,'正弦曲线'); %创建标题 >> h_l=line(x,y); %设置坐标轴刻度及刻度标注 >> set(gca,'xtick',[0 pi/2 pi 3*pi/2 2*pi 5*pi/2 3*pi]) >> set(gca,'xticklabel',{'0','pi/2','pi','3*pi/2','2pi','5*pi/2','3pi'}) >> set(gca,'xgrid','on','ygrid','on'); %设置坐标轴属性 >> set(h_l,'linewidth',2) %设置线属性 >> set(get(h_t,'parent'),'color','y') %设置标题的父对象属性 %创建矩形框 >> h_ann0=annotation(gcf,'rectangle',[0.1 0.5 .8 0.4],... 'FaceAlpha',.7,'FaceColor','red');
Java第06章--1(AWT与Swing)
• • 视图(view):它专门负责组件的绘制工作,主要涉及 paint()方法。MVC设计范式的最大优点是一个模型可以 有多个视图,每个视图是一个不同侧面但内容却是完整的。 • 一个模型的几个视图都是从不同侧面、用完整的内容来描 述同一个模型。当模型的控制器要修改其内容时,均会通 知这每个视图,它们都会自动地更新自己的视图显示。 • • 控制器(controller):专门负责管理和处理组件所接 收到的事件,这些事件可能来自用户的操作。如键盘输入、 鼠标点击和拖放等,也可能来自系统,如系统计时器发出 的事件。 • 视图和其控制器之间的通信不仅频繁且非常复杂,因此 JFC系统把两者封装成一个整体。
• • 模型(model):模型负责获取和管理组件的状态,用户若 需要询问组件的状态时,实际上是询问该组件的模型。 • 若要询问Swing型按钮组件(JButton 类的一个对象)的状 态,可调用JButton 类的父类javax.swing.AbstractButton所 提供的isSelected()方法,它定义为: – public boolean isSelected() { ... } – 该方法返回一个逻辑值,若为true则该按钮组件被压下,反 之返回false则按钮是松开状态。 • javax.swing包中的各种组件,对于描述该组件状态和内容的 模 型 都 是 用 以 Model 结 尾 的 接 口 实 现 , 例 如 , 对 于 按 钮 在 javax.swing包中有一个如下定义的接口: – public interface ButtonModel extends ItemSelectable { ... } • 每个JButton类的对象都保存着一个表示该按钮组件模型的对 象,调用其父类AbstractButton的方法就可以得到它,即: – JButton b = new JButton( "确定" );
软件测试第6章系统测试--用户界面测试
明确的取消:如果用户中断了一个输入序列, 已经输入的数据不要马上丢弃。这样才能对 一个也许是错误的取消动作进行重新思考。
确认删除:为避免错误的删除动作可能造成 的损失,在键入删除命令后,必须进行确认, 然后才执行删除操作。例如,可以用 Are you sure…? [Y/N] 来确认。
Windows——《Microsoft Windows User Experience》
尽量减少用户的工作 ➢ Your application installs easily in a minimum
number of steps. ➢ Your application installation does not require the
(2)改动填入已输入过的内容或需要重复 输入的内容。
(3)如果输入内容是来自一个有限的备选 集,可以采用列表选择或指点方式。
数据输入屏幕应当设计成尽量与输入格式相 匹配。如果没有输入格式,或旧的输入格式 设计得不好,就应当设计新的屏幕格式。
准则2——直观性
用户界面是否洁净、不拥挤?功能或期待的响 应是否明显且出现在预期的地方?
用户模型 GUI采用了不少Desktop桌面办公的隐喻,使应用
者共享一个直观的界面框架。由于人们熟悉办公桌的 情况,因而对计算机显示的图符的含义容易理解,诸 如:文件夹、收件箱、画笔、工作簿、钥匙及时钟 等。
直接操作 过去的界面不仅需要记忆大量命令,而且
需要指定操作对象的位置,如行号、空格数、 X及Y的坐标等。采用GUI后,用户可直接对屏 幕上的对象进行操作,如拖动、删除、插入以 至放大和旋转等。用户执行操作后,屏幕能立 即给出反馈信息或结果,因而称为“所见即所 得”(What You See Is What You Get)。用视、 点(鼠标)代替了记、击(键盘),给用户带来了 方便。
第6章 图形用户界面
第6章图形用户界面6-1 什么是组件?组件类与普通类有什么不同?【答】组件是构成图形用户界面的基本成分和核心元素;组件是具有以下特性的对象:运行时可见,能拥有并管理其他组件,在窗口中可操纵,可获得输入焦点等。
组件类Component 是一个抽象类,是AWT组件类层次结构的根类,它提供对组件操作的通用方法。
6-2 设计Windows应用程序的图形用户界面需要哪些基本知识?【答】需要掌握Java组件的使用方法,理解委托事件处理模型,掌握多种布局方式。
6-3 什么是容器组件?它有什么特点?Java提供了哪些容器组件?【答】容器组件是一种能够容纳其他组件的特殊组件。
特点:能容纳其他组件,并在其可视区域内显示这些组件。
Java提供了窗口(window)和面板(panel)两种容器。
6-4 窗口与对话框有什么不同?框架与面板有什么不同?【答】对话框是窗口类的子类,对话框也是一种可移动的窗口,不能作为应用程序的主窗口,它依赖于一个框架窗口而存在,当框架窗口关闭时,对话框也关闭。
框架类是一种带标题栏并且可以改变大小的窗口;它是窗口类的子类,所以它可以独立存在,可被移动,可被最大化和最小化,有标题栏、边框、可添加菜单栏;而面板不能独立存在,必须包含在另一个容器里,面板没有标题,没有边框,不可添加菜单栏。
6-5 什么是事件?什么是事件源?事件处理程序写在哪里?【答】事件是指一个状态的改变,或者一个活动的发生。
产生事件的组件称为事件源。
事件处理程序写在事件监听器接口中声明的方法中。
如:单击事件的事件处理程序由ActionListener接口中的actionPerformed()方法实现。
6-6 如何理解Windows应用程序的图形用户界面是事件驱动的?【答】一个组件的多个事件之间,多个组件的多个事件之间,其事件处理方法的执行次序是有规律的:1.不同组件的事件或同一组件的不同事件具有约定的执行次序。
2.各组件的事件处理方法是否执行以及执行次序,取决于用户操作。
Java语言程序设计基础教程课件(第6章)
只能向滚动面板添加一个组件
构造方法
ScrollPane() ScrollPane(int a)
a的取值: 1)SCROLLBARS_ALWAYS 、
2)SCROLLBARS_AS_NEEDED、
3)SCROLLBARS_NEVER
P134【例6-3】使用ScrollPane容器
con.add(String s,Component b) con.add(Component b,String s)
card.show(con,s) card.first(con) st(con) card.previous(con) card.next(con)
Container(容器)的子类,属内层容器
在外层容器内部实现分块布局
默认布局是FlowLayout布局
常用方法同Frame
java.awt.ScrollPane类——滚动面板
P133 【例6-2】使用Panel容器
6.3.3 ScrollPane
java.awt.ScrollPane——滚动面板
但是它的主要功能是容纳其它组件和容器
容器通过add()方法向容器中添加组件。
有三种类型的常用容器:
Frame、 Panel、 ScrollPane。
6.3.1 Frame
Frame类是Container类的间接子类
可以向窗口添加组件
顶层容器,不容许被添加
默认布局是BorderLayout
方法说明
绘制组件
重绘组件 设置组件的大小和位置 设置组件可见性 设置鼠标指向组件时的光 标形状。 将变化后的界面显示出来 更新组件
图形用户界面设计教案
图形用户界面设计教案教案:图形用户界面设计一、教学目标1.让学生了解图形用户界面设计的基本概念和原则。
2.学会识别和评估优秀的图形用户界面设计。
3.掌握基本的图形用户界面设计技巧和方法。
4.能够设计出符合用户需求的简单图形用户界面。
二、教学内容1.图形用户界面设计的基本概念和原则a. 什么是图形用户界面设计?b. 图形用户界面设计的基本原则。
2.优秀图形用户界面设计的识别和评估a. 优秀图形用户界面的特点。
b. 如何识别和评估图形用户界面设计。
3.图形用户界面设计的基本技巧和方法a. 色彩和图形的运用。
b. 布局和排版的技巧。
c. 符号和图标的理解。
4.设计符合用户需求的简单图形用户界面a. 用户需求的分析。
b. 设计方案的制定和实施。
c. 简单图形用户界面的实现。
三、教学步骤1.开场(5分钟)a. 欢迎语,介绍课程内容和目标。
b. 提出教学计划和时间安排。
2.图形用户界面设计的基本概念和原则(15分钟)a. 讲解图形用户界面设计的基本概念。
b. 介绍图形用户界面设计的基本原则。
3.优秀图形用户界面设计的识别和评估(15分钟)a. 通过案例分析,展示优秀图形用户界面的特点。
b. 练习识别和评估图形用户界面设计的能力。
4.图形用户界面设计的基本技巧和方法(15分钟)a. 通过实例,介绍色彩和图形的运用技巧。
b. 分析布局和排版的常用技巧。
c. 讲解符号和图标的创作和运用。
5.设计符合用户需求的简单图形用户界面(30分钟)a. 分析用户需求,讨论设计方案的制定。
b. 进行简单图形用户界面的设计和实现。
6.总结(5分钟)a. 回顾本节课的主要内容。
b. 对学生的学习进行评估,鼓励他们在日常生活中运用所学的知识。
c. 预告下一节课的内容和目标。
7.作业布置(5分钟)a. 请学生设计一个符合自己需求的简单图形用户界面,并撰写一篇不少于200字的说明文章,描述自己的设计思路和目标用户的需求。
人机交互基础教程第6章
走棋
S000
外部事件
对弈方走正常结束事件
产生走棋正常结束事件
S001
当前方走正常结束事件
S002
“走棋”目标状态转换
6.1.4 表现模型 表现模型(PM)描述了用户界面的表现形式,由 层次性的交互对象组成。 逻辑组织结构
B Bx By Bz
面板用户界面的图形显示
C Cx Cy Cz
A
B Bx Bz By
条件选择标识符 除了表示动作的符号,UAN模型还包含表示条 件及选择的标识符,主要有以下几种: • while(condition) TASK 当条件condition为 真时,循环执行任务TASK; • if(condition) then TASK 如果条件condition 满足,则执行任务TASK; • iteration A* or A+ 表示迭代操作; • waiting 表示等待,可以等待一个条件满足, 也可以等待任务中的一个操作执行。
单击 按钮 按钮 按钮 按钮 按钮
移动
单击
释放
移动
按钮交互对象行为
6.3.4 交互框架
标题栏 下拉菜单栏 工具栏 树 形 菜 单 栏 最小 最大 关闭 化 化
WorkSpace:工作空间
状态栏
桌面应用框架
下拉菜单示例
工具栏示例
状态栏示例
树形菜单示例
标签页方式工作区示例
6.3.5 MVC模式和基于Struts的实现 MVC把一个应用的输入、处理、输出流程按照 模型 (model)、视图(View)和控制(Controller )的方式进行分离,形成模型层、视图层、控制层 三个层次。
中国象棋
Linux第6章图形界面应用程序开发ppt课件
Page 13
精选课件ppt
6.2.4 OpenGUI
OpenGUI在 Linux 系统上存在已经很长时间了。最初 的名字叫 FastGL,只支持 256 色的线性显存模式,但目
OpenGUI 采用 LGPL 条款发布。OpenGUI 比较适合 于基于 x86 平台的实时系统,可移植性稍差,目前的发展 也基本停滞。
Page 14
精选课件ppt
6.2.5 GTK+简介
GTK+即GIMP ToolKit,是一套跨平台的图形工具包, 它来源于GIMP(GNU Minipulation Prigram),是使用C 语言作为其开发语言的,它基于LGPL授权,是源代码开 放完全免费的。
Page 23
精选课件ppt
.1MiniGUI程序框架
在 MiniGUI 中,窗口主函数名 字叫MiniGUIMain(),它负责创建 程序的主窗口。在这个过程中, MiniGUI 使 用 MAINWINCREATE 结构把Windows 中的创建窗口类和创 建窗口风格合二为一
Page 22
精选课件ppt
MiniGUI-Lite:MiniGUI-Lite上每个程序是单 独的进程,每个进程可创建多个窗口。 MiniGUI-Lite适合于具有完整UNIX特性的嵌 入式操作系统,如Linux。
MiniGUI-Standalone:MiniGUI-Standalone模 式下可以独立进程方式运行,不需多线程也不 需要多进程的支持。MiniGUI-Standalone模式 适合功能单一的应用场合,可以支持几乎所有 的操作系统。
《图形用户界面操作》PPT课件
ppt课件
7
windows XP发展历史
2001年10月25日上市,其名“XP”中文“体验”(视窗体验) 2007年1月,windowsxp在全球市场占有率达历史最高水平,超过76% 2009年4月,微软宣布取消对windowsxp主流技术的支持 2011年7月初,微软表示将于2014年4月8日起彻底取消对windowsXP所
3、在桌面上单击右键,然后新建,选择快捷方式。在从浏 览中,找到软件所在的位置,以及快捷软件的名称,就可以 点完成了,这个时候,快捷就出现在电脑桌面上了。
ppt课件
18
2.4桌面图标的排列
ppt课件
19
桌面图标的排列设置
桌面空白处——鼠标右键单击——排列图标
ppt课件
20
2.5任务栏
所谓多所谓多任务是指在操作系统环境下可以同时 运行多个应用程序,如一边可以在“WORD”软件中 编辑稿件,一边让计算机播放音乐,这时两个程序 都已被调入内存储器中处于工作状态。
“网上邻居”用于快速访问当前PC机在局域网 中的硬件和软件资源。
Windows xp自动将此文件夹作为当前用户 文档保存的默认存放位置。
“回收站” 用于暂时存放被丢弃(删除)的 文件及其他对象(不可重命名,不能删除,其他图标可设置到 桌面:开始/右键单击项目)。 Shift+delete:不经回收站直接删除
第二单元
操作系统的应用
第一讲 图形用户界面的操作 永川卫校 郭晓艳
ppt课件
1
教学要点
一、Windows 操作系统简介 二、Windows 的桌面元素 三、Windows XP的基本操作
ppt课件
2
一、Windows 操作系统简介
图形用户界面技术
FlowLayout布局管理器有如下的构造方法: new FlowLayout()
new FlowLayout(int align)
new FlowLayout(int align, int hgap, int vgap) FlowLayout构造方法参数align允许将组件左对齐、右对
6.2.1 容器
容器主要有两种类型:窗口和面板。 窗口是java.awt.Window类的对象。窗口是显示屏上的 特定区域,独立于其他容器。窗口有两种形式:Frame (窗体)类和Dialog(对话框)类。Frame和Dialog是 Window类的子类。窗体是一个带有标题和缩放操作的窗 口;对话框没有菜单条,能移动,但不能缩放。 Frame类是Window的子类,属于java.awt.Container, 可以用add( )方法向窗体中添加组件。Frame的缺省布 局管理器是BorderLayout,当然,可以用setLayout( ) 方法来改变布局方式。后面会进行介绍。
6.2.2 布局管理器
容器里的组件的位置和大小是由布局管理器决定的。当容 器需要定位一个组件时,将调用布局管理器来进行处理, 当确定组件大小时,同样如此。布局管理器完全控制容器 内的所有组件,负责计算并定义上下文中对象在实际屏幕 中所需的大小。 Java中的布局管理器主要有: FlowLayout—Panel和Applet缺省的布局管理器 BorderLayout—Window、Dialog及Frame缺省的布局 管理器 GridLayout CardLayout GridBagLayout
应用程序 AWT API AWT组件 AWT对等体JNI AWT本地对等体实现 本地组件API
第6章 Swing编程
JFrame编程示例2
例8_2_2 FrameDemo2.java源代码——采用继承方式创建窗口应用程序示例 import javax.swing.*; import java.awt.event.*; class FrameDemo2 extends JFrame{ FrameDemo2(){ setTitle("JFrameDemo"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); setSize(200,150); show(); } public static void main(String[] args) { FrameDemo2 frame=new FrameDemo2(); } }
组件常用方法
public void setLocation(int x,int y)——设置组件在容器中 的位置 public Dimension getSize() ——返回一个Dimension 对象的引用,该对象实体中含有名字是width和height 的成员变量。 public Point getLocation(intx,inty) ——返回一个 Point对象的引用,该对象实体中含有名字是x和y的成 员变量。 public void setBounds(int x,int y,int width,int height)——设置组件在容器中的位置和组件的大小。 该方法相当于setSize()方法和setLocation()方法的组 合。
组件常用方法
public void setBackground(Colorc)——设置组件的背景色。 public void setForeground(Colorc)——设置组件的前景色。 public Color getBackground(Colorc)——获取组件的背景色。 public Color getForeground(Colorc)——获取组件的前景色。 Color类是iava.awt包中的类,该类创建的对象称为颜色 对象。用Color类的构造方法public Color(int red,int green,int blue)可以创建一个颜色对象,其中red、green、blue的取 值在0—255之间。另外,Color类中还有red、blue、green、 orange、cyan、yellow、pink等静态常量,都是颜色对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public Font getFont()
//获得组件字体
public void setFont(Font f)
//设置组件字体
public void setVisible(boolean b)
//设置组件是否显示
}
第6章图形用户界面
2.容器
❖ 容器(Container) 是Component 的子类,因此容器本身也是一 个组件,具有组件的所有性质, 但是它的主要功能是容纳其它 组件或容器,在其可视区内显 示这些组件。容器中各种组件 的大小和位置由容器的布局管 理器进行控制。
❖ 图形用户界面由组件组成。组件是一系列 可见的Java对象。用户可以通过鼠标或键盘 对他们进行操作。
❖ Java在java.awt和javax.swing包中提供了构 成java图形用户界面的类和接口。
❖ 构成图形用户界面的基本元素是组件,而 应用程序的运行过程是事件驱动的。
第6章图形用户界面
❖ 从Java语言诞生到现在,Java语言已经提 供了两类图形用户界面资源。在早期的 J2SE的版本中,主要是AWT包(Abstract Window Toolkit,抽象窗口工具集)中的资源 构成图形用户界面。
❖ 由于容器是组件,所以在容器 中还可以放置其他容器,这样 就可以使用多层容器构成富于 变化的界面。
窗体标题
文本
输入文本 输入更多文本
第6章图形用户界面
❖ 强调: ① 只有容器类Container、及其子类才具有使 用布局管理器的功能。
② 容器中的布局管理器负责各个组件的大小和位 置,因此用户无法在这种情况下设置组件的大
第6章图形用户界面
6.1.1 AWT组件
❖ Java.awt包中主要包括:组件类、事件类、 布局管理器类、菜单组件类等。awt可以用 于Java的applet和applications中。
图6.1 java.awt包中主要类及组件类的继承关系。↓
第6章图形用户界面
第6章图形用户界面
1.组件
(1)组件( component)是构成图形用户界面的基本 成分和核心元素。 组件是一个可以以图形化 的方式显示在屏幕上并能与用户进行交互的对 象,例如一个按钮,一个标签等。组件不能独 立地显示出来,必须将组件放在指定的容器中 才可以显示出来。
Component类的结构:↓
第6章图形用户界面
public abstract class Component extends Object
implements ImageObserver, MenuContainer, Serializable
{
public int getWidth()
//宽度
(2)组件是具有以下特性的对象:①运行时可见, ②能拥有并管理其他组件,③可响应事件,④ 可获得输入焦点等。
第6章图形用户界面
(3)Component是一个抽象类,是AWT组件类 层次结构的根类,实际使用的组件都 是 Component类的子类。
(4)Component类中封装了组件通用的方法和 属性,如图形的组件对象、大小、显示位 置、前景色和背景色、边界、可见性等, 因此, 组件类继承了Component类的成员方 法和成员变量。
小和位置属性。如果试图使用Component类提
供的setLocation()、setSize()、setBounds()等方 法,则都会被布局管理器覆盖。 ③ 如果用户确实需要亲自设置组件大小或位置, 则应取消该容器的布局管理器,方法为:
setLayout(null)。
第6章图形用户界面
Container类的声明:
第6章 图形用户界面
❖ 6.1 AWT组件及其属性 ❖ 6.2 事件处理 ❖ 6.3 Swing组件 ❖ 6.4图形设计
第6章图形用户界面
前言
图形用户界面(Graphical User Interface, GUI),使用图形方式借助菜单、按钮等标准 界面元素和键盘、鼠标操作,实现人机交互。
第6章图形用户界面
public class Container extends Component
பைடு நூலகம்
{
public void setLayout(LayoutManager mgr) //设置布局管理器
public Component add(Component comp) //在容器中添加一个组件comp
public void remove(Component comp) //在容器中移除一个组件comp
public int getHeight()
//高度
public void setSize(int width, int height) //宽度和高度
public int getX()
//位置的X坐标值
public int getY()
//位置的Y坐标值
public void setLocation(int x, int y)
public void removeall() 有组件comp
//在容器中移除所
}
第6章图形用户界面
3.窗口与面板
容器有两种:窗口(window)和面板(panel)。 两者的区别: ❖ 窗口可以独立存在,可被移动,可被最大化和最小
化,有标题栏、边框、可添加菜单栏。 ❖ 面板不能独立运行,必须包含在另一个容器里。面
板没有标题,没有边框,不可添加菜单栏。 ❖ 一个窗口可以包含多个面板,一个面板可以包含另
//坐标位置,x、y指定组件左上角相对于容器的坐标位置
public void setBounds(int x, int y, int width, int height)
//坐标位置和宽度、高度
public Color getBackground()
//获得组件的背景颜色
public void setBackground(Color c) //设置组件的背景颜色
❖ AWT对于简单的应用程序来说,应用的 效果还是不错。但是要编写高质量、可移 植的图形库就会出现缺陷。
第6章图形用户界面
❖ Swing是基于AWT框架之上,提供了能 力更加强大的用户界面组件,但并没有完全 代替AWT。尤其在采用Swing编写程序时,还 需要使用基本的AWT处理事件。AWT是事件 处理窗口工具的底层机制。