第7章 图形用户界面GUI设计

合集下载

第7章_Java_awt 509修改 - 副本 (2)

第7章_Java_awt 509修改 - 副本 (2)

17
Frame类(框架)
Frame类是Container类的间接子类。当需要一个窗口时, 可使用Frame或其子类创建一个对象。窗口也是一个容器,
可以向窗口添加组件。窗口默认地被系统添加到显示器屏
幕上,因此,不允许将一个窗口添加到另一个容器中。 Frame是顶级窗口,可以显示标题,重置大小。当Frame 被关闭,将产生WindowEvent事件,Frame无法直接监听 键盘输入事件。
文字、图形、图象… 不能像标准组件一样被系统识别和承认,只起装饰作用。 不能响应用户的动作,不具有交互功能。
8
7.2 组件和容器
Java的图形用户界面的最基本组成部分是组件 (Component),组件是一个可以以图形化的方 式显示在屏幕上并能与用户进行交互的对象,例
如一个按钮,一个标签等。
给用户的技术。
目前Java主要提供了两个处理图形用户界面的类库: java.awt和javax.swing。
2
AWT:抽象窗口工具集(Abstract Windows Toolkit), 其外观取决于具体的平台,可用于Java的applet和 application。 java.awt包中包含了一个完整的类集以支持GUI程序的设 计(重量级构件),比如组件、图形等。
7 7
界面元素
容器是用来组织其他界面成分和元素的单元。
可以形成容器的层次,构筑复杂结构 Window(Frame、Applet、Dialog )
组件是图形用户界面的基本单位,它里面不再包含 其他的成分。
GUI组件是图形用户界面标准化的结果。 GUI组件的作用是完成与用户的交互。
用户自定义成分
Canvas Label TextField TextArea Scrollbar

图形用户界面设计GUI

图形用户界面设计GUI
*
第6讲 程序设计
第一章
*
主要内容
M文件 M文本文件 M函数文件 程序设计 顺序结构 选择结构 循环结构 M函数文件
*
*
MATLAB有两种工作方式:
交互式的命令行工作方式
M文件的程序工作方式
*
*
用MATLAB语言编写的程序,称为M文 件,是一个简单的ASCII码文本文件. M文件有两类: 命令文件(Script File) 函数文件(Function File) 新建M文件
*
*
猜数字:guess.m
游戏开始,会随机产生一个0-100之间的 一个整数。由参与者来猜这个数字是几。 每猜一次,系统都会提示“猜大了”,还是 “猜小了”,一共有10次机会,若10次都没猜对,就 Game over!
*
*
函数文件是另一种形式的M文件,每一个函数文 件都定义一个函数。事实上,MATLAB提供的标准 函数大部分都是由函数文件定义的。 例如 inv, abs和 sqrt,利用所给的输入,返回计算所要求的结果。 Y=abs(X) 函数是一个黑箱. 只有函数的输入和输出是可见 的,至于函数中的运算过程都是隐含的。
*
*
switch num case -1 disp(‘child'); case 0 disp(‘the young'); case 1 disp(‘adult'); otherwise disp(‘the old'); end
例:根据变量 num 的值来决定显示的内容。
1
2
*
*
在条件表达式中,通常都是由
*
*
1
2
数名和文件名必须相同。 函数可以有零个或更多个输入参量,也可以有零个或更多个输出参量。当有一个以上输出变量时,输出变量包含在括号内。例如,

第七讲MATLAB图形用户界面(GUI)设计

第七讲MATLAB图形用户界面(GUI)设计

第七讲MATLAB图形⽤户界⾯(GUI)设计第7讲MATLAB图形⽤户界⾯(GUI)设计图形⽤户界⾯(GUI, Graphical User Interface)是由图形控件构建的⽤于⼈与计算机交互信息的界⾯。

在图形⽤户界⾯上,⽤户可以根据界⾯上的提⽰信息完成⾃⼰的⼯作,⽽不需要记忆⼤量繁琐的命令,只需通过⿏标、键盘等便捷的⽅式与计算机交互信息、选择想要运⾏的程序、控制程序的运⾏、实时显⽰图形信息。

MATLAB创建的图形⽤户界⾯对象有三类:⽤户界⾯控件,如按钮、列表框、编辑框等;下拉菜单,如菜单、⼦菜单;内容菜单,如弹出式菜单。

⼀、命令⾏建⽴⽤户界⾯的⽅法1、创建控件命令:uicontrol调⽤格式:1)uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件;2)h=uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件,并返回控件的句柄;3)uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……)功能:在句柄FIG指定的图形⽤户界⾯上,创建控件;4)h=uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……) 功能:在句柄FIG指定的图形⽤户界⾯上,创建控件,并返回控件的句柄。

说明:函数中的PropertyName参数的参数值有:Push buttons(命令按钮)、sliders (滚动条控件)、Radio button(单选按钮)、Check box(复选框)、Edit text (可编程⽂本框)、Static text(静态⽂本框)、Pop_up menus(弹出式菜单)、listbox(列表框)、Toggle button(开关按钮)、Axes(坐标轴)、Panel(⾯板控件)、Button group(按钮组框)、ActiveX control(ActiveX 控件)。

第7章 图形用户界面GUI设计

第7章 图形用户界面GUI设计
属性名称 BackgroundColor 设置控件背景颜色 说明
Enable
FontName FontSize FontWeight ForegroundColor Position String
设置控件的使用状态,“on”表示选中
设置字体 设置字体大小 设置字体粗细 前景色,控件文本颜色,默认为黑色 控件对象的尺寸和位置 取值为字符串矩阵或数组,定义标题或选项内容
5.编写GUI回调函数(Callback)代码 打开“yunsuanqi.m”文件,找到相应的回调函数位置,编写 Callback代码。 (3)为“addition_pushbutton1_Callback”添加代码
(4)为其它3个按钮的回调函数添加代码
只需修改第3行代码,把“+”分别改成“-”、“*”、“/”即可。
5.编写GUI回调函数(Callback)代码 打开“yunsuanqi.m”文件,找到相应的回调函数位置,编写 Callback代码。 (1)为“input1_editText_Callback”添加代码
(2)为“input2_editText_Callback”添加代码
Function input2_editText_Callback(hObject,eventdata,handles) %代码与(1)中的代码完弹出式菜单”实现算法的选择。 在上述界面设计过程中,使用了 4 个按钮分别表示“加法”、 “减法”、“乘法”和“除法”,下面给出使用一个“弹出式菜单” 代替这4种运算的设计。
保存的同时会在当前路径下自动产生两个文件:一个是 “guiHello. fig”文件,另一个是“guiHello.m”文件。其中, “guiHello.fig”文件包含对GUI和GUI组件的完整描述,它也是 打开输出编辑器界面“guiHello.fig”窗口的文件; “guiHello.m”文件包含控制GUI的代码、组件的回调函数。 单击运行按钮,显示结果就是我们所设计的GUI功能界面, 如图所示。

Matlab图形用户界面GUI

Matlab图形用户界面GUI
18
六、对象浏览器
利用对象浏览器,可查看当前所创建的图形对象。从对象设计编辑器界面的工 具栏上选择,或者选择“View”菜单下的“Object Browser”选项,可以打开 对象浏览器。
图 7-9 对象浏览器
19
第二节 GUI向导设计
GUI的向导设计,简单地说,就是利用GUI设计工具集实现多种 控制对象的设计。本节我们将通过实例实践其具体操作过程。 【例7-1】 设计一个带有三个按钮和一个坐标轴的图形用户界面,当用 鼠标点击三个按钮时,分别在坐标轴内画sphere,和membrane三个图 形。peaks 创建控件 前面我们已经建立了带有一个坐标轴和三个按钮控件的图形界面, 这里就不赘述了,如前图7-3所示。 设置控件对齐方式 若控件排列不够整齐,当控件个数较少时,逐个调整尚可,但当控 件个数较多时,逐个调整将变得麻烦,费时,这时我们可以应用几何 位置排列工具对控件的位置进行调整。 首先要将待调整的控件同时选中。选中方法有两种:一是按住 “Ctrl”键,用鼠标左键逐一点击要调整的控件;二是按住鼠标左键 进行拖拽框选,然后点击工具栏上的打开几何位置排列工具窗口,再 点击下面的,使得所选的控件左对齐,点击“确定”后,界面设计编 辑器效果如图7-10所示。
通常状态下,弹出式菜单以矩形的形式出现,矩形中 含有当前选择的选项,在选项右侧有一个向下的箭头来表 明该对象是一个弹出式菜单。当指针处在弹出式菜单的箭 头之上并按下鼠标时,出现所有选项。移动指针到不同的 选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜 单,显示新的选项。
选择一个选项后,弹出式菜单的“Value”属性值为该 选项的序号。
单选按钮一般用于在一组互斥的选项中选择 一项。为了确保互斥性,各单选按钮的回调程序 需要将其它各项的“Value”值设为“0”。

第7章 GUI图形用户界面设计

第7章 GUI图形用户界面设计

Interruptible
取值为on或off
7.3.3 对 文件保存对话框:用于保存文件 颜色设置对话框:用于图形对象颜色的交互设置 字体设置对话框:用于字体属性的交互式设置 打印设置对话框:用于打印页面的交互式设置 打印预览对话框:用于对打印页面进行预览 打印对话框:用于打印参数设置 错误信息对话框:用于提示错误信息 帮助对话框:用于帮助提示信息 输入对话框 列表选择对话框 信息提示对话框 问题提示对话框 进程条 警告信息对话框
第7章 GUI图形用户界面设计
本讲目标
了解GUI设计的基本流程 掌握GUI控件的设计方法 掌握GUI中主要的函数结构
主要内容
1 2 GUI图形用户界面设计 GUI设计方法
3
4 5
用户控件的制作
用户菜单的制作
M文件的函数构成
7.1 GUI设计工具介绍
7.1.1 GUI的启动方法
启动GUI的方式
菜单编辑器(Menu Editor):用来实现菜单的设计和编辑 位置调整工具(Alignment tool):用于调节各控件对象之间的几何关系和位置
对象浏览器(Object Browsers):用于浏览当前GUI应用程序中所有的对象信息
Tab顺序编辑器(Tab Order Editor):用于调整所有控件对象的Tab键的切换顺序 M文件编辑器(M-File Editor):用于编辑GUI应用程序中的函数文件

Type:取值为uicontrol,表明图形对象的类型 UserData:取值为空矩阵,用于保存与该控件对象相关的重要数据和信息; Visible:取值为on或off
(2)控件对象的基本控制属性
BackgroundColor:取值为颜色的预定义字符或RGB数值 Callback:取值为字符串,可以是某个M文件名或一小段MATLAB语句,当用户激活某个控件 对象时,应用程序就运行该属性定义的子程序 Enable:取值为on(默认值),inactive和off

图形用户界面GUI设计

图形用户界面GUI设计

6.3.4 正弦波合成器 【例6-3-4】设计一个正弦波合成器:输入3种正弦 波的频率值,绘制出它们合成后的波形图 。
② String—— 控件外观显示(字符串),在同一 GUI 中各个控件的 String 属性可以相同,同类 型控件的 String 属性默认为:控件名。根据 Push Button 的功能可以给它们设置更有可读性 的 String 属性,如:将图 6-4 的 GUI 中 2 个 Push Button 的 String 属 性 设 置 为 Draw Peaks 和 Draw LOGO。 ③ Fontname——字体(字符串)。 ④ Fontsize——字号(double)。 ⑤ Callback——回调函数(字符串,一般为M文件 名或MATLAB指令)是用户点击Push Button控 件时所执行的操作,它决定了Push Button控件 的功能。
6.2.5 Listbox 列表框 为限定性输入控件,在长方形文本显示区将 所有选项都显示出来,用户点击选择其中的某 一行或几行。 Listbox的主要属性有: ①String——控件外观显示(多行字符串)。 ②Max——最大可选项目数(正整数),默认值为 1 。当 Max≥2 时,用户可用【Ctrl】键加鼠标单 击来选中多项内容。 ③ Value—— 当前选取值(正整数行向量),其元 素对应着被选中项的序号。 Listbox 的输入常用以下指令读取: a = get ( handles.list1, ’Value’ )
本节只介绍几种常用的用户控件及其重要 属性的设置方法,其它控件的用法在 6.3 节的 GUI设计实例中体现。 6.2.1 Push Button按钮 Push Button控件显示为带有文字标识的矩形按 钮,用户使用鼠标点击时会显示出“按下”和 “释放”两种效果。 Push Button控件的属性主要有以下几种: ①Tag——控件标识(字符串),与控件一一对应 的名称,任何程序均可通过此标识来控制该控 件。

图形用户界面设计GUI

图形用户界面设计GUI

2020/12/17
17
编写函数tran(),实现直角坐标(x,y)与极坐 标(r,θ)之间的转换。
tran.m
function [r,theta] = tran(x,y) r =sqrt(x*x+y*y); theta =atan(y/x);
调用 tran函数
>> x=3;y=4; >> [r,t]=tran(x,y)
2020/12/17
9
动画效果
运用视觉暂留的现象,将静态图形制作成动画 两种方法: 1. 将多幅静态图存放到图形缓冲区(帧矩阵)内,
再逐一的播放出来。 getframe, movie 2. 利用图形对象的‘EraseMode’属性,更新运
动部分的图案,保持图形背景图案不变
• 示例
2020/12/17
elseif nargin==3 f=(a*b*c)/2;
end
2020/12/17
命令文件mydemo.m: x=[1:3];y=[1;2;3]; examp(x) examp(x,y') examp(x,y,3)
执行mydemo.m后的输出是: ans = 123 ans = 246 ans = 21
函数调用的一般格式是:
[输出实参表]=函数名(输入实参表)
>>[area, l]=fcircle(1)
2020/12/17
36
3 .函数所传递参数的可调性
MATLAB在函数调用上有一个与众不同之处: 函数所传递参数数目的可调性。凭借这一点,一
个函数可完成多种功能。
linspace(d1,d2,n) linspace(d1,d2)
41
调用格式: disp(输出项) 注:输出项为字符串或矩阵。

MATLAB讲稿 图形用户界面设计(GUI)

MATLAB讲稿 图形用户界面设计(GUI)


使用属性查看器(Using Property Inspector) 布置控件; 定义文本框的属性; 定义坐标轴的属性; 定义按钮的属性; 定义复选框。
4. 菜单编辑器(Menu Editor) 利用菜单编辑器,可以创建、设置、修改下拉式菜单和 快捷菜单。选择 Tools 菜单下的 Menu Editor...子菜单,即 可打开菜单编辑器。
3. 用属性查看器设置控件属性 利用对象属性查看器,可以查看每个对象的属性值,也 可以修改、设置对象的属性值。 ① 打开属性查看器(Opening Property Inspector)
对象属性查看器的打开方式有四种: 从GUI设计窗口工具栏上选 择Property Inspector命令按钮; 选择View菜单下的Property Inspector菜单项; 在命令窗口中输入inspect; 在控件对象上单击鼠标右 键,选择弹出菜单的 Property Inspector菜单项。
菜单编辑器左上角的第四个与第五个按钮用于对选中的 菜单进行左移与右移,第六与第七个按钮用于对选中的菜单 进行上移与下移,最右边的按钮用于删除选中的菜单。
5. 对象浏览器(Object Browsers) 利用对象浏览器,可以查看当前设计阶段的各个句柄图 形对象。可以在对象浏览器中选中一个或多个控件来打开该 控件的属性编辑器。 对象浏览器的打开方式有: ① 从GUI设计窗口的工具栏上选择Object Browser命令按 钮; ② 选择View菜单下的Object Browser子菜单; ③ 在设计区域单击鼠标右键, 选择弹出菜单的 Object Browser。
2. 位置调整工具(Alignment tool) 利用位置调整工具,可以对GUI对象设计区内的多个 对象的位置进行调整。 位置调整工具的打开方式有两种: ① 从GUI设计窗口的工具栏上选择Align Objects命令按钮; ② 选择Tools菜单下的Align Objects...菜 单项,就可以打开对象位置调整器。 对象位置调整器中的第一栏是垂直方向的位置调整, 第二栏是水平方向的位置调整。 在选中多个对象后,可以方便的通过对象位置调整器 调整对象间的对齐方式和距离。

第7章 图形用户界面的设计与实现

第7章 图形用户界面的设计与实现

MyFont对应的是12磅TimesRoman类型的黑体字,
其中指定字型时需要用到Font类的三个常量: Font.PLAIN, Font.BOLD, Font.ITALIC。
若需使用该Font对象,可利用Graphics类的
setFont( )方法:
g. setFont ( MyFont ); 若指定控件的字体效果,如按钮或文本框等, 可使用控件的方法setFont( )。设btn是按钮对象, 则语句: btn.setFont(MyFont);把该按钮上显示的
字体改为12磅的TimesRoman黑体字。
getFont( )方法将返回当前Graphics或组件对 象使用的字体。
例 7-2 AvailableFonts.java
import java.applet.*; import java.awt.*; public class AvailableFont extends Applet { GraphicsEnvironment gl = GraphicsEnvironment.getLocalGraphicsEnvironment( ); String FontNames[] = gl.getAvailableFontFamilyNames( ); public void paint(Graphics g) { Font current,oldFont; oldFont = g.getFont( ); for(int i=0;i<FontNames.length;i++) { current = new Font(FontNames [i],Font.PLAIN,10); g.setFont(current); g.drawString(current.getName( ),10+i%4*120,20+i/4*15); } g.setFont(oldFont); } }

7-8-图形用户界面设计

7-8-图形用户界面设计

● 计算机教研室
(4)JTextArea类
• JTextArea(文本区域)类主要用来显示多行文本 。 • JTextArea类常用的构造方法和基本方法有: • JTextArea()创建一个默认大小的文本区 • JTextArea(int row,int columns)创建一 个指定行数和列数的文本区 • void setText(String str)设定文本区内容 • String getText()获得文本区内容
● 计算机教研室
7.1
Java的GUI类及应用
• GUI由四部分组成:组件、布局管理、事件的收
发及处理。组件和布局管理主要由Java提供的类
完成,事件的收发及处理部分根据事件的要求由 程序员编写。 • 一、组件和容器类 • 二、布局管理器类
中南民族大学电子信息工程学院
● 计算机教研室
一、组件和容器类
中南民族大学电子信息工程学院
● 计算机教研室
1.常用的swing组件
• • • • • • • • (1)JButton类 (2)JTextField类 (3)JPasswordField类 (4)JTextArea类 (5)JLabel类 (6)JList类 (7)JCheckBox类 (8)JRadioButton类
JTable JSeparator
JMenu
JTree
JProgressBar JRootPane JSplitPane
中南民族大学电子信息工程学院
● 计算机教研室
顶层容器
JFrame, JApplet, JDialog, Jwindow
作用:创建初始界面,为其他组件提供一个容器, 以构建满足用户需求的操作界面 JFrame:是一个带有标题行和控制按钮(最小化、 恢复/最小化、关闭)的独立窗口,用来创建应用程 序application,最常用 JApplet:用来创建小应用程序applet,它被包 含在浏览器窗口中 JDialog:用来创建对话框,常用 JWindow:是一个不带有标题行和控制按钮的窗口, 不常用

第七章 图形用户界面GUI制作

第七章  图形用户界面GUI制作

elseif button_state == get(h,'Min') % toggle button is not pressed end a(:,:,1) = rand(16,128);
为按纽加图像
a(:,:,2) = rand(16,128); a(:,:,3) = rand(16,128); set(h,'CData',a)
% proceed with callback...
List Box 的编程,从 List Box 中获得所选的项目 (本例有2个项目被选中)
function [var1,var2] = get_var_names(handles) % Returns the names of the two variables to plot list_entries = get(handles.listbox1,'String'); index_selected = get(handles.listbox1,'Value'); if length(index_selected) ~= 2 errordlg('You must select two variables','Incorrect Selection','modal') else var1 = list_entries{index_selected(1)}; var2 = list_entries{index_selected(2)};
Check Box 的编程
Radio Button 选还是没有被选由 Value 属性值来确定
Value = Max, 被选. Value = Min, 没有被选

Java程序设计教程 第7章-Java GUI编程技术

Java程序设计教程 第7章-Java GUI编程技术
Java程序设计
7.2.1 java.awt简介
7.2 java.awt编程技术
Java程序设计
7.2 java.awt编程技术
7.2.2 Component类
❖Component类是java.awt包中最核心、最基本的类。Component类是构成Java图形用 户界面的基础,大部分组件都是由该类派生出来的。Component类是一个抽象类,其 中定义了组件所具有的一般功能,可在屏幕上显示,并可与用户进行交互,其子类如 按钮、文本框等。 ❖Component类定义的方法如下: ❖基本的绘画支持:paint(), repaint(), update()等; ❖字体和颜色等外形控制:setFont(), SetForeground()等; ❖大小和位置控制:SetSize(), SetLocation()等; ❖图像处理:实现接口ImageObserver; ❖组件状态控制(SetEnable, isEnable, isVisible, isValid等。
Java程序设计
7.2 java.awt编程技术
7.2.1 java.awt简介
❖java.awt包提供很多类和接口,包括: ❖基本组件(Component):构成GUI界面的基本元素,具有坐标位置、尺寸、字体、颜 色等属性,能获得焦点、可被操作、可响应事件等。 ❖容器类组件(Container):用来盛放组件的组件等。 ❖2D图形绘制组件(Graphics):提供在组件上绘制图形的方法。 ❖布局管理器(LayoutManager):用来安排容器中组件的位置和大小。 ❖事件处理模型:用来响应图形界面组件所触发的事件。
Java程序设计
7.1 GUI编程的Java实现
7.1.2 swing

图像用户界面(GUI)设计

图像用户界面(GUI)设计

带模式问话对话框的GUI模板 (Model Question Dialog)
§7.2 GUI设计模板及设计工具
§7.2 GUI设计模板及设计工具
对象设计编辑器 (Layout Editor) 菜单编辑器 (Menu Editor) 对象属性查看器 (Property Inspector) 在图形窗口内创建、安 排各种对象
下周做实验 10-414
第七章 图像用户界面(GUI)设计
§7.1 图像对象及其句柄
§7.2 GUI设计模板及设计工具
§7.3 菜单属性
§7.4 控件 §7.5 对话框 §7.6 鼠标操作 §7.7 GUI设计实例
第七章 图像用户界面(GUI)设计
用户界面控制对象 (uicontrol) 基 本 图 形 用 户 界 面 建立按钮、列表框、编 辑框等

button=quesdlg(‘qstring’,’title’,’str1’,’str2’,’str3’, ’default’)
一般对话框
变量输入对话框(inputdlg)

answer= inputdlg(prompt) Promt为提示输入信息字符串,返回值answer为用户输入内容
格式为元胞数组

打印对话框(printdlg)

公共对话框
文件打开对话框
uigetfile uigetfile(‘FilterSpec’)文件类型
Uigetfile(‘FilterSpec’,’DialogTitle’)
文件类型 +
对话框标题
Uigetfile(‘FilterSpec’,’DialogTitle’,x,y)
Selection 选择的列表项的索引号,ok用户是否按了列表框的ok按钮

第7章 图形用户界面GUI设计分析

第7章 图形用户界面GUI设计分析

Tag
ห้องสมุดไป่ตู้
取值为字符串,定义控件的标识值,任何程序都 通过这个标识值控制该控件
7.1.4 界面的存储及运行
单击输出编辑器窗口工具栏中的保存按钮,或者选择菜单 “File”→“Save as”命令,弹出“Save as”对话框,输入用户 定义的文件名,如输入guiHello。单击“保存”按钮,这时输出 编辑器界面变成名称为“guiHello.fig”的窗口,如图所示。
1.GUIDE的启动
选择MATLAB主界面菜单“File”→“New”→“GUI”命令,或点击工具 栏GUIDE图标,或直接在MATLAB命令窗口输入guide,都可弹出对话框 “GUIDE Quick Start”界面,如下图所示。
2.GUIDE的界面组成
“GUIDE Quick Start” 对话框包括两个选项卡:“ Create New GUI” (创建新的图形用户界面)和“Open Existing GUI”(打开已存在的图形用 户界面)。其中“Create New GUI”提供四种基本类型的GUI模板: Blank GUI(Default):空白模板(缺省)。 GUI with Uicontrols:带有控件对象的GUI模板。 GUI with Axes and Menu:带有坐标轴与菜单的GUI模板。 Modal Question Dialog:问答式对话框的GUI模板。 通过这些模板可快速创建GUI。选定一种模板以后,它的预览效果显示在 右边的面板中。譬如选中“GUI with Uicontrols”,显示在面板中的预览效 果如下图所示。
保存的同时会在当前路径下自动产生两个文件:一个是 “guiHello. fig”文件,另一个是“guiHello.m”文件。其中, “guiHello.fig”文件包含对GUI和GUI组件的完整描述,它也是 打开输出编辑器界面“guiHello.fig”窗口的文件; “guiHello.m”文件包含控制GUI的代码、组件的回调函数。 单击运行按钮,显示结果就是我们所设计的GUI功能界面, 如图所示。

第七章图形用户界面(GUI)设计

第七章图形用户界面(GUI)设计
JLabel("Passwd2:"); JFrame fr=new JFrame(); JPanel pa=new JPanel( ); JPasswordField pasf=new JPasswordField(10); public static void main(String as[]) { screen_1 obj=new screen_1(); obj.did(); } void did() { pa.add(la1); pa.add(te1); pa.add(la2);pa.add(te2); pa.add(la3);
⑤确定各下拉菜单中的内容——菜单项 JMenuItem MI_Obj=new JMenuItem(“菜单项名”);
……
⑥将菜单项添加到相应的菜单下 MenuObj.add(MI_Obj);
4. 快捷菜单类JPopupMenu
(1) 特点: ①依附于一个组件,而不是添加在菜单栏 JMenuBar中。 ② 不随窗口的出现而显示,完全由用户单击鼠标 右键时弹出 ③是javax.swing.JComponent的子类。
JButton but2=new JButton(“save”);
常用方法:String getText(); setText(); setEnabled(bo_v); setSize(n1,n2); setLocation(x,y); //有时无效
2) 标签类(JLabel)——静态文本组件 P151
JList( ); JList(str_obj[]); ② 常用方法 getSelectedIndices( );
getSelectedValues();
5) 组合框 JComboBox int getSelectedIndex( );返回被选中项目的序号 Object getItemAt(N); .. Object getSelectedItem( ); 返回被选中的项目
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.编写GUI回调函数(Callback)代码 打开“yunsuanqi.m”文件,找到相应的回调函数位置,编写 Callback代码。 (1)为“input1_editText_Callback”添加代码
(2)为“input2_editText_Callback”添加代码
Function input2_editText_Callback(hObject,eventdata,handles) %代码与(1)中的代码完全相同,即可获取第二个数
function pushbutton1_ ButtonDownFcn(hObject,eventdata,handles)
%
function pushbutton1_ KeyPressFcn(hObject,eventdata,handles)
%
7.2 GUI的创建
创建GUI主要包括设计 GUI(界面布局)、控件属性设置、回调 函数编写和保存运行等步骤。下面以简单四则运算器界面为例,说明 用GUIDE创建GUI的全过程。
7.1.5 回调函数
实现GUI的基本机制是对控件的Callback(回调函数)属性编程, 当在设计界面上选中一个控件后,选择菜单栏中的“View”→“View Callbacks”命令,或单击鼠标右键,从弹出的快捷菜单选择“View Callbacks”,就会出现“Callback”、“CreateFcn”、 “DeleteFcn”、“ButtonDownFcn”和“KeyPressFcn”子菜单, 这些选项都是用来编写回调函数的,其作用如下所示 。 CallBack:为一般回调函数,因不同的控件而不同。例如,按钮 被按下时发生、下拉框改变值时发生、sliderbar 拖动时发生等。 大 多数MATLAB程序代码都在这里编写,可实现诸多功能。 CreateFcn:在控件对象创建时发生(一般为初始化样式,颜色、 初始值等)。 DeleteFcn:在控件对象被清除时发生。 ButtonDownFcn:鼠标单击事件的回调函数。 KeyPressFcn:按键事件的回调函数。
Tag
取值为字符串,定义控件的标识值,任何程序都 通过这个标识值控制该控件
7.1.4 界面的存储及运行
单击输出编辑器窗口工具栏中的保存按钮,或者选择菜单 “File”→“Save as”命令,弹出“Save as”对话框,输入用户 定义的文件名,如输入guiHello。单击“保存”按钮,这时输出 编辑器界面变成名称为“guiHello.fig”的窗口,如图所示。
Static Text:静态文本框,仅用于显示说明文字
Pop-up Menu:弹出式列表,让用户从一列菜单项中选择一项 Axes:坐标轴,用于在GUI中添加图形或图像
7.1.3 控件功能与属性
2. 控件属性
每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果, 即属性。控件属性包括属性名和属性值,其名称和说明如表所示。
1.GUIDE的启动
选择MATLAB主界面菜单“File”→“New”→“GUI”命令,或点击工具 栏GUIDE图标,或直接在MATLAB命令窗口输入guide,都可弹出对话框 “GUIDE Quick Start”界面,如下图所示。
2.GUIDE的界面组成
“GUIDE Quick Start” 对话框包括两个选项卡:“ Create New GUI” (创建新的图形用户界面)和“Open Existing GUI”(打开已存在的图形用 户界面)。其中“Create New GUI”提供四种基本类型的GUI模板: Blank GUI(Default):空白模板(缺省)。 GUI with Uicontrols:带有控件对象的GUI模板。 GUI with Axes and Menu:带有坐标轴与菜单的GUI模板。 Modal Question Dialog:问答式对话框的GUI模板。 通过这些模板可快速创建GUI。选定一种模板以后,它的预览效果显示在 右边的面板中。譬如选中“GUI with Uicontrols”,显示在面板中的预览效 果如下图所示。
5.编写GUI回调函数(Callback)代码 打开“yunsuanqi.m”文件,找到相应的回调函数位置,编写 Callback代码。 (3)为“addition_pushbutton1_Callback”添加代码
(4)为其它3个按钮的回调函数添加代码
只需修改第3行代码,把“+”分别改成“-”、“*”、“/”即可。
7.1.2 输出编辑器
在“GUIDE Quick Start”对话框中,点击“Create New GUI” 选项卡,选择“Blank GUI”选项,打开的就是带有空白GUI模板的 “输出编辑器”窗口,如图所示。
7.1.3 控件功能与属性
1.控件与组件的功能 输出编辑器中的控件大致可分为两种:一种为动作控件,鼠标 点击这些控件时会产生相应的响应;另一种为静态控件,是一种不产 生响应的控件,如文本框等。 Push Button:触控按钮,执行某种预定的功能或操作 Radio Button :单选按钮,一组中只能选一个 Check Box :复选框,一组中可选多个 Edit Text:文本编辑器,可使用键盘输入字符串,也可编辑
本章介绍图形用户界面的环境,以及GUI设计、用IDE界面环境
MATLAB中的图形用户界面开发环境 GUIDE(GUI Developer)提供了多种设计GUI的模板,并自动生成M文件框架, 用户可以在该框架内编写自己的函数代码,实现所需要的功能。
7.1.1 GUIDE的启动及界面组成
6.运行结果产生GUI功能界面 单击文件“yunsuanqir.m”工具栏的运行按钮,或单击名称为 “yunsuanqi.fig”窗口中工具栏的运行按钮,运行结果产生具有操作 功能的GU I界面,如图所示。
若在图中第一个编辑文本框中输入“450”,在第二个编辑文本 框 中 输 入 “ 567 ” , 单 击 “ 加 法 ” 按 钮 , 则 立 即 显 示 出 结 果 “1017”,如图所示。 至此完成了用 GUIDE 创建 GUI 的整个过程。
保存的同时会在当前路径下自动产生两个文件:一个是 “guiHello. fig”文件,另一个是“guiHello.m”文件。其中, “guiHello.fig”文件包含对GUI和GUI组件的完整描述,它也是 打开输出编辑器界面“guiHello.fig”窗口的文件; “guiHello.m”文件包含控制GUI的代码、组件的回调函数。 单击运行按钮,显示结果就是我们所设计的GUI功能界面, 如图所示。
1.打开输出编辑器
单击MATLAB主界面工具栏GUIDE图标,选择空模板“Blank GUI(Default)”选项,单击“OK”,即可打开GUIDE的输出编辑器 设计界面“untitled.fig”。 2.界面布局
添加需要的控件到输出编辑器“untitled.fig”窗口中的合适位 置,对多个同样的控件摆放整齐、设置间距,可以单击工具栏中的排 列“Align Objects”按钮,进行各种方式处理,并可用鼠标选中右 下角的版面大小控制句柄来缩放版面。
7.1.5 回调函数
回调函数(CallBack)包含在由GUIDE形成的M文件中,GUIDE 会自动生成相应的函数体、函数名。名称一般是控件“Tag+Call” 类型名,参数有3个(hObject、eventdata、handles),其中, hObject为发生事件的源控件,eventdata为事件数据结构(保留参 数),handles为传入的对象句柄(结构体类型)。具体格式如下: function pushbutton1_Callback(hObject,eventdata,handles) % function edit1_ CreateFcn(hObject,eventdata,handles) % function text1_ DeleteFcn(hObject,eventdata,handles) %
3.编辑控件的属性 利用属性查看器(Property Inspector)设置各个控件的参数。 (3)修改“Push Button”按钮的属性 第一个按钮:将“String”设置为“加法”,“Fontsize”设置为 15 , “Tag”设置为“addition_pushbutton1”; 第二个按钮:将“String”设置为“减法”,“Fontsize”设置为 15 , “Tag”设置为“subtraction_pushbutton2” ; 第三个按钮:将“String”设置为“乘法”,“Fontsize”设置为 15 , “Tag”设置为“multiplication_pushbutton3” ;
属性名称 BackgroundColor 设置控件背景颜色 说明
Enable
FontName FontSize FontWeight ForegroundColor Position String
设置控件的使用状态,“on”表示选中
设置字体 设置字体大小 设置字体粗细 前景色,控件文本颜色,默认为黑色 控件对象的尺寸和位置 取值为字符串矩阵或数组,定义标题或选项内容
第四个按钮:将“String”设置为“除法”,“Fontsize”设置为 15 , “Tag”设置为“division_pushbutton4” 。
上述属性修改完后,结果如图所示。
4.存储GUIDE输出编辑器界面
单击菜单栏中的保存按钮,在“Save as”对话框中输入文件名 “yunsuanqi”,单击“保存”按钮,则图的界面最上角的名称变为 “yunsuanqi.fig”。此时在当前目录下,MATLAB将自动生成 “yunsuanqi.m”和“yunsuanqi.fig”两个文件。
第7章 图形用户界面(GUI)设计
7.1 GUIDE界面环境
7.2 GUI的创建
7.3 GUI菜单设计 7.4 对话框设计 7.5 综合案例
相关文档
最新文档