当前位置:文档之家› 图形用户界面程序设计任务书

图形用户界面程序设计任务书

图形用户界面程序设计任务书
图形用户界面程序设计任务书

图形用户界面设计(Java)

教学目标:

掌握用于简单的图形用户界面设计的相关方法及原则,会简单的基于GUI的交互式应用程序的实现。

教学环境:计算机机房+多媒体

教学方法:

建构性教学+“建—仿—读—改—写”互动式教学方法(建:建立环境;仿:模仿程序;读:读懂程序;改:改写程序;写:自己编写程序)

计划课时:8课时(4次)

具体实现步骤:

●分发文档:给每一个学生发(1)一个已有的实例程序(编写好的完整的应用程序

或以往学生的作品),(学生参考用);(2)一个不完整的应用程序(要学生当堂填

写完整);(3)一些其他相关的练习应用程序(课后练习用)

●提出要求:一人或两人一组独立完成;

●当堂检查:教师在课上检查学生完成任务情况并记录

●总结(教师汇总问题或由学生相互交流经验)

总任务及情景:情景:一家公司想通过电话传送数据,但是担心电话会被窃听。

任务:现在要求程序员设计编写一个带图形用户界面的应用程序,对数据进

行加密,以使数据传送更安全。

思路:在设计和实现图形用户界面的过程中,主要完成两个任务:第一是

创建窗口并在窗口中添加各种组件,指定组件的属性和它们在窗口中的

位置,从而构成图形界面的外观效果;第二是定义图形界面的事件和各

种组件对不同事件的响应,从而实现图形界面与用户的交互。

1.图形界面的外观设计

创建窗口及添加各种组件:实质是对窗口类及各种组件类的学习

窗口设计

文字输入输出:两个方法:JTextField类和JTextArea类

加载图片、图象、影音等多媒体文件

布局各种组件

2.事件处理

单击按钮事件

键盘、鼠标事件

对话框设计

注意:学习如何引用我们自己创建好的类

分任务:

1.任务:创建一个自己的Welcome应用程序。

情景:一个好的欢迎界面,即体现设计者的个性又吸引用户、便于用户使用,让用户产生亲切感、信任感等,设计一个Welcome界面推销介绍自己的产品

学习要点:

●设置JFrame标签栏文本

●改变JFrame的背景色

●将JLabel放置在JFrame上

●显示JLabel组件的文本

●显示JLabel组件中的图片

教学准备:学生知识水平:

已学习了教材的前几个主题内容

上课环节:创建一个自己的Welcome应用程序。

准备资料:教师用PPT

补充思考:在该应用程序中如何添加其他图形组件,例如按钮组件?

2.库存清单应用程序(介绍JTextField和Jbutton组件)

任务:设计一个库存清单应用程序的图形用户界面,该程序用于计算某大学书店所收教材的总数量

情景:某大学书店收到几箱教材。在一批教材中,每箱教材的数量是相同的。仓库管理员希望使用一台计算机来计算书店收到的每批教材的总数量。仓库管理员会输入一批教材中箱子的数目及每只箱子中所存放教材的数目;然后该应用程序将计算并显示出这批教材的总数量。

学习要点:

●使用图形用户界面设计原则创建GUI

●在应用窗口中自定义JLabel,JTextField和JButton

●水平对齐介绍JtextField中的文本

●将某个JTextField指定为不可编辑

技术小结

(1)自定义Jlabel(起描述作用)

GUI设计提示:如果Jlabel是垂直放置的,应使这一组起描述作用的Jlabel的左边界对齐(2)自定义一个JTextField时,通过设置其文本属性(使用setText)和范围属性(使用setBounds)使该JTextField同另一组件对齐,并且还可以设置它horizontalAlignment属性(利用setHorizontalAlignment,其选项有:JTextField.LEFT, JTextField.CENTER, JTextField.RIGHT)。

(3)定义一个输出JTextField,将可编辑属性设置为false(使用setEditable)

4自定义一个JButton,通过设置其文本属性(使用setText)和范围属性(使用setBounds)使JButton同另一组件对齐。

关键术语:

可编辑属性

JButton组件:一种点击后可以命令应用程序完成某项操作的组件

JLabel组件:一种用来描述其他组件的组件。利用它可帮助用户理解某个组件的意图JTextField组件:一种可从键盘中接受用户的输入或者是将输出显示给用户的组件

GUI设计导航:

Java类库索引:

3.改进的库存清单应用程序

情境:库存清单管理员注意到这个库存清单应用程序存在一个小小的失误。尽管应用程序能够计算出正确的结果,但是这个结果在新的数据输入之后仍然继续显示。而此输出只是当库

存清单管理员再次按下Calculate JButton时,才会得到改变。程序设计人员应对这个库存清单应用程序进行改进,使得用户向任意一个JTextField中输入新的信息时,原结果就将被删除掉,以避免用户对计算结果的准确性产生疑惑。

任务:

(1)运行任务文件夹下的Inventory2.java程序,点击Calculate JButton时,应用程序没有响应?对照任务2文件夹下的inventory程序,在事件处理程序中放置代码。

(2)改进库存清单应用程序,使得用户向任意一个JTextField中输入新的信息时,原结果就将被删除掉。

学习要点:

●如何使应用程序执行操作以响应对JButton的点击操作

●针对JTextField处理KeyPressed事件

4.利息计算器应用程序(引入事件处理的概念)

学习要点:

●在特定范围内获取输入的JSpinner组件

●如何将JTextArea放置到JScrollPane中以增添滚动条

●创建事件处理程序

●事件对象

●如何处理JSpinner中的值发生改变而产生的ChangeEvent事件事件处理程序

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

实验一图形用户界面设计 一实验目的和要求 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.掌握Java语言中GUI编程的基本方法 2.掌握Java语言中AWT组件的基本用法 3.掌握Java语言中Swing组件的基本用法 实验导读 1.通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行 交互。 AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 JDK写程序所有功能都是靠虚拟机去操作本地操作系统。比如window下,就是JDK 用windows API实现功能。而awt包中很多组件是组件自身去调用本地操作系统代码swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。 图AWT常用组件继承关系图 Container为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。 2.布局,容器中的组件的排放方式。常见的布局管理器: FlowLayout(流式布局管理器):从左到右的顺序排列。Panel默认的布局管理器。 BorderLayout(边界布局管理器):东,南,西,北,中。Frame默认的布局管理器。 GridLayout(网格布局管理器):规则的矩阵

图形图像用户界面设计

实习报告 课程名称多媒体实验 实习题目图形图像用户界面设计专业通信工程 班级通信(2)班 学号 学生姓名 实习成绩 指导教师吴娱 2011年5月

图形图像用户界面设计 一、实验目的 了解句柄图形的基本概念,掌握图形用户界面的基本设计方法。 二、实验要求 上机完成实验题目,独立完成实验报告。 三、实验内容 设计简单的图像用户界面。 四、实验步骤 1、在MATLAB的命令窗口(Command Window)中运行guide命令: 打开GUIDE界面,如下: 然后,选择空模板(Blank GUI),点击OK,即可打开GUIDE的设计界面,如下:

如下: 单下添加菜单项:“打开”、“保存”、“退出”。如下:

文件,所有的程序都是要写在这个M文件里面的。 在编程中,每一个鼠标动作都对应一个Callback函数。那么菜单项也是如此。 在界面上,单击鼠标右键选择“Property Inspector”,即可打 开属性窗口。当点击不同的控件时,其对应的属性都会在这里显示, 根据需要可以进行修改。最主要的属性莫过于Tag属性和String属 性。 设置当前的Figure窗口的Tag属性为:figure_pjimage,窗口的标

题(Name属性)为:图像处理实例。如下: 然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run)。程序运行时的样子,是这样的: 文件下面的菜单项和快捷键我们都能看见,但是我们没有写程序,所以就算点也没有什么响应。还有如果不想设置快捷键,可以在Menu Editor中设置,只要把其选择为Ctrl+none就行了。这样的话,

用户界面设计与答案

1.用户满意度=功能+___人机界面_____+响应时间+可靠性+易安装性+____信息____+可维护性+其他因素 2. ____人机交互(人机对话)____是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 3.软件界面设计分为____功能性设计界面____、____情感性设计界面____、____环境性设计界面____。 4.进行系统分析和设计的第一步是___用户分析_____。 5.使用较早,也是使用最广泛的人机交互方式是____交互方式____。 6.软件界面开发流程包括____系统分析____、____系统设计____、____系统实施____三个阶段 7.设计阶段包括界面的____概念设计____、____详细设计____、____原型建立____与界面实现以及综合测试与评估等8.VB 是以结构化___Basic_____语言为基础、以____事件驱动作____为运行机制的可视化程序设计语言。 9.菜单使用形式主要有____菜单操作____和____Tba控件操作____两种。 10.随着计算机图形技术的发展,以直接操纵、桌面隐喻以及所见即所得为特征的____图形用户界面____技术广泛被计算机系统采用。 11.在用VB 开发应用程序时,一般要布置窗体、设置控件的属性、___编写代码___。 12. 假定在窗体上有一个通用对话框,其名称为CommonDialog1,为建立一个保存文件对话框,则需要把Action 属性设置为__value__。 13. 计时器事件之间的间隔通过__interval__属性设置。 14. 语句“Print “5+65=”;5+65”的输出结果为__5+65=70__。 15. 设有下列循环体,要进行4次循环操作,请填空。 x = 1 Do x = x * 2 Print x Loop Until__x<=32__ 16. 下列程序段的执行结果为__2 3 5__。 x = 1 y = 1 For I = 1 To 3 F= x + y x = y y = F Print F; Next I 17. 以下为3个列表框联动的程序,试补充完整。 Private Sub Dir1_Change() File1.Path=Dir1.Path End Sub Private Sub Drive1_Change() Drivel.Path=File1.Path;Dir1.Path=Drivel.Path__[7]__ End Sub 18. 在下列事件过程中则响应该过程的对象名是cmdl,事件过程名是__窗口标题事件__。 Private Sub cmd1_Click() Form1.Caption=“VisualBasic Example” End Sub 19. 当将文本框的SelStar 属性设置为0时,表示选择第开始位置在第一个字符之前,设置为1时表示__[9]__。 20. 以下程序代码实现单击命令按钮Command1 时形成并输出一个主对角线上元素值为“-”,其他元素值为“+”第6*6 阶方阵。 Privas Sub Command1_Click() DimA(6,6) For I = 1 To 6 For J = 1 To 6 If I = J Then Print “-” Else __[10]__ End If Print A (I,J); Next J Print Next I End Sub 21. 字母B的KeyAscii 码值为65,其KeyCode码值___[11]__。 22. Visual Basic 中的控件分为3类:__[12]_、ActioveX 控件和可插入对象。

图形用户界面设计

09次上机图形用户界面设计 1、(1)给程序添加注释,并执行。 建立数制转换对话框。 在左边输入一个十进制整数和2~16之间的数,单击“转换”按钮能在右边得到十进制数所对应的2~16进制字符串,单击“退出”按钮退出对话框。 hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 'Name','数制转换','NumberTitle','off','MenuBar','none'); uicontrol(hf,'Style','Text', 'Units','normalized',... 'Position',[0.05,0.8,0.45,0.1],'Horizontal','center',... 'String','输入框','Back',[0,1,1]); uicontrol(hf,'Style','Text','Position',[0.5,0.8,0.45,0.1],... 'Units','normalized','Horizontal','center',... 'String','输出框','Back',[0,1,1]); uicontrol(hf,'Style','Frame','Position',[0.04,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.6,0.25,0.1],... 'Units','normalized','Horizontal','center',... 'String','十进制数','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.4,0.25,0.1],... 'Units','normalized','Horizontal','center',... 'String','2~16进制','Back',[1,1,0]); he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.4,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); uicontrol(hf,'Style','Frame','Position',[0.52,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); ht=uicontrol(hf,'Style','Text','Position',[0.6,0.5,0.3,0.1],... 'Units','normalized','Horizontal','center','Back',[0,1,0]); COMM=['n=str2num(get(he1,''String''));',... 'b=str2num(get(he2,''String''));',... 'dec=trdec(n,b);','set(ht,''string'',dec);']; uicontrol(hf,'Style','Push','Position',[0.18,0.1,0.2,0.12],... 'String','转换','Units','normalized','Call',COMM); uicontrol(hf,'Style','Push','Position',[0.65,0.1,0.2,0.12],... 'String','退出','Units','normalized','Call','close(hf)'); 2、做一个带按钮的界面,当按动按钮时,在计算机声卡中播放一段音乐。(提示,找一个.wav 文件,简单起见可以在windows目录下找一个文件,将其放在当前工作目录下或搜索路径上,当按动“开始”按钮时调入该文件并播放,发声功能由sound函数完成,具体用法请查阅帮助信息)

java图形用户界面设计

实验名称:图形用户界面设计 一、实验目的 1.掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。 2.掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。 3.掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。 二、实验环境(软件、硬件环境) PC机JDK包 三、实验原理 通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container 类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI 编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。 四、实验容及步骤 实验容:密码验证问题。 编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请

输入正确的信息”,如果尝试失败,用户则退出。 调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、图8-3和图8-4所示,请将程序中的代码1~代码7补充完整。 图8-1 运行结果,输入正确信息图8-2 显示欢迎信息 图8-3 运行结果,输入错误信息图8-4 显示重新输入信息 程序清单: //PasswordVerification.java import javax.swing.*; import java.awt.event.*; import java.awt.*; public class PasswordV erification extends JFrame { JLabel userLabel; JLabel passwordLabel; JTextField userText; JPasswordField passwordText; int count=1;//统计输入信息的次数 public PasswordVerification() { super("请输入信息"); Container c =代码1;//得到容器对象container c.setLayout(new FlowLayout());//设置默认布局 userLabel=代码2//创建用户标签 passwordLabel=代码3;//创建密码标签 userText=代码4//创建用户文本输入框 passwordText=代码5//创建密码输入文本框 passwordText. 代码6(

图形用户界面的设计课案

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

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

一、实验目的 (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) 颜色的使用:颜色是一种有效的强化手段,同时具有美学价

实验九Java图形用户界面设计1

实验九Java图形用户界面设计(1) 一实验目的 (1)掌握Frame与面板的使用 (2)布局管理器的使用 (3)布局管理器的使用 (4)边界风格的使用 (5)掌握简单Java事件的处理 二实验内容 1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。采用FlowLayout布局管理器。 程序: import java.awt.*; import javax.swing.*; public class Con1{ private JFrame f; private JButton b1,b2,b3,b4,b5,b6,b7,b8; public static void main(String args[]){ Con1 c=new Con1(); c.go(); } public void go(){

f=new JFrame("My Frame"); Container con=f.getContentPane(); con.setLayout(new FlowLayout()); con.setBackground(Color.white); con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50)); b1=new JButton("按键1"); b2=new JButton("按键2"); b3=new JButton("按键3"); b4=new JButton("按键4"); b5=new JButton("按键5"); b6=new JButton("按键6"); b7=new JButton("按键7"); b8=new JButton("按键8"); con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4); con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8); f.setSize(1000,1000); f.setVisible(true); } } 结果:

实验6 图形用户界面设计

实验6. 图形用户界面设计 一、 实验目的 1. 掌握图形对象属性的基本操作; 2. 掌握菜单及对话框设计、建立控件对象的方法。 二、 实验环境 1. 计算机 2. matlab7.1 三、 实验说明 1. 正确操作,认真观察; 2. 实验学时:2学时; 3. 学会使用help ; 4. 保存整理实验结果,提交实验报告。 四、 实验内容 1.设计如教材P374 图1所示的菜单,并在此基础上增加选项:可以改变曲线的颜色,可以改变窗口背景颜色。 2.(选做)采用图形用户界面,从键盘输入参数a 、b 、n 的值,考察参数对极坐标曲线)cos(θρn b a +=的影响。 五、 实验程序及结果 1. screen=get(0,'ScreenSize'); W=screen(3);H=screen(4); figure('Color','w','Position',[0.2*H,0.2*H,0.5*W,0.3*H],... 'Name','菜单设计实验','NumberTitle','off','MenuBar','none'); hplot=uimenu(gcf,'Label','&Plot'); %定义plot 菜单项 uimenu(hplot,'Label','Sine Wave','Call',... ['t=-pi:pi/20:pi;','h0=plot(t,sin(t));',...

'set(hlr,''Enable'',''on'');',... 'set(hlg,''Enable'',''on'');',... 'set(hlb,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',... ['t=-pi:pi/20:pi;','h0=plot(t,cos(t));',... 'set(hlr,''Enable'',''on'');',... 'set(hlg,''Enable'',''on'');',... 'set(hlb,''Enable'',''on'');']); uimenu(hplot,'Label','&Exit','Call','close(gcf)'); hc=uimenu(gcf,'Label','&Color'); %定义Color菜单项 hw=uimenu(hc,'Label','&Window Color'); uimenu(hw,'Label','&Red','Call','set(gcf,''Color'',''r'');'); uimenu(hw,'Label','&Green','Call','set(gcf,''Color'',''g'');'); uimenu(hw,'Label','&Blue','Call','set(gcf,''Color'',''b'');'); hl=uimenu(hc,'Label','&Line Color','Separator','on'); hlr=uimenu(hl,'Label','&Red','Call',... 'set(h0,''Color'',''r'');','Enable','off'); hlg=uimenu(hl,'Label','&Green','Call',... 'set(h0,''Color'',''g'');','Enable','off'); hlb=uimenu(hl,'Label','&Blue','Call',... 'set(h0,''Color'',''b'');','Enable','off'); 2. hf=figure('menubar','none','name','图形演示',... 'numbertitle','off'); %定义图形窗口 set(gcf,'unit','normalized','posi',[0.2,0.3,0.55,0.36]); axes('posi',[0.05,0.15,0.55,0.7]); %定义坐标轴 uicontrol(gcf,'style','text','unit','normalized',... %定义静态文本'posi',[0.63,0.85,0.1,0.1],'string','参数 a',... 'horizontal','center'); uicontrol(gcf,'style','text','unit','normalized',...

图形用户界面综合设计

. 图形用户界面综合设计(一) 实验内容 多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图。 代码: 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); p2.add(r2); p3.add(l3); p3.add(c1); p3.add(c2);

图形用户界面设计表格组件示例

程序运行结果截图: 程序清单如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Example10_16 { public static void main(String arts []) { Win win = new Win(); } } class Win extends JFrame implements ActionListener { JTable table; Object a[][]; Object name[] = {"商品名称","单价","销售量","销售额"}; JButton computerRows,computerColums; JTextField inputRowsNumber; int initRows = 1; JPanel pSouth,pNorth; int count = 0,rowsNumber = 0; Win() { computerRows = new JButton("每件商品销售额"); computerColums = new JButton("总销售额"); inputRowsNumber = new JTextField(10); computerRows.addActionListener(this); computerColums.addActionListener(this); inputRowsNumber.addActionListener(this); pSouth = new JPanel();

图形用户界面(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

图形用户界面设计方法

专题八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]);

图形用户界面综合设计

图形用户界面综合设计(一) 实验内容 多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图。 代码: 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);

相关主题
文本预览
相关文档 最新文档