第8章 控件及GUI程序设计

第8章 控件及GUI程序设计
第8章 控件及GUI程序设计

第8章控件及GUI程序设计

主要内容与学习目标

8.1 滚动条

8.2 Windows窗体事件及事件处理程序

8.3 复选框和单选按钮

8.7 PictureBox图片框控件

8.8 组合框控件和文本框控件

8.9 列表框

8.10 带复选框的列表框

主要内容与学习目标

●主要内容:

–(1) 滚动条、用户定义的颜色。

–(2) Windows窗体事件及事件处理程序。

–(3) 创建具有默认名称的默认事件处理程序、将多个事件绑定到单个事件处理程序。

–(4) 使用事件处理程序中引发事件的对象参数。

–(5) 复选框和单选按钮。

–(6) Connection和Command对象。

–(7) 创建到数据库的连接、打开到数据库的连接、关闭到数据库的连接。

–(8) 创建sqlCommand对象、使用sqlCommand对象执行SQL命令。

–(9) 创建三层应用程序。

–(10)TabControl控件。

–(11)SqlDataReader。

–(12)图片框控件。

–(13)组合框和文本框。

–(14)列表框。

–(15)带复选框的列表框。

●学习目标:

–(1) 创建图形用户界面。

–(2) 创建并操作按钮、滚动条、文本框和标签。

–(3) 使用列表框和组合框显示列表。

–(4) 理解、使用并创建事件。

–(5) 使用Connection、Command和SqlDataReader对象。

–(6) 创建三层应用程序。

8.1 滚动条

可使用滚动条控件为用户输入数值数据,该数值数据可以在控件中显示,也可以在代码中使用。或为自身不提供滚动条的容器(如PictureBox)实现滚动。

任务8.1:调色板

问题描述:创建一调色板程序,说明怎样使用滚动条为用户输入数值数据,该数值数据在代码中使用以调节颜色和透明度,并将数据值显示在控件中。

调色板程序的功能如下。

(1)当程序被启动时,水平滚动条的滑块处于滚动条的最右端, 垂直滚动条

的滑块处于滚动条的最下端,标签中显示每一滚动条的值(如图8.1所示)。

(2)通过单击“滚动条”的右箭头图标或左箭头图标来改变滚动条滑块的位置,标签的正文能反映这个变化。例如,当水平滚动条的滑块在左端时,标签显示值为0;当滑块在右端时,标签显示值为255。水平滚动条的滑块位置改变时,标签的背景颜色发生改变,垂直滚动条的滑块滚动时,标签的透明度发生改变。

解决方案:

(1)创建名为Mycolor的【Windows应用程序】项目。

(2)添加控件并设置属性。选择新建窗体,按照如图8.1所示的界面布局从“工具箱”的【Windows窗体】选项卡中,向新建的窗体添加控件,用鼠标将控件拖放到适当位置。根据表8.1设置控件的属性。

(3)编写应用程序的代码。

(4)将vsbA、hsbG和hsbB的Scroll事件绑定到事件处理程序ScrollBar_Scroll。

(5)测试应用程序。

8.1.1 滚动条常用属性

8.1.2 滚动条常用事件

8.1.3 用户定义的颜色

图8.1 调色板程序

表8.1 属性表

8.1.1 滚动条常用属性

● 1. Minimum

● 2. Maximum

–注意:滚动条的最大值不能通过运行时的用户交互来达

到。用户交互可以达到的最大值等于Maximum。

● 3. Value

● 4. LargeChange

● 5. SmallChange

8.1.2 滚动条常用事件

●Scroll事件为滚动条常用事件。

●在通过鼠标或键盘操作移动滚动框后发生Scroll事件。该事件

可由多种操作产生,例如单击滚动条箭头、按向上箭头或向下箭头、或

者拖动滚动框。

●一般来说,在设计阶段设置滚动条的Max、Min、LargeChange

和SmallChange属性,而在程序运行阶段通过Scroll事件过程获取Value 属性赋值的变化,监视用户对滚动条的操作。

8.1.3 用户定义的颜色

●可以使用Color.FromArgb方法创建用户定义的颜色。此方法使您可以指

定一种颜色中红色、蓝色和绿色各部分的强度。

●此代码生成一种用户定义的颜色,该颜色大致为略带蓝色的灰色。每个

数字均必须是从0到255之间的一个整数,其中0表示没有该颜色,而255则为所指定颜色的完整饱和度。因此,Color.FromArgb(0, 0, 0)呈现为黑色,而Color.FromArgb(255, 255, 255)呈现为白色。

●使用此方法还可以指定Alpha部分。这时Color.FromArgb方法还要增加

一个参数Alpha,Alpha表示所呈现图形后面的对象的透明度。如果需要指定Alpha部分,则它应为Color.FromArgb方法中4个参数的第一个参数,并且需要从0到255之间的一个整数。

●FromArgb(int alpha, int red, int green, int blue)方法从4个ARGB

分量(alpha、红色、绿色和蓝色)值创建Color结构。其中参数如下。

–alpha:透明度分量。有效值为从0到255。

–red:红色分量。有效值为从0到255。

–green:绿色分量。有效值为从0到255。

–blue:蓝色分量。有效值为从0到255。

●此方法的返回值为创建的Color结构。

●在以上调色板程序中,用垂直滚动条vsbA指定alpha参数的值,水平滚

动条hsbR指定red参数的值,水平滚动条hsbG指定green参数的值,水平滚动条hsbB指定blue参数的值。具体代码如下:

–alpha = vsbA.Value;

–red = hsbR.Value;

–green = hsbG.Value;

–blue = hsbB.Value;

●由于Color.FromArgb方法中每个参数的有效值为从0到255。因此每个

滚动条的Minimum和Maximum属性分别设置为0和255,它们确定了用户可以选择的值范围。

8.2 Windows窗体事件及事件处理程序

●事件是可以通过代码响应或“处理”的操作。事件可由用户操作(如单击

鼠标或按某个键)、程序代码生成或系统生成。

●事件处理程序是绑定到事件的方法。当引发事件时,执行事件处理程序

内的代码。每个事件处理程序提供两个参数。下面的例子显示button控件的Click事件的事件处理程序button1_Click:

–private void button1_Click(object sender, System.EventArgs

e)

–{

–}

●第一个参数sender提供对引发事件的对象的引用。第二个参数e是要处

理的事件对象,通过引用事件对象的属性(有时引用其方法)可获得一些信息,如单击鼠标事件中鼠标的位置。

●在前面的示例中,事件处理程序不需要使用由事件源对象和事件数据对

象提供的信息。但在很多情况下,如果事件处理程序需要使用由事件源对象和事件数据对象提供的信息,这时事件处理程序就需要使用事件处理程序中的两个参数。

●任务8.2:计算器

–问题描述:创建一计算器应用程序(如图8.2所示),该计算器能实现加、减、乘、除、倒数等功能。

8.2.1 Button按钮的常用属性

8.2.2 Button按钮的常用事件

图8.2 计算器

8.2.1 Button按钮的常用属性

● 1. Text

–注意:如果具有焦点的控件接受并处理按Enter键的操作,则Button不处理此操作。例如,如果某个多行的TextBox控件或其

他按钮具有焦点,则该控件将处理按Enter键的操作,而不是“接

受”按钮处理此操作。

● 2. FlatStyle

8.2.2 Button按钮的常用事件

●Click事件:用户单击按钮时发生该事件。

8.3 复选框和单选按钮

●复选框和单选按钮是两种状态按钮,它们可为用户提供“是/否”或“真

/假”选择。但复选框和单选按钮不同,用户可以从成组使用的复选框中选择一项或多项,但在成组使用的单选按钮中一次只能选择一个单选按钮。单选按钮常用于互相排斥的选项。

●任务8.3:Font程序

–问题描述:创建如图8.3所示的字体应用程序,当单击复选框时,文本框的文字显示不同的字体,当单击单选按钮时,文本框的文

字显示不同的颜色。

–解决方案:

●(1)创建项目和窗体。

–①创建名为font的Windows应用程序。

–②按图8.3所示的界面向窗体上添加控件。按表

8.3设置属性。

●(2)向窗体类中添加字段和方法。

●(3)编写复选框的CheckedChanged事件处理程序。

●(4)编写单选按钮的CheckedChanged事件处理程序。

8.3.1 如何设置字体

8.3.2 复选框的常用属性

8.3.3 复选框的常用事件

8.3.4 单选按钮的常用属性

8.3.5 单选按钮的常用事件

图8.3 字体程序

表8.3 属性表

8.3.1 如何设置字体

●Font类定义特定的文本格式,包括字体、字号和字形属性。使用Font类

创建Font类的对象。

– 1. 创建Font类的对象

– 2. Font类的常用属性

8.3.2 复选框的常用属性

● 1. Checked

● 2. CheckState

–读取或设置复选框的状态。其值为CheckState枚举值之一。表8.4列出了CheckState枚举值及为该值时复选框控件对应于不同

Appearance属性的外观。

● 4. Appearance

表8.4 CheckState枚举值及复选框控件的外观

8.3.3 复选框的常用事件

● 1. Click

● 2. CheckedChanged

● 3. CheckStateChanged

8.3.4 单选按钮的常用属性

● 1. Checked

–使用Checked属性可以获取或设置单选按钮的状态。若选中了单选按钮,则属性值为true;反之,则为false。

● 2. Text

–单选按钮右侧显示的文本。

8.3.5 单选按钮的常用事件

● 1. Click

–在单击单选按钮控件时发生。

● 2. CheckedChanged

–每次选中或取消选中单选按钮的时候发生。当用户双击设计器中的这个控件时,该事件为默认事件。

8.7 PictureBox图片框控件

图10.11 字体程序

8.7.1 PictureBox的常用属性

● 2. BorderStyle

–指示控件的边框样式。属性值为BorderStyle枚举值之一。

BorderStyle枚举值见表8.8。

–BorderStyle属性默认值为None。

表8.8 BorderStyle枚举值

8.7.2 PictureBox的常用事件

● 1. Click

–用户单击控件时发生该事件。

● 2. DoubleClick

–用户双击控件时发生该事件。

8.7.3 Image.FromFile方法

●Image.FromFile(string filename)方法从指定的文件创建Image对象。

●其中filename为字符串,它包含要从中创建 Image对象的文件的名称。

此方法的返回值为创建的Image对象。

8.8 组合框控件和文本框控件

●Windows窗体ComboBox控件用于在下拉组合框中显示数据。默认情况下,

ComboBox控件分两个部分显示:顶部是一个允许用户输入列表项的文本框。第二部分是一个列表框,它显示一个项列表,用户可从中选择一项。

●SelectedIndex属性返回一个整数值,该值与选定的列表项相对应。通过

在代码中更改 SelectedIndex值,可以编程方式更改选定项;列表中的相应项将出现在组合框的文本框部分。如果未选定任何项,则SelectedIndex值为-1。如果选定列表中的第一项,则SelectedIndex 值为0。SelectedItem属性与SelectedIndex类似,但它返回项本身,通常是一个字符串值。Items.Count属性反映列表中的项数,并且Items.Count属性的值总比SelectedIndex的最大可能值大1,因为SelectedIndex是从零开始的。

●若要在ListBox控件中添加或删除项,可使用Items.Add、Items.Insert、

Items.Clear 或 Items.Remove方法。或者,可以在设计器中使用Items 属性向列表添加项。

●TextBox控件可用于接受密码,可以使用PasswordChar属性屏蔽在控件

的单行版本中输入的字符。也可以通过将ReadOnly属性设置为true来限制TextBox控件中的所有数据项输入。

●任务8.9:登录程序

–问题描述:创建一个Login程序(如图8.12所示),让用户选择登录名称,输入密码,在【确定】命令按钮的Click事件中,调

用事件处理程序,验证用户输入的密码(密码为用户名称加用户的

出生日期)。Login程序还提供了一个用户的图片和文本描述。如

果验证用户输入的密码正确,则进入雇员管理窗体。

8.8.1 ComboBox的常用属性和方法

8.8.2 列表框控件的常用事件

8.8.3 TextBox的常用属性

8.8.4 TextBox的常用事件

图8.12 登录程序

8.8.1 ComboBox的常用属性和方法

● 1. Items

● 2. SelectedIndex

● 3. SelectedItem

● 4. Text

● 5. DropDownStyle

–该属性确定要显示的组合框的样式,也就是确定用户能否在文本部分中输入新值以及列表部分是否总显示。其枚举值如表8.10所

示。

● 6. ComboBox.Items.Add

●7. ComboBox.Items.Insert

●8. ComboBox.Items.Remove

●9. ComboBox.Items.RemoveAt

●10. ComboBox.Items.Clear

表8.10 DropDownStyle枚举值

8.8.2 列表框控件的常用事件

●SelectedIndexChanged

●选定的索引发生变化时会发生该事件。

8.8.3 TextBox的常用属性

● 1. Text

● 2. PasswordChar

● 3. MaxLength

● 4. ReadOnly

● 5. ScrollBars

–获取或设置哪些滚动条应出现在多行TextBox控件中。属性值为ScrollBars枚举值之一(见表8.11),以指示多行TextBox控件在

显示时没有滚动条、有水平滚动条、有垂直滚动条还是两种滚动

条都有。默认值为ScrollBars.None。

● 6. Multiline

●7. TextBoxBase.WordWrap

●8. SelectionStart

●9. SelectionLength

●10. TextAlign

–获取或设置TextBox控件中文本的对齐方式。属性值为HorizontalAlignment枚举值之一(见表8.12),以指定控件中文

本的对齐方式。默认值为HorizontalAlignment.Left。

●11. AcceptsReturn

表8.11 ScrollBars枚举值

表8.12 HorizontalAlignment枚举

8.8.4 TextBox的常用事件

●TextChanged

●文本框中的文本发生变化时(用户添加或删除字符)发生该事件。

8.9 列表框

●ListBox控件显示一个项列表,用户可以查看并选择列表中的一项或多

项。如果项总数超出可以显示的项数,则自动向ListBox控件添加滚动条。当MultiColumn属性设置为true时,列表框以多列形式显示项,并且会出现一个水平滚动条。当MultiColumn属性设置为false时,列表框以单列形式显示项,并且会出现一个垂直滚动条。当ScrollAlwaysVisible设置为true时,无论项数多少都将显示滚动条。

●SelectedItem属性类似于SelectedIndex,但它返回项本身,通常是字

符串值。Items.Count属性反映列表中的项数,并且Items.Count属性的值总比SelectedIndex的最大可能值大1,因为SelectedIndex是从零开始的。

●若要在ListBox控件中添加或删除项,可使用Items.Add、Items.Insert、

Items.Clear或Items.Remove方法。或者,可以在设计时使用Items属性向列表添加项。

●CheckedListBox控件对ListBox控件进行了扩展。该控件在列表中的项

旁边提供了一个复选框,这样,用户可同时勾选多个列表项。

●任务8.10:产品信息管理

–主要知识点:①向Windows窗体中的ListBox控件添加项。②确定Windows窗体ListBox控件中的选定项。③在Windows窗体的

ListBox控件中选择项。④在组合框中查找项。⑤使用SqlCommand

对象的ExecuteNonQuery方法执行SELECT、INSERT、UPDATE、DELETE

SQL命令来完成查询、添加、修改或删除数据操作。

–问题描述:对SQL Server中的Northwind数据库创建一数据库应用程序,该应用程序能够实现浏览每一产品的相关信息,能对

产品的相关信息进行修改、查询,能够添加、删除产品(如图8.13

所示)。

8.9.1 列表框控件的常用属性

8.9.2 列表框控件的常用方法

8.9.3 列表框控件的常用事件

图8.13 产品信息管理

8.9.1 列表框控件的常用属性

● 1. Items

● 2. SelectedIndex

● 3. SelectedItem

● 4. SelectedIndices

● 5. SelectedItems

● 6. SelectionMode

●7. Sorted

8.9.2 列表框控件的常用方法

● 1. ListBox.Items.Add

● 2. ListBox.Items.Insert

● 3. ListBox.Items.Remove

● 4. ListBox.Items.RemoveAt

● 5. ListBox.Items.Clear

● 6. SetSelected

●7. GetSelected

8.9.3 列表框控件的常用事件

●SelectedIndexChanged:选定的索引发生变化时会发生该事件。

8.10 带复选框的列表框

●CheckedListBox控件从ListBox类派生而来。它几乎能完成列表框可以

完成的所有任务,并且还可以在列表中的项旁边显示复选标记。两种控件间的其他差异在于,复选列表框只能有一项选定或没有任何选定。注意选定的项在窗体上突出显示,与已选中的项不同。

●任务8.11:CheckedListBoxTest程序

–主要知识点:①使用ItemCheck事件处理程序。②ItemCheckEventArgs类型的参数。③使用带复选列表框的

CheckOnClick属性。④获取复选列表框中的指定项的复选状态。

–问题描述:创建一CheckedListBoxTest程序(如图8.14所示),演示复选列表框控件一些特有的基本操作。

–解决方案:

●(1)创建项目和窗体。

–①启动 Visual Studio。

–②创建名为CheckedListBoxTest的Windows应用

程序。

–③按图8.14所示的界面向窗体上添加控件。

–④按表8.14设置属性。

●(2)编写复选列表框中选择选项的ItemCheck事件处理程

序。

●(3)编写chkOnClick复选框控件的CheckedChanged事件处

理程序。

●(4)编写【添加】按钮的CheckedChanged事件处理程序。

●(5)编写文本框控件的TextChanged事件处理程序。

8.10.1 复选列表框控件的常用属性

8.10.2 复选列表框控件的常用方法和事件

图8.14 CheckedListBoxTest程序

表8.14 属性表

8.10.1 复选列表框控件的常用属性

● 1. CheckedItems

● 2. CheckedIndices

● 3. CheckOnClick

● 4. SelectionMode

8.10.2 复选列表框控件的常用方法和事件

● 1. GetItemChecked(index)方法

–该方法取项的索引为参数,如果该项被选中,则返回值为true,否则为false。

● 2. ItemCheck事件

当复选列表框中某项的选中状态发生变化时就发生ItemCheck事件

(3)JAVA练习(GUI程序设计)

一、单项选择题(总分70) 1.(分值:1.4分)以下不属于文字字型要素的是 A:颜色 B:字体 C:风格 D:字号 2.(分值:1.4分)Java代码g.drawLine(100,100,100,100)的功能是 A:画一个圆 B:画一条线段 C:画一个点 D:代码是错误的 3.(分值:1.4分)能处理鼠标拖动和移动两种事件的接口是 A:ActionListener B:ItemListener C:MouseListener D:MouseMotionListener 4.(分值:1.4分)Java语言的图像处理功能所在的类是 A:Picture B:Image C:picture D:image 5.(分值:1.4分)当启动Applet程序时,首先调用的方法是 A:stop() B:init() C:start() D:destroy() 6.(分值:1.4分)在Java程序中定义一个类,类中有一个没有访问权限修饰的方法,则此 方法 A:类外的任何方法都能访问它 B:类外的任何方法都不能访问它 C:类的子类和同包类能访问它 D:只有类和同包类才能访问它 7.(分值:1.4分)在Java中,有关菜单的叙述错误的是 A:下拉式菜单通过出现在菜单条上的名字来可视化表示 B:菜单条通常出现在JFrame的顶部 C:菜单中的菜单项不能再是一个菜单 D:每个菜单可以有许多菜单项 8.(分值:1.4分)在Java Applet程序中,如果对发生的事件做出响应和处理的时候,应该 使用的语句是() A:import java.awt.*; B:import java.applet.*; C:import java.awt.event.*;

MATLAB中GUI在图像处理应用中的设计(包括各种算法)

用MATLAB 进行图像处理算法的界面设计

目录 1.设计目的 (3) 2.题目分析 (3) 3.总体设计 (3) 4.具体设计 (5) 5.结果分析 (34) 6.心得体会 (34) 7.附录代码 (36)

1、设计目的:综合运用MATLAB工具箱实现图像处理的GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。 2、题目分析 利用matlab的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足用户的使用。现设计程序有以下基本功能: 1)图像的读取和保存。 2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。 3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。 4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。 5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。 7)额外功能。 3、总体设计

图一 软件的总体设计界面布局如上图所示,主要分为2个部分:显示区域与操作区域。显示区域:显示载入原图,以及通过处理后的图像。 操作区域:通过功能键实现对图像的各种处理。 在截图中可见,左部为一系列功能按键如“还原”、“撤销”、“截图”等等;界面正中部分为图片显示部分,界面中下方为系列功能切换选择组。 设计完成后运行的软件界面如下: 图二 与图一先比,运行后的界面更为简洁。 利用“编辑”菜单可调出相应的功能键。例如:

GUI程序设计

实验四 GUI 设计 专业 学号 姓名 成绩 1. 创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 设计的界面结果: a=str2num(get(handles.edit1,'string')); b=str2num(get(handles.edit2,'string')); c=str2num(get(handles.edit3,'string')); x0=str2num(get(handles.edit5,'string')); x1=str2num(get(handles.edit6,'string')); x=x0:0.1:x1; y=a*x.^2+b*x+c; axes(handles.axes1) plot(x,y)

2. 设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。设计的界面结果: t=0:0.1:2*pi; x=sin(t); axes(handles.axes1) plot(t,x) t=0:0.1:2*pi; y=cos(t); axes(handles.axes1) plot(t,y) t=0:0.1:2*pi; z=t.^3; axes(handles.axes1) plot(t,z) quit 3. 创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。设计的界面结果:

Set(gcf,’color’,’r’) 4.使用GUI设计一个计算器,可以实现两个数的和运算,这两个加数可以任意输入,结果显示在窗口中。 设计的界面结果: a=str2num(get(handles.edit1,'string')); b=str2num(get(handles.edit2,'string')); c=a+b; set(handles.text3,'string',c) 5.设计一个能够运算加减乘除的计算器。

基于MATLAB GUI的简易计算器设计

基于MATLAB GUI的简易计算器设计 摘要 基于MATLAB GUI的计算器设计是利用GUIDE创建图形用户界面进行计算器设计。设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算器实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输入显示。进行四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百分数和求倒数。可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编辑框实现函数的曲线绘制。最后运行调试,实现基于MATLAB GUI的计算器的设计。 关键词:MATLAB、GUI、计算器 1 MATLAB GUI介绍 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。 MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂,主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。MATLAB是将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。 MATLAB的图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。MATLAB的图形用户界面(GUI)是由光标,窗口,菜单、文字说明等对象构成一个用户界面。用户可以通过键盘输入相关的参数,通

MATLAB GUI程序设计

MATLAB的GUI 程序设计 Chapter 8: Design of MA TLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。 基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。 一. 控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 控件对象及其功能:(表7—1) 2. 控件对象的描述(Description of controller object) MA TLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。 (1)按钮(Push Buttons):执行某种预定的功能或操作; (2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项; (4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项; (5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作; (6)静态文本框(Static Texts):仅仅用于显示单行的说明文字; (7)滚动条(Slider):可输入指定范围的数量值; (8)边框(Frames):在图形窗口圈出一块区域; (9)列表框(List Boxes):在其中定义一系列可供选择的字符串; (10)弹出式菜单(Popup Menus):让用户从一列菜单项中选择一项作为参数输入;(11)坐标轴(Axes):用于显示图形和图象 3. 控件对象的属性(Attributes of controller object) 用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。 两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。 A, 控件对象的公共属性 Children 取值为空矩阵,因为控件对象没有自己的子对象 Parent取值为某个图形窗口对象的句柄,该句柄表明了控件对象所在的图形窗口 Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象 Type 取值为uicontrol,表明图形对象的类型 UserDate取值为空矩阵,用于保存与该控件对象相关的重要数据和信息

android GUI程序设计复习题

Android复习题及答案 一、选择题 1. 下列哪些语句关于内存回收的说明是正确的?( ) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2. Android 中下列属于Intent的作用的是( ) A、实现应用程序间的数据共享 B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作 3. 下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的( ) A、 B、 android:name="android.provider.action.NewBroad"/> C、 D、 android:name="android.provider.action.NewBroad"/>

图像增强的GUI设计要点

图像处理课程实践论文题目:图像增强功能组件的GUI设计 院(系)信息科学与工程学院 专业通信工程 届别 班级 学号 姓名 指导老师

目录 一、空域增强 (1) 1.1 直方图均衡化 (1) 1.2 平滑滤波 (2) 1.3 锐化滤波 (4) 1.4 自适应滤波 (5) 二、频域增强 (6) 2.1 低通滤波 (6) 2.2 高通滤波 (7) 三、其他增强方法 (9) 3.1 灰度变换 (9) 3.2 椒盐噪声加入 (9) 3.3 图像镜像 (10) 3.4 图像求反 (10) 3.5 边缘检测 (11) 3.6 图像旋转 (11) 3.7 打开保存撤销退出初始化 (12) 四、GUI界面的使用说明 (14) 4.1 简介 (14) 4.2具体操作 (14) 五、功能组件测试报告 (15)

六、参考文献 (16) 七、附录 (17)

一、空域增强 1.1 直方图均衡化 1.1.1 知识点 直方图均衡是指将一个已知灰度分布的图像经过一种变换,使之变成一幅具有均匀灰度分布的新图像。 把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围,从而达到增强图像整体对比度的效果 直方图均衡化的增强函数需要满足两个条件: 1) EH(s) 在 0 ≤s≤ L-1 范围内是一个单值单增函数; 2) 对应 0 ≤ s ≤L-1 有 0 ≤ EH(s) ≤L-1。 上面第一个条件保证原图各灰度级在变换后仍保持从黑到白 (或从白到黑) 的排列次序。第二个条件保证变换前后灰度值动态范围的一致性。 1.1.2 程序设计思路 通过histeq(X)函数实现直方图均衡。因为此函数只能对灰度图像进行直方图均衡。故应先将彩图转为灰度图像。 直方图均衡实现程序段如下: global T axes(handles.axes2); T=getimage; k=histeq(handles.k); imshow(k); title('经过直方图均衡后的图像'); handles.k=k; guidata(hObject,handles); 1.1.3 结果与分析说明 1、结果 ①将彩图转为灰度图像: 图1

GUI程序设计过程

GUI程序设计 GUI(Graphical User Interfaces)是图形用户界面的简称,GUI程序时由窗口、光标、按键、菜单、按钮等对象构成的一个用户界面,用户通过一定的方法选择、激活这些图形对象,使计算机响应这些动作或变化,如实现计算、绘制图形等。GUI程序是提供应用程序、进行技术演示等的方便工具,利于反复使用而且操作简单。和v++、VB等编程语言类似,matlab 提供了包括文本框、按钮、复选框、下拉菜单等多种控件供用户使用,并提供了供设计、修改图形用户界面程序的专用工作台,称为layout editor,使用guide指令即可打开该界面设计工具。 句柄图形(Handle Graphics)就是将一个图形的每一个组件都视为一个对象(Object),每一个对象都有一个独一无二的“句柄”(handle),根据这个句柄,就可以找到这个对象(即图形组件)的各项属性,并进而更改这些属性,以产生不同的图形呈现效果。 由于GUI程序控件较多,本文将从实例出发,就MA TLAB在数学实验中常用的一些功能进行介绍。 【例1.7.1】设计一个如下图形用户界面,该界面有如下功能: (1)打开该界面时,在轴上绘制peaks函数表面着色图,方位角为–37.5?,俯视角为30?;这两个角度的范围均为[-90,90]。 (2)若在方位角或俯视角编辑框中输入新数据,则滚动条会自动滚动到对应的位置,且按新视角重新绘制peaks函数;若输入数据错误,则弹出出错对话框; (3)拖动滚动条时,对应的方位角和俯视角均更新,并重新绘制图形; (4)按钮“mesh”和“surf”切换图形绘制方式。 (5)关闭该GUI时,弹出对话框进行确认。 在本程序中,读者将学习如下知识: GUI界面程序的编写过程; GUI程序中数据的传递和访问; matlab自定义对话框的使用; 各种控件,包括编辑控件、按钮控件、滑动条控件的回调函数编写 以下将一步步实现该GUI程序。 步骤一:窗口的控件布局与参数设置 使用guide指令,打开一个新的GUI程序,分别将Axes控件、四个Static Text控件、两个Edit Text控件、两个Slider控件、两个Push Button控件拖到界面上。双击每个控件可以打开“Property Inspector”,并做如下设置: ●四个静态文本控件的'String' 属性,分别设置为:方位角(度),调整方位角(度),俯 视角(度),调整俯视角(度); ●第一个Edit Text控件存储方位角,设置其“String”属性为-37.5;“Tag”属性为edit_az; ●第二个Edit Text控件存储俯视角,设置其“String”属性为30;'Tag'属性为edit_el; ●第一个Slider控件设置其“Tag”属性为slider_az; ●第二个Slider控件设置其“Tag”属性为slider_el; ●第一个Push Button控件设置其“Tag”属性为push_mesh,‘String’属性为‘Mesh’; ●第二个Push Button控件设置其“Tag”属性为push_surf,‘String’属性为‘Surf’; 此时,将文件存为prog1_7_1.fig,并运行,即可出现一个figure界面,并生成一个prog1_7_1.m 文件。可惜目前并不能做任何事情,因为我们还没有设置每个控件的回调属性。

Java语言程序设计A实验6:GUI设计

实验课程名称:Java语言程序设计A

●运行结果: ?实验6-2 ●类MyFxGUI源代码: import javafx.application.*; import javafx.scene.*; import javafx.stage.*; import https://www.360docs.net/doc/633611075.html,yout.*; import javafx.scene.paint.Color; import javafx.scene.control.*; import javafx.event.*; import javafx.geometry.*; public class MyFxGUI extends Application { TextField tf; public static void main(String[] args) { launch(args); } public void start(Stage myStage) { myStage.setTitle("My JavaFX Program"); FlowPane root = new FlowPane(10,10); root.setAlignment(Pos.CENTER); Scene myScene = new Scene(root, 300, 200,Color.BLACK); myStage.setScene(myScene); Button btnOk = new Button("Ok"); Button btnCal = new Button("Cancle");

tf=new TextField(); tf.setPrefSize(200, 150); btnOk.setOnAction(new EventHandler() { public void handle(ActionEvent ae) { tf.setText("Welcome to Java FX Program! "); } }); btnCal.setOnAction(new EventHandler() { public void handle(ActionEvent ae) { System.exit(0); } }); root.getChildren().addAll(btnOk, btnCal, tf); myStage.show(); } } 运行结果: 教师签字__________

MATLAB中的GUI程序设计

第七章MATLAB的图形用户界面(GUI) 程序设计 Chapter 8: Design of MATLAB of GUI program 图形用户界面GUI(Graphical User Interfaces)是一种用户和计算机进行信息交流的工具和方法,由各种图形对象组成,在这种用户界面下,用户的命令和对程序的控制是通过鼠标等输入设备“选择”各种图形对象来实现的。软件开发者只需在由软件开发工具自动生成的程序代码中添加自己的运算或控制代码,就可以完成应用程序的设计。目前90%以上的应用程序和软件都是在GUI下运行的。 MATLAB有两种GUI用户界面控件的创建方式,基于命令行的编程方式制作和基于MATLAB提供的图形用户界面开发环境GUIDE中的图形用户界面开发工具的GUI创建方式制作。这里主要介绍基于GUIDE的创建方式。 MATLAB 的GUI的基本图形对象分为控件对象uicontrol和用户界面菜单对象uimenu(包括固定菜单和现场菜单),简称控件和菜单。 一.控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 常用的基本控件: (1)按钮(Push Buttons):执行某种预定的单功能或操作; (2)双位开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠标点击它时按钮将下陷,并 执行callback(回调函数)中指定的内容,再次点击, 按钮复原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一 组状态中选择单一的状态,或称为单选项;

基于GUI的网络通信程序设计

《Java技术》实验报告 一、实验目的 1.掌握Java中GUI程序的编写,包括事件监听机制。 2.掌握Java的网络通信编程,ServerSocket,Socket类的使用。 3.掌握Java中多线程的编程,Thread类,Runnable接口的使用。 4.掌握用面向对象的方法分析和解决复杂问题。 二、实验原理 ..JDK中提供了AWT和Swing两个包,用于GUI程序的设计和开发:Abstract Window Toolkit,位于java.awt包中在java中,AWT是用来处理图形最基本的方式,它可以用来创建java的applet和窗口。AWT包提供:组件:如:窗口、按钮、菜单等 容器:是GUI元素的容器。实现组件管理、布局管理布局管理器:用来安排图形界面组件的位置:在组件上进行图形绘制所使用的图形环境的父类事件处理对象:用来处理图形界面组件所触发的事件 Java 中“窗口”被视为一个容器。它可以把各种不同的图形界面组件放置到这个容器中,而这些图形界面组件就是容器中的接口,通过图形界面组件所提供的方法,来完成一定的功能。创建窗口的基本和必要操作包括如下步骤: 1. 给窗口一个标题 2. 设置窗口的大小、背景颜色3. 在屏幕的某个位置放置窗口 4. 显示窗口 本题需要利用java编程语言GUI程序设计的方式设计两个窗口并根据题目要求对窗口进行添加部件并布局,窗口设计完成后再利用java语言关于通信部分的知识为两个窗口设置是事件监听器来完成两个窗口的通信。

输入和输出是程序与用户之间沟通的桥梁,是程序与用户进行信息交互的重要手段Java 提供了专用于输入输出功能的包java.io ,其中包含5个非常重要的类,所有与输入输出有关的类都继承了这5个类字节流字符流Reader 文件流过滤流FilterInputStream FilterOutputStream ¤基本流System.in System.out Internet 采用客户机/服务器方式访问资源,当用户在共享某个Internet资源时,有两个独立的程序协同服务。这两个程序运行在不同的计算机上,通常把提供资源的计算机叫做服务器,把使用资源的计算机叫做客户机

gui程序设计

MATLAB的GUI 程序设计 GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。 基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。 一. 控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 控件对象及其功能:(表7—1) 2. 控件对象的描述(Description of controller object) MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。 (1)按钮(Push Buttons):执行某种预定的功能或操作; (2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项; (4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项; (5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作; (6)静态文本框(Static Texts):仅仅用于显示单行的说明文字; (7)滚动条(Slider):可输入指定范围的数量值; (8)边框(Frames):在图形窗口圈出一块区域; (9)列表框(List Boxes):在其中定义一系列可供选择的字符串; (10)弹出式菜单(Popup Menus):让用户从一列菜单项中选择一项作为参数输入; (11)坐标轴(Axes):用于显示图形和图象 3. 控件对象的属性(Attributes of controller object) 用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。 两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。 A, 控件对象的公共属性 Children 取值为空矩阵,因为控件对象没有自己的子对象 Parent取值为某个图形窗口对象的句柄,该句柄表明了控件对象所在的图形窗口 Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象Type 取值为uicontrol,表明图形对象的类型 UserDate取值为空矩阵,用于保存与该控件对象相关的重要数据和信息 Visible取值为no 或off, B,控件对象的基本控制属性 BackgroundColor取值为颜色的预定义字符或RGB数值 Callback取值为字符串,可以是某个M文件名或一小段MATLAB语句,当用户激活某个控件对象时,应用程序就运行该属性定义的子程序。 Enable取值为on(缺省值),inactive和off Extend取值为四元素矢量[0 ,0 width, height],记录控件对象标题字符的位置和尺寸

第七章 MATLAB的GUI 程序设计

第七章MATLAB的GUI 程序设计 Chapter 8: Design of MATLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。目前90%以上的应用程序和软件都是在GUI下运行的。 MATLAB有两种GUI用户界面控件的创建方式,基于命令行的方式用程序来制作和基于GUI的方式制作。这里主要介绍基于GUI 的方式。 MATLAB 的GUI的基本图形对象分为控件对象和用户界面菜单对象(包括固定菜单和现场菜单),简称控件和菜单。 一.控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 常用的基本控件: (1)按钮(Push Buttons):执行某种预定的单功能或操作; (2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠标点击它时按钮将下陷,并执行 callback(回调函数)中指定的内容,再次点击,按钮 复原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一 组状态中选择单一的状态,或称为单选项; (4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组 状态中作组合式的选择,或称为多选项; (5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;

第八章MATLAB的GUI程序设计

第八章MATLAB的GUI 程序设计 Chapter 8: Design of MATLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。 基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。 一.控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 控件对象及其功能:(表7—1) 2.控件对象的描述(Description of controller object) MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。 (1)按钮(Push Buttons):执行某种预定的功能或操作; (2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行 callback(回调函数)中指定的内容,再次点击,按钮复 原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在 一组状态中选择单一的状态,或称为单选项; (4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在

Ml交互式GUI程序设计教程HIT版_!

Matlab交互式程序设计教程及举例 一、创建GUI(Graphics User Interface)新文件和编辑已经存在的GUI文件 1、在matlab命令窗口中键入guide,弹出如下的对话框: 这是一个双页面对话框,分别用于创建新文件和打开已存在的GUI文件,鼠标点击相应的标题即可切换。 2、图中可见“创建新的GUI”有四种模版选项,不管其它几个,点选第一项,按“OK‘按钮可打开如图所示的GUI编辑器 其中左边是控件工具栏,用户可根据自己的程序将所需要的控件用鼠标拖至右侧的编辑区域进行布局。(用户可将鼠标悬停在各个控件图表上查看各个对象的名称)菜单栏下边是工具 条,其中常用的有“”(保存当前GUI文件和相应的m文件)、“”(编写相应协调运行的

m文件、“”(编辑当前控件的相应属性)、“”(创建和修改用户自己的程序菜单)、“”(保存当前文件并运行改程序)。右下方主要区域是程序的界面布局窗口(灰色网格区域是布局区域,用户可根据程序需要用鼠标拖动该区域的右下角调整该区域的大小)。 3、此时可以按下“”图标保存该文件(自然此时程序没有任何功能,只有一个主框架),弹出文件保存对话框,在文件名处输入一个文件名(英文字母开头),如“my1”等,扩展名自动设置为“.fig”。系统除了保存当前的界面文件外,还自动生成一个与该界面一起协调运行的“my1.m”文件,并在m文件编辑窗口中打开它。 4、浏览一下该文件,可以看到该文件中目前自动创建了3个函数: function varargout = my1(varargin) function my1_OpeningFcn(hObject, eventdata, handles, varargin) function varargout = my1_OutputFcn(hObject, eventdata, handles) 这些函数声明和参数在后续的程序设计中不要做任何修改,切记!!! 对我们目前的应用来说第一个函数和第三个函数的程序体也不要做任何修改。 根据自己的程序涉及需要只需修改第二个函数的程序体部分。(具体的修改方式可以通过我的例子程序加以体会。) 注意第二个函数程序体的最后一条语句 guidata(hObject, handles); 该语句在后续的程序设计中将会频繁使用,现在请先记住它。 5、祝贺你!你现在已经有了一个名为“my1.m”和“my1.fig”的可以运行的文件了! 现在可以在matlab命令窗口中键入“my1”运行改程序,自然,除了显示一个标题为“my1”的空白窗口外,你还不能进行任何交互式控制操作(自然除了关闭该窗口外),因为你还没有写任何控制程序和添加任何控件。 二、增加控件及编写相应的执行程序 1、现在可以编辑运行窗口的标题栏——即将“my1”修改为自己希望的标题,本例中我改为“参数a,b,n对r=acos(nt+b)的影响”。 在GUI设计窗口中点击“”工具条图标,弹出如下的“属性编辑框” 该窗口对于后续设计中的每个控件都可以打开(通过点击“”工具条图标),它共有2列,左列是当前对象的用户可以修改的属性名(按首字母顺序排列),右列是每个属性的可以编辑的属性值,现在在左列找到“name”一项,将右侧的自动生成的“my1”改为“参数a,b,n 对r=acos(nt+b)的影响”。关闭此窗口,点击“”以保存当前修改并运行程序。OK!窗口的标题栏已经变成了“参数a,b,n对r=acos(nt+b)的影响”。 2、现在开始程序的布局及控制设计,先从最简单的一个控制按钮开始。 拖动GUI设计窗口左侧的“Push Button”控件至右侧设计区域中的自己希望的位置,放开

相关主题
相关文档
最新文档