第12章图形界面设计

实验一:图形用户界面设计

实验一图形用户界面设计 一实验目的和要求 1)熟悉图形用户界面的设计原则 遵循用户友好原则、一致性原则、帮助和提示等原则设计用户界面。 2)利用一种设计工具完成图形化的用户界面设计 二实验内容与步骤 (一)实验内容 利用常用的设计工具(UI界面设计工具GUI Design Studio)完成一个通用图形用户界面设计,要遵循界面设计的一般原则(一致性、快捷方式、提供错误处理),注意颜色的使用,学会图标、按钮、屏幕布局、菜单和对话框的设计。 软件的界面如同人的脸一样,软件界面的好坏决定了用户对软件的第一印象。设计好的界面能够引导用户自己完成相应的操作,起到引导作用。设计合理的界面能给用户带来轻松愉悦的感受。一些专家指出:对于用户,人机界面就是系统本身。这充分说明了软件界面设计的重要性。请完成各自的系统用户界面的设计。 (二)实验步骤 1.设计多个对话框,完成填表输入界面的设计,合理使用图标、按钮、颜色; 2.设计不同形式的菜单,完成对不同对话框的调用; 3.提供简单的错误处理、联机帮助。 GUI Design Studio主界面

三界面示例1、登录界面 2、主界面

3、聊天界面 4、QQ空间界面

四实验总结 1.界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致。 2.颜色是一种有效的强化手段,同时具有美学价值。使用颜色时应注意如下几点:限制同时显示的颜色数;画面中活动对象的颜色应鲜明,而非活动对象应暗淡;尽量避免不相容的颜色放在一起,如黄与蓝,红与绿等,除非作对比时用;若用颜色表示某种信息或对象属性,要使用户理解这种表示,并尽量采用通用的表示规则。 3.图标是可视地表示实体信息的简洁、抽象的符号。图标设计是方寸艺术,需要在很小的范围内表现出图标的内涵。设计图标时应该着重考虑视觉冲击力,要使用简单的颜色,利用眼镜对色彩和网点的空间混合效果,做出精彩图标。 1)设计按钮应该具有交互性,应该有3到6种状态效果(点击时的状态、鼠标放在上面但未点击的状态、点击前鼠标未放在上面时的状态、点击后鼠标未放在上面时的状态、不能点击时的状态、独立自动变化的状态),按钮应具备简洁的图示效果,应能够让使用者产生功能上的关联反应。属于一个群组的按钮应该风格统一,功能差异大的按钮应该有所区别。 2)设计屏幕布局(Layout)时应该使各功能区重点突出,应遵循如下几条原则:平衡原则、预期原则、经济原则、顺序原则、规则化。 3)菜单在图形界面的应用程序中使用得非常普遍,是软件界面设计的一个重要组成方面,描述了一个软件的大致功能和风格。菜单中的选项在功能上与按钮相当,一般具有下列一种或几种类型的选项:命令项、菜单项和窗口项。菜单的结构一般有单一菜单、线状序列菜单、树状结构菜单、网状结构菜单等,其中树状结构菜单是最常见的结构。 设计菜单界面时应注意一般性原则:功能组织菜单,合理分类,并力求简短,前后一致;合理组织菜单界面的结构与层次;按一定的规则对菜单项进行排序;菜单选项的标题要力求文字简短、含义明确,并且最好以关键词开始;常用选项要设置快捷键;充分利用菜单选项的使能与禁止、可见与隐藏属性;使用弹出式菜单。 4)在处理大量相关数据的场合下,需要输入一系列的数据,这时填表输入界面是最理想的数据输入界面。在设计填表输入界面时应遵循的原则:一致性;有含义的表格标题;使用易于理解的指导性说明文字;栏目按逻辑分组排序;表格的组织结构和用户任务相一致;光标移动方便;出错提示;提供帮助;表格显示应美观、清楚,避免过分拥挤。

图形用户界面的设计课案

人机交互基础教程 实验报告 实验题目:图形用户界面的设计 专业计算机科学与技术 学生姓名 班级学号 教师 指导单位计算机软件学院 日期

教师 评语教师签名: 年月日 成绩评定 备注

一、实验目的 (1)熟悉图形用户界面的设计原则 (2)利用一种设计工具完成图形化的用户界面设计 二、预备知识 图形用户界面又称为WIMP界面,由窗口(windows)、图标(icons)、菜单(menu)、指点设备(pointing device)四位一体,形成桌面(desktop) ,如图所示。 WIMP界面 用 户 手 眼 击键/指点 窗口、图标 菜单、文本 应用例程 图形用户界面是当前用户界面的主流,广泛应用于各档台式微机和图形工作站。图形用户界面的共同特点是以窗口管理系统为核心,使用键盘和鼠标器作为输入设备。窗口管理系统除了基于可重叠多窗口管理技术外,广泛采用的另一核心技术是事件驱动(event-driven)技术。 WIMP界面可看作是第二代人机界面,是基于图形方式的人机界面。在WIMP界面中,人被称为用户,人机通过对话进行工作。用户只能使用手这一种交互通道输入信息,通过视觉通道获取信息。在WIMP界面中,界面的输出可以为静态或动态的二维图形或图像等信息。

这种方式能同时输出不同种类的信息,用户也可以在几个工作环境中切换而不丢失几个工作之间的联系,通过菜单可以执行控制型和对话型任务。由于引入了图标、按钮和滚动条技术,大大减少键盘输入,提高了交互效率。基于鼠标和图形用户界面的交互技术极大地推动了计算机技术的普及。 (1)图形用户界面的三个重要思想 1)桌面隐喻(desktop metaphor) 指在用户界面中用人们熟悉的桌面上的图例清楚地表示计算机可以处理的能力。隐喻的表现方法:静态图标、动画、视频2)所见即所得(What You See Is What You Get,WYSIWYG) 显示的用户交互行为与应用程序最终产生的结果是一致的。 3)直接操纵(direct manipulation) 直接操纵是指可以把操作的对象、属性、关系显式地表示出来,用光笔、鼠标、触摸屏或数据手套等指点设备直接从屏幕上获取形象化命令与数据的过程。直接操纵的对象是命令、数据或是对数据的某种操作。 (2)设计图形用户界面的原则 1) 一般性原则:界面要具有一致性、常用操作要有快捷方式、提供简单的错误处理、对操作人员的重要操作要有信息反馈、操作可逆、设计良好的联机帮助、合理划分并高效地使用显示屏、保证信息显示方式与数据输入方式的协调一致 2) 颜色的使用:颜色是一种有效的强化手段,同时具有美学价

图形界面设计实验

图形用户界面编程(设计性实验) 一、实验目的 1、熟悉Swing的基本组件,包括文本输入框、多行文本输入框、按钮、列表框等; 2、熟悉常用的布局管理器 3、了解GUI图像用户界面的设计方法 4、掌握Java组件的事件处理机制 5、熟悉基于内部类和匿名类的事件处理方式 二、实验要求 1、学生应做到独立上机操作 2、编程前应将程序的设计构想完成,主要包括所要创建的类的结构及属性和行为。 3、上机输入和调试自己所编的程序,并存在自己的软盘上。 4、检查实验结果是否正确。 5、上机结束后,写出实验报告,要求附运行界面、源代码。实验报告中应对实验结果进行分析,尤其是针对错误输出的分析。 三、实验内容 1.编写程序,显示一个窗口,窗口中包含一个按钮。当单击按钮时将弹出另一个窗 口。 2. 编写一个简单的计算器程序,实现两个数相加。 在文本框输入两个实数,点击“相加”按钮实现两个实数相加,并在标签中显示相加结果。点击“清除”完成对文本框和运行结果的清除。 四、实验代码及结果: 第一题代码: TestFrame.Java import javax.swing.*; import java.awt.event.*; import java.awt.*; public class TestFrame{ public static void main(String args[]){ JFrame f=new JFrame("Test"); f.setSize(400,200); f.setLayout(new FlowLayout(FlowLayout.CENTER)); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton b=new JButton("确定"); b.addActionListener(new ButtonHandler()); f.add(b); f.setVisible(true);} } class ButtonHandler implements ActionListener{ public void actionPerformed(ActionEvent e){ JFrame fr=new JFrame("Hello"); fr.setSize(200,100); fr.setVisible(true);} }

数字图像处理GUI界面设计.

目录 第一章设计任务及要求 ---------------------------------------------------------------------------------------------------------------- 1 1.1设计依据-------------------------------------------------------------------------------------------------------------------------- 1 1.2课程设计内容 ------------------------------------------------------------------------------------------------------------------- 1 1.3课程设计要求 ------------------------------------------------------------------------------------------------------------------- 1 第二章设计原理-------------------------------------------------------------------------------------------------------------------------- 2 2.1设计题目分析 ------------------------------------------------------------------------------------------------------------------- 2 2.2 设计原理------------------------------------------------------------------------------------------------------------------------- 2 第三章设计实现-------------------------------------------------------------------------------------------------------------------------- 4 3.1 菜单栏编辑---------------------------------------------------------------------------------------------------------------------- 4 3.2 控件及代码的加入 ------------------------------------------------------------------------------------------------------------ 6 3.2.2 控件按钮的创建 ------------------------------------------------------------------------------------------------------ 7 3.2.3 控件代码加入 --------------------------------------------------------------------------------------------------------- 8 3.4 图像灰度处理 ------------------------------------------------------------------------------------------------------------------ 9 3.5 亮度调节------------------------------------------------------------------------------------------------------------------------- 9 3.6 底片处理----------------------------------------------------------------------------------------------------------------------- 11 3.7 直方图均衡化 ---------------------------------------------------------------------------------------------------------------- 12 第四章结果分析及总结 -------------------------------------------------------------------------------------------------------------- 13 第五章参考文献------------------------------------------------------------------------------------------------------------------------ 14 第六章附录 ------------------------------------------------------------------------------------------------------------------------------ 15

软件工程第6章用户界面设计

第七章用户界面设计 6.5用户界面设计 用户界面(UI)也称人机界面(Human Computer Interface,简称HCI),它是交互式应用软件系统的门面。随着计算机应用的不断拓广,软件的用户界面作为人机接口起着越来越重要的作用,界面设计日益受到重视。设计用户界面要充分考虑到人的因素,如用户的特点、用户怎样学会与系统交互工作、用户怎样理解系统产生的输出信息以及用户对系统有什么期望等。还要考虑界面的风格,可用的软、硬件技术及应用本身产生的影响。所以现在在做软件产品时,越来越重视心理学在软件设计中的作用,要充分考虑用户的心理,尽量使得用户界面的设计符合用户的需要。 用户界面应具备的特性 1、可使用性 用户界面的可使用性是用户界面设计最重要的也是最基本的目标,它包括: 1)使用的简单性:用户界面应能方便地处理各种经常进行的交互对话。问题的输入格式应当易于理解,附加的信息量少;能直接处理制定媒体上的信息和数据,且自动化程度高;操作简便;能按用户要求的表格或图形输出,或反馈计算结果到用户指定的媒体上。 2)用户界面中所用术语的标准化和一致性:所有专业术语都应该标准化;软件技术用语应符合软件工程规范;应用领域的术语应符合软件面向专业的专业标准;在输入、输出说明里,同一术语的含义应完全一致。 3)拥有HELP帮助功能:用户应能从HELP功能中获知软件系统的所有规格说明和各种操作命令的用法,HELP功能应能联机调用,为用户随时提供帮助信息。 4)快速的系统响应和低的系统成本:在使用较多硬件设备并与许多其它软件系统联结时,会引入较大的系统开销。用户界面应在此情况下有较快的响应速度和较小的系统开销。 5)用户界面应具有容错能力:即应当具有错误诊断、修正错误以及出错保护的功能。 2、灵活性 1)考虑到用户的特点、能力、知识水平,应当使用户界面能够满足不同用户的要求。因此,对不同的用户,应有不同的界面形式。其运行抉择和涉及到的复杂算法对初学者可以是隐蔽的,他们可以不考虑抉择和算法问题而正常使用这个软件;但对于高级用户,可保留实施运行抉择和选择算法的权利。 2)用户可以根据需要制定和修改界面方式。在需要修改和扩充系统功能的情形下,能够提供动态的对话方式,如修改命令、设置动态的菜单等。 3)系统能够按照用户的希望和需要,提供不同详细程度的系统响应信息,包括反馈信息、提示信息、帮助信息、出错信息等等。 4)与其他软件系统应有标准的界面。 为了使得用户界面具有一定的灵活性,需要付出一定代价。这要求系统的设计更加复杂,而且有可能降低软件的运行效率。

图形界面程序的界面设计

实验三图形界面程序的界面设计 一、实验目的 1、掌握Java 图形界面程序设计的基本思想和步骤。 2、掌握JDK 中AWT 包和Swing 包的基本使用方法和区别。 3、掌握容器和布局的概念和使用。 4、掌握图形界面程序的界面设计方法和步骤。 二、实验内容 自己编写所有代码,设计一个程序的界面。该程序的功能要求是:运行之后,界面要求基本如左图所示。其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”些提示标签使用组件JLabel(或Label),输入运算数和输出运算结果使用JTextField (或TextField),“相加”、“相减”和“全部清零”使用按钮JButton(或Button)。请注意查阅JDK 的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法可以用来进行调用。注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继续完善。(由于实验三为选作,因此只做了第一题) 三、分析与设计 1、分析:这次实验主要是图形界面程序的界面设计,设计界面时,先定义“容器对象”作为载体,然后定义按钮,输入框之类的普通图形界面组件对象,把这些组件对象添加(调用容器对象的add方法)到容器上,才构成界面。而对于容器对象设置布局的方法都是调用该容器对象的setLayout方法。 2、设计:此题用到java中能够实现图形用户界面的类库:javax.swing,在根据类库中的组件完成整个界面的设计,其中要注意对于界面的设计有位置等细节需要决定。 四、测试数据及运行结果

第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.各组件的事件处理方法是否执行以及执行次序,取决于用户操作。3.在一个事件处理方法中,程序按照语句的书写次序顺序执行。 6-7 说明Java的委托事件模型。 【答】事件源产生一个事件,并把这个事件发送到一个或多个监听程序,监听程序只是等待这个事件并处理它,然后返回。即程序把事件的处理“委托”给一段“代码”。 6-8 设计图形用户界面的Java应用程序,需要用到的组件分别在哪些包中?事件分别在哪些包中? 【答】组件在java.awt包中,事件在java.awt.Event和javax.swing.Event包中。 6-9 按钮组件能够注册哪些事件监听器?文本行组件能够注册哪些事件监听器?文本行和文本区组件能够响应的事件有什么不同? 【答】按钮组件能够注册的事件监听器有ActionListener、ComponentListener、ItemListener等。文本行组件能够注册的事件监听器有ActionListener、ComponentListener、TextListener等。文本行是单行文本编辑框,用于编辑一行字符串,文本区是一个多行文本编辑框,它的基本操作与文本行类似,增加的是滚动条的显示和操作。6-10 是否可以对一个组件注册多个事件监听器? 【答】可以。如果一个组件需要响应多个事件,则可以注册多个事件监听器。 6-11 一个事件监听器是否可以处理多个组件上产生的操作? 【答】一个事件监听器对应一个事件处理方法,如果多个组件产生的操作相同,则可以注册同一个事件监听器。

图形用户界面(GUI)设计举例

图形用户界面(GUI)设计举例 Tags: MATLAB图形用户界面GUI设计举例 Time : 2005-2-21 18:25:39 | Views : 756 | Font Size : Large Medium Small | Category : 毕业设计,留底回忆 前面我们已经大概的了解了MATLAB环境下的图形用户界面(GUI)设计,下面便通过具体的例子来演示在MATLAB环境下图形用户界面设计的方法与思想。 MATLAB的图形用户界面设计实际上是一种面向对象的设计方法。假设想建立一个图形界面来显示和处理二维图形的颜色、线型及数据点的图标。要求其基本功能是: (1)建立一个主坐标系,用来显示要绘制的二维图形; (2)建立一个列表框,允许用户选择不同的着色方法; (3)建立一组按扭,用于处理二维图形线型和数据点的图标; (4)为图形界面加入菜单项,用于决定坐标轴是否显示及坐标轴上是否需要网格; (A)最初图形界面的设想如下图所示: (B)根据上面的设想,下面我们就来制作它的图形用户界面: 首先,我们先来看其图形窗口的设置。在MATLAB命令窗口中选择菜单可获得一个标准MATLAB 的图形窗口,但我们可采用如下命令使得打开窗口的形式更富于变化: 窗口句柄=figure(属性1,属性值1,属性2,属性值2,……); 通过这样的方式可以很容易地打开一个新的图形窗口,并返回该窗口的句柄,以后我们可以方便地对它进行进一步修正,窗口的属性诸如颜色(Color),标题名(Name)、位置(Position)等,都可根据需要设定。若要改变窗口的某些属性,则可通过调set()函数来完成。这样我们就得到其窗口生成的程序如下: yWin=figure('Position',[100,100,410,310],'Name','对MATLAB绘图功能选项的演示 (2003/3/21)','Menubar','none', 'Resize','off','pointer','custom', 'numbertitle','off'); 接下来我们看起菜单项的加入。我们已建立了一个图形窗口,下面给它加入菜单项。 菜单设置是由uimenu()函数来完成的,该函数调用格式为: 菜单项句柄=uimenu(窗口句柄,属性1,属性值1,属性2,属性值2,……); 还可在某一个菜单条下定义一个新的子菜单条: 子菜单句柄=uimenu(菜单项句柄,属性1,属性值1,属性2,属性值2,……); uimenu()函数的属性最基本的有:

实验三--图形用户界面设计(汽院含答案)

实验三--图形用户界面设计(汽院含答案)

实验三图形用户界面设计 实验目的 1.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进 行交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码 swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。

图3.1 AWT常用组件继承关系图Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布 局管理器: FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。GridLayout(网格布局管理器):规则的矩阵CardLayout(卡片布局管理器):选项卡GridBagLayout(网格包布局管理器):非规则的矩阵 3.类JFrame是java.awt.Frame 的扩展版本, 该版本添加了对 JFC/Swing 组件架构的支持,常用方法如下: 1)J Frame() 该构造方法可以创建一个无 标题的窗口,窗口的默认布局为 BorderLayout布局。 2)J Frame(String s) 该构造方法可以创 建一个标题为s的窗口,窗口的默认布局 为BorderLayout布局。 3)p ublic void setBounds(int a,int b,int width,int height) 窗口调用该 方法可以设置出现在屏幕上时的初始位 置是(a,b),即距屏幕左面a个像素、距 屏幕上方b个像素;窗口的宽是width, 高是height。 4)p ublic void setSize(int width,int

图形用户界面综合设计

图形用户界面综合设计(一) 实验内容 多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图。 代码: import java.awt.*; import java.awt.event.*; public class InputData implements ActionListener{ Frame f; //声明框架对象 Label l1, l2, l3, l4; //声明标签对象 TextField t; //声明文本行对象 Checkbox r1,r2; //声明单选钮对象 CheckboxGroup g; //声明组对象 Checkbox c1,c2, c3; Choice ch; //声明选择框对象 Button b; //声明按钮对象 TextArea ta; //声明文本区对象 Panel p1, p2, p3, p4, p5; //声明面板对象

int i = 0; //对象实例化 public InputData(){ f = new Frame("信息录入"); f.setBounds(200,220,500,500); ch = new Choice(); l1 = new Label("姓名:"); l2 = new Label("性别:"); l3 = new Label("爱好:"); l4 = new Label("籍贯:"); t = new TextField(); t.setSize(200,10); g = new CheckboxGroup(); r1 = new Checkbox("男",g,false); r2 = new Checkbox("女",g,true); c1 = new Checkbox("体育"); c2 = new Checkbox("音乐"); c3 = new Checkbox("美术"); b = new Button("确定"); b.addActionListener(this); ta = new TextArea(); p2 = new Panel(); p3 = new Panel(); p4 = new Panel(); p5 = new Panel(); ch.add("济南"); ch.add("潍坊"); ch.add("济宁"); Panel p = new Panel(); p.setLayout(new GridLayout(5,1)); p1 = new Panel(); p1.setLayout(new FlowLayout(FlowLayout.LEFT)); //设定面板布局样式p2.setLayout(new FlowLayout(FlowLayout.LEFT)); p3.setLayout(new FlowLayout(FlowLayout.LEFT)); p4.setLayout(new FlowLayout(FlowLayout.LEFT)); p.add(p1); p.add(p2); p.add(p3); p.add(p4); p.add(p5); p1.add(l1); p1.add(t); p2.add(l2); p2.add(r1);

图形用户界面设计方法

专题八MATLAB图形用户界面设计 8.3 图形用户界面设计方法 ?图形用户界面的组成 ?控件对象及其操作 ?菜单对象及其操作

1.图形用户界面的组成 ?图形用户界面(Graphical User Interface,GUI):用户与计算机进行信息交流的窗口。 ?设计图形用户界面的方法 ?调用建立用户界面控件的函数 ?使用MATLAB提供的GUIDE工具进行可视化设计

2.控件对象及其操作 (1)常用控件 ?输入和输出类控件:编辑框、静态文本、列表框、滑动条等。 ?实施确认、选择操作类控件:按钮、双位按钮、单选按钮、复选框等。

2.控件对象及其操作 (2)建立控件对象 函数uicontrol用于建立控件对象,其调用格式为: 句柄变量=uicontrol(图形窗口句柄,属性1,属性值1,属性2,属性值2,…)其中,属性及其取值决定了控件的特征。若省略图形窗口句柄,默认在当前图形窗口建立控件对象。

2.控件对象及其操作 (3)控件对象的基本控制属性 ?Style属性:定义控件对象的类型,例如‘pushbutton’表示按钮对象,'edit'表示编辑框,等等。 ?String属性:定义控件对象的说明文字。 ?Tag属性:标识控件对象。 ?Enable属性:控制控件对象是否可用。 ?Position属性:定义控件对象的位置,其取值形式为[x,y,w,h]。?Callback属性:其属性值是描述命令的字符串或函数句柄,当选中控件时,系统将自动执行字符串描述的命令或调用句柄所代表的函数,实施相关操作。

例1 在图形窗口中建立三个按钮对象,当单击按钮时分别绘制正弦曲线、显示或隐藏坐标轴的网格、清除坐标轴的图形。 ha= axes('Units','pixels','Position',[40,40,360,360]); ptgrid=uicontrol('Style','pushbutton',... 'String','网格', 'Position', [450,120,48,20],... 'Callback','grid' ); btncla= uicontrol('Style', 'pushbutton', ... 'String', '清除','Position', [450,80,48,20],... 'Callback','cla' ); btnplot= uicontrol('Style', 'pushbutton', ... 'String','绘图','Position', [450,160,48,20]);

matlab 第十章 图形用户界面GUI制作

第十章内容简介 本书由纸质媒体和电子媒体有机结合而成。纸质媒体便于读者进行系统、全面、长时间连续地阅读,便于随心的翻阅、浏览;而电子媒体向读者提供色彩信息、动态交互的软件环境,提供读者实践本书内容所需的各种文件。 本书第一章系统讲述MATLAB6.5的集成工作平台,引导读者初会MATLAB基本用法。第二、三章系统叙述MATLAB6.1的四大基本数据类型(数值数组、字符串数组、元胞数组、构架数组),至于其它扩展数据类型(函数句柄、符号数据、内联函数、unit数组、稀疏类)则另辟章节专述。此后,本书用九个独立章分述MATLAB6.5的数值计算、符号计算、函数和数据可视、面向对象编程、GUI交互操作界面设计、EXE独立应用程序生成、实现不同软件平台交互的API、M-book 数据图形文字环境集成等八大通用功能。本书用专门的一章深入浅出地阐明SIMULINK的分层建模、仿真功能、与MATLAB交互的功能。 全书包含390多个计算范例。所有算例的程序是可靠、完整的。读者可以在自己的MATLAB环境中完全准确地重现本书所提供的算例结果。算例的举一反三,将使读者很快掌握要领,从模仿走向灵活应用。 书中正文(包括算例)所涉及的指令全部罗列在附录的“A索引”中,用户很容易根据关键字符找到相关的正文说明和算例应用。 本书随带包含700多个文件的光盘。光盘文件包含:可直接在Notebook中运行的全部算例的M-book DOC文件;可在MATLAB环境中直接运行的算例M和MDL文件;可供读者实践MATLAB编译器及API的所有文件;可在PowrPoint中放映幻灯的PPT文件。它们不仅有效地提供了纸质媒体所不具备的交互能力和色彩感染力,而且弥补了纸质媒体没有SIMULINK模型源码文件、没有PPT源码文件、没有编译源文件和验证文件的缺陷。 本书既可作为理工科院校研究生、本科生系统学习的教材,又可以作为广大科技工作者掌握和精通MATLAB的自学用书和使用手册。 作者简介 张志涌 1944年出生于无锡;教授,获政府专项津贴,IEEE高级会员,中国电子学会高级会员,江苏省自动化学会理事、网络与系统专委会主委;1967年毕业于清华大学自动控制系,1982年初在上海交通大学获控制理论硕士学位,1989—90年在荷兰王国Eindhoven技术大学研修系统辨识、故障诊断;主持并完成国家自然科学基金、省部基金及科研项目近十项,发表论文50余篇,著作1本。现主要从事自动控制教学和计算机控制、计算机仿真、故障诊断等研究。 1989年在荷兰用MATLAB3.0研究系统辩识和故障诊断;1992年对MATLAB3.0实现汉化并编写了相应讲义;在1994、95年借助于MATLAB3.5、4.0先后完成国家自然科学基金和国家教委留学生基金课题研究;1996年在省基金支持下从事MATLAB4.2c建立仿真实验室的研究,并于1997年编写出版《掌握和精通MATLAB》;1997年底获原邮电部预研经费资助开始了以MATLAB5.x为工具的智能技术研究。

图形界面设计

6 图形界面设计 所谓图形用户界面GUI,简单地说,是指包括了各种图形控制对象,如图形窗口,菜单,对话框以及文本框等内容的界面。利用这些用户界面,用户可以和计算机之间进行信息交流。用户可以通过某种方式来选择或者激活这些图形对象,运行一些特性的M文件,利用MATLAB提供的图形用户界面设计向导,用户可以非常方便快捷地设计一个图形用户界面,就好像在windows的画图工具中进行绘图一样。利用该向导,极大地方便了用户,让用户能够在很短的时间内完成一个非常复杂的图形界面外观设计。一旦用户完成了该图形界面的外观设计,确定了所有按钮以及图形的位置,那么就可以利用MATLAB的回调程序编辑器来编写MATLAB的源程序代码,从而可使该图形界面能够完成特定的任务[12]。 MATLAB7.5提供了非常强大的编写图形用户界面的功能,它为图形界面的设计提供了新方法。比如提供了更完善的标准联机帮助系统的设计方法以及提供的标准对话框可以直接调用。该版本改进用户图形界面开发程序Guide,使得该软件完全是可视的,在风格上与Microcoft Windows 的作图软件窗口极其相似。可以非常快捷、非常方便的设计出友好的界面。这是FORTRAN语言和C语言所不能比拟的(虽然C语言(c++builder)也能设计出友好的界面,但仍较MATLAB复杂得多)。本文就是利用MATLAB7.5设计出图形用户界面,通过函数的调用来实现该软件的功能。 6.1 步骤 (1)点击桌面上的MATLAB7.5图标打开MATLAB,点击工具栏内的GUI图标就可进入到GUI的开发环境下。 (2)把一个Axes控件、九个Edit Text控件和十一个Static Text、四个Push Button控件拖到控件布局编辑区并布局好。 (3)按照设计需要依次选中各控件,单击属性查看器按钮打开其属性列表。在String、Call back、Tag属性栏中依次输入所需要的字符串。 (4)根据需要为回调函数编写M文件(即为本次设计的主程序和子程序)。 (5)点击GUI工具栏中的“保存”按钮保存设计的GUI,单击工具栏M-file 按钮,我们可以看到M-file文件生成。再单击激活窗口按钮▲,就可以运行我们编写的程序了。这时桌面上就会弹出如图6-1所示的界面。

第08章_MATLAB图形用户界面设计_例题源程序

第8章MATLAB图形用户界面设计 例8.1建立图8.1所示的图形演示系统菜单。菜单条中含有3个菜单项:Plot、Option 和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图8.1所示,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Window Color控制图形窗口背景颜色。Quit控制是否退出系统。 screen=get(0,'ScreenSize'); W=screen(3);H=screen(4); figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.5*W,0.3*H],... 'Name','图形演示系统','NumberTitle','off','MenuBar','none'); %定义Plot菜单项 hplot=uimenu(gcf,'Label','&Plot'); uimenu(hplot,'Label','Sine Wave','Call',... ['t=-pi:pi/20:pi;','plot(t,sin(t));',... 'set(hgon,''Enable'',''on'');',... 'set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');',... 'set(hboff,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',... ['t=-pi:pi/20:pi;','plot(t,cos(t));',... 'set(hgon,''Enable'',''on'');',... 'set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');',... 'set(hboff,''Enable'',''on'');']); %定义Option菜单项 hoption=uimenu(gcf,'Label','&Option'); hgon=uimenu(hoption,'Label','&Grid on',... 'Call','grid on','Enable','off'); hgoff=uimenu(hoption,'Label','&Grid off',... 'Call','grid off','Enable','off'); hbon=uimenu(hoption,'Label','&Box on',...

简单图形用户界面设计

和实验八简单图形用户界面设计 [实验目的] 1.掌握简单的用户界面设计方法。 2.进一步熟悉函数文件的编写技巧 [实验原理] 图形用户界面(GUI)以其友好和直观性在软件编程上被广泛使用。WINDOWS 操作系统 就是一个经典的图形用户界面操作系统。图形用户界面是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如简单的实现计算、绘图等。 MATLAB 以它强大的科学计算及图像生成功能著称,同时它也提供了图形用户界面的设 计和开发功能。即通过MATLAB 的图形用户界面,使得MATLAB 的科学计算功能不仅仅是通过输入一个个的函数代码来实现,还可以通过单击按钮和对话框等直观的图像来表达。通常如果只是进行简单的数据处理、解方程等计算结果比较单一的工作,一般不用考虑GUI 的制作。但是如果工作较为繁琐,重复率较高,或者是向别人提供应用程序,想进行某种技术、方法的演示,制作图像用户界面将是一个较好的选择。 MATLAB 的图形用户界面GUI 的制作,即可通过M 脚本文件直接编写,也可通过MATLAB 提供的用户图形界面开发工具GUIDE 来实现。通常我们选择后者,可以开发出界面布局合理、结构较为复杂、功能较多的用户界面。 在MATLAB 命令窗口输入guide,确认后就可以进入到GUI 的开发环境下,如下图所示: 图8.1 GUI 开发环境 可以看到,MATLAB 的GUI 开发环境和VC、VB 等程序语言的开发环境非常类似。设计用

户交互界面的过程就是把我们需要用到的控件从GUI 开发环境左侧的控件调色板拖到中间 的空间布局编辑区,并使用队列工具把这些控件排列整齐合理的过程。当控件布局好后,可 根据需要对每个控件通过各自的对象属性查看器设置其相应的属性,如显示在控件上的文本 串、控件的标识符、回调的例程等,最后再根据要求编写相应的例程文件。 [实验内容] 一.设计一个图形用户界面,通过调节滑块可以画出不同频率的正弦波。并通过 菜单可调节图形界面的坐标网格控制、退出程序等简单操作。 弹出式菜单的回调函数 t=0:0.005:2*pi; y=sin(2.*pi.*w.*t); axes(handles.frequency_axes) plot(t,y) grid on zy2 clear; clc; figure(1); t=0:0.01:2*pi; a=0:10; h.text=uicontrol('Style','text','Position',[100 80 200 20],'String',['?μ?ê?a:2']); h.axes=axes('position',[0.2 0.4 0.5 0.5]);plot(t,sin(a*t)); h.slider=uicontrol('Style','slider','Position',[100 50 200 20],'Max',4,'Min',0,'callback',['fre=num2str(get(gcbo,''value''));','set (h_text,''String'',[''?μ?ê?a:'',fre]);','plot(t,sin(str2num(fre)*t))']); 二.对于传递函数G = 1/(s2+ 2ξs +1) 的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。要求: 1. 通过编辑框输入阻尼比系数ξ后,可自动绘出相应的单位阶跃相应曲线; 初始化程序 zeta=0.3; set(handles.edit1,'String',num2str(zeta)) set(handles.slider1,'Value',zeta) set(handles.gridon,'Value',0) set(handles.gridoff,'Value',1) set(handles.listbox1,'Value',1) handles.t=0:0.05:15; handles.Color='Red'; handles.zeta=zeta; handles.flg=0; handles=surfplot(handles)

相关文档
最新文档