图形用户界面概述

6.1 图形用户界面概述

6.1.1 基本概念

(1)GUI—图形用户界面(Graphics User Interface)使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户和计算机之间进行交互。

(2)AWT——抽象窗口工具集(abstract window toolkit) Java中用来生成图形用户界面的类库是java.awt 包,它Java中基本包中最大的一个,定义了所有GUI 组件类,以及其它用于构造图形界面的类。Sun公司在JDK1.0中就提供了AWT。

为了实现跨平台特性,AWT类库中的各种操作被定义成在一个并不存在的“抽象窗口”中进行。

AWT组件的类层次?Component 组件是所有AWT组件的基类,提供了基本的显示和事件处理特征。

(3)Swing GUI组件

◆在最新的Java2中,javax.swing包被列入Java的基础类库JFC,其中定义的Swing GUI组件相对于

java.awt包的各种GUI组件增加了许多功能。

◆Swing组件类

Swing包含250多个类(有些是组件,有些是支持类,组件的名字都以J 开头),Swing提供了40多个

组件,是AWT的4倍,用轻量组件(没有本地对等组件)代替了AWT的重量组件(与本地对等组件相关联)。重量级组件是指组件的属性跟操作系统有关,轻量级组件跟操作系统无关,轻量级组件在不同平台下显示效果一样。

Swing组件简介(续)

Swing采用了一种MVC的设计范式,即“模型-视图-控制器”(Model-View-Controller):

◆模型(Model)——用于存储定义该组件的数据;

◆视图(View)——用模型中的数据生成该组件的可视化表示(即显示出该组件);

◆控制器(Controller)——响应用户对该组件的交互操作。

MVC是一种先进的组件设计模式。

MVC 结构示意图

视图

(组件外观)

控制器

(处理事件,

更改模型或者

视图)模型

(组件数据)

UI 代表(向组件提供外观和感觉)

Swing组件简介(续)

◆Swing包中有4个最重要的类:

JApplet、JFrame、JDialog、JComponent

◆JComponent的所有子类都是轻量级组件,其它三个都是重量级组件,轻量级组件必须在这些重量容器中绘制自己。

◆除模仿AWT组件所提供的功能外,几乎所有的Swing替代组件都有其他一些特性,如Swing按钮可以显示图标和文本,AWT按钮只显示文本。

(4)设计图形界面的步骤

1)根据需要创建界面元素,设计出界面的物理外观;

2)定义界面元素对不同事件的响应,实现界面与用户的交互功能.

(5)设计图形界面的一般原则

?保持风格的一致性

◆背景颜色耐看,避免黑、大红、艳绿、明黄

◆采用统一字体,颜色对比清晰、字号大小合理

◆布局统一,组件尺寸恰当、外观一致

?注重操作的友好性

◆必要的操作提示与信息反馈

◆考虑用户的普遍习惯

?选用适合主题的色调和风格,简洁明快,重在协调

◆多浏览国外著名公司的网站

◆参考大公司开发的专业产品

◆商业经典色系:蓝色、灰色、蓝白、蓝灰

?界面的边界一般设为不可调整大小,以免影响布局

6.1.2 图形用户界面元素

分三类:容器、控制组件、用户自定义成分。(1)容器(container)

是用来组织其他界面成分和元素的单元,如窗体(form、frame)。

主要作用: 用容器可以分解图形界面的复杂性。

特点:

容器有一定的范围、位置、背景,容器里可以包含许多其他的界面元素,并按一定规则来排列所包含的元素,可以被用来完成某种交互功能,容器还可能被包含在其他容器中。

(2)组件(Component )

组件是图形界面的最小单位,里面不能再包含其他成分。如:命令按钮、文本域、标签等。组件的作用是完成与用户的一次交互,如接受用户指令、向用户显示文本等。

使用组件的步骤:

创建组件对象→确定属性→布局到容器中→注册事件监听者→重写事件处理方法。

TextField input=new TextField(6);add(input);input.addActionListener(this);public void actionPerformed(ActionEvent e)

{if(e.getSource()==input)

output.setText(input.getText()+“,欢迎你!”);

}

(3)用户自定义图形界面成分

用户自定义成分是指利用Java类库中的类及其方法来绘制符合用户特定要求的图形界面成分,也可以将已经存在的图形、动画等加载到当前程序中来。

1) 绘制图形

Graphics类——绘制直线、各种矩形、多边形、圆和椭圆等。

Point类——表示一个象素点

Dimension类——表示宽和高

Rectangle类——表示一个矩形

Polygon类——表示一个多边形

Color类——表示颜色

2) 显示文字

Java中用一个Font类的对象来表示一种字体显示效果,包括字体类型、字型和字号。

Font.PLAIN ——正常

字型常量Font.BOLD ——粗体

Font.ITALIC ——斜体

1) 创建字体对象

Font MyFont=new Font(“TimesRoman”,Font.BOLD,12);

2)使用字体对象

g.setFont(MyFont); //Graphics对象

btn.setFont(MyFont); //某个名为btn的按钮对象

可以用getFont()方法返回当前对象使用字体的情况。

3) 控制颜色

Applet中显示的字符串或图形的颜色可以用Color类的对象来控制,每个Color对象代表一种颜色,用户可以直接使用系统定义好的13种颜色常量,也可以通过红、绿、蓝三色比例来创建自己的Color对象。?Color类的构造函数

public Color(int Red,int Green,int Blue);

// 每个参数的取值范围在0-255之间。

public Color(float Red, float Green, float Blue); // 每个参数的取值范围在0-1.0之间。

public Color(int RGB);

// 指明RGB三色的比例,这个参数的0-7比特代表红色的比例,8-15比特代表绿色的比例,16-23比特代表蓝色的比例。

例:

?创建自己的颜色:

Color blueColor= new Color(0,0,255);

g. g.setColor(blueColor);

?利用系统的颜色常量:

g.setColor(Color.cyan);

?GUI控件的颜色设置方法

public void setBackground(Color c);//设置背景颜色public Color getBackground(); //取得背景颜色public void setForeground(Color c);//设置前景颜色public Color getForeground(); //取得前景颜色

4) 显示图象

Java中可以利用Graphics类的drawImage()方法显示图象。显示图象涉及3个方法:

?drawImage(参数1,参数2,参数3)

参数1——Image对象,可以用系统为Applet类定义的getImage()方法获得。

参数2、参数3——显示时图象左上角的X.Y坐标?getImage(参数1,参数2 )

参数1——图象文件所在的URL地址

参数2——图象文件的文件名?getDocumentBase()

获取含有该Applet的HTML文件的URL地址。

例:用户界面使用示例TestGraphics.java import java.awt.*;

import java.applet.Applet;

public class TestGraphics extends Applet

{

Image myImage ;

Font myFont=new Font("黑体",Font.BOLD,20);

Color myColor=new Color(120,25,180);

public void init()

{

myImage = getImage(getDocumentBase(), "fys.jpg" );

}

public void paint(Graphics g)

{

g.drawLine(30,5,40,5); //画线

g.setColor(Color.blue); //设置字体颜色

g.drawRect(40,10,50,20); //画空长方形

g.setColor(Color.red);

setBackground(Color.yellow); //设置背静颜色

g.fillRect(60,30,70,40); //画实体长方形

g.setFont(myFont);

g.drawString("大家好!",100,200);

g.setColor(myColor);

g.drawString(g.getFont().toString(),10,250);

g.drawImage(myImage, 150, 10, this ); //显示图片}

}

5) 实现动画效果

用Java实现动画的原理与放映动画片类似,取若干相关的图象或图片,顺序、连续地在屏幕上先显示,后擦除,循环往复就可以获得动画的效果。

小结:

在设计和实现一个程序的图形用户界面的过程中,绘制用户自定义成分仅完成了部分工作,可以美化用户界面,但无法接收程序运行过程中的用户指令,不能提供与用户的动态交互,还需要通过Java中的事件处理机制来实现。

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

实验一图形用户界面设计 一实验目的和要求 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(网格布局管理器):规则的矩阵

实验5 图形用户界面2

实验图形用户界面2 【实验目的】 1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法, 2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。【实验要求】 1. 掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。 2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 了解Java Swing 组件的使用方法。 5. 了解对话框的使用方法。 【实验内容】 三.在Applet容器中添加组件的方法 1.创建一个小应用程序,在其中添加组件 (1)程序功能:在用户名及电话号码中输入完信息后,信息显示在最上面的文本域中;点击显示按钮,在相应的文本框中显示;点击退出按钮退出程序。 (2)编写appletTest.java 程序文件,源代码如下。 import java.awt.*; import java.awt.event.*; import javax.swing.*; publicclass appletTest extends JApplet implements ActionListener { Button btn1, btn2; TextField f,tf1,tf2; TextArea Area; JPanel pane1,pane2,pane3; Container pane; publicvoid init() { setSize(500,300); pane=getContentPane(); pane1= new JPanel(); pane2= new JPanel(); pane3= new JPanel(); pane.setLayout(new GridLayout(1,3)); pane.add(pane1); pane.add(pane2); pane.add(pane3); setLayout(new GridLayout(3,3)); Area=new TextArea (4,40); tf1=new TextField(10); tf2=new TextField(10); btn1=new Button("显示"); btn2=new Button("退出"); f=new TextField(20);

图形用户界面的设计课案

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

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

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

图形用户界面概述

6.1 图形用户界面概述 6.1.1 基本概念 (1)GUI—图形用户界面(Graphics User Interface)使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户和计算机之间进行交互。 (2)AWT——抽象窗口工具集(abstract window toolkit) Java中用来生成图形用户界面的类库是java.awt 包,它Java中基本包中最大的一个,定义了所有GUI 组件类,以及其它用于构造图形界面的类。Sun公司在JDK1.0中就提供了AWT。 为了实现跨平台特性,AWT类库中的各种操作被定义成在一个并不存在的“抽象窗口”中进行。

AWT组件的类层次?Component 组件是所有AWT组件的基类,提供了基本的显示和事件处理特征。

(3)Swing GUI组件 ◆在最新的Java2中,javax.swing包被列入Java的基础类库JFC,其中定义的Swing GUI组件相对于 java.awt包的各种GUI组件增加了许多功能。 ◆Swing组件类 Swing包含250多个类(有些是组件,有些是支持类,组件的名字都以J 开头),Swing提供了40多个 组件,是AWT的4倍,用轻量组件(没有本地对等组件)代替了AWT的重量组件(与本地对等组件相关联)。重量级组件是指组件的属性跟操作系统有关,轻量级组件跟操作系统无关,轻量级组件在不同平台下显示效果一样。

Swing组件简介(续) Swing采用了一种MVC的设计范式,即“模型-视图-控制器”(Model-View-Controller): ◆模型(Model)——用于存储定义该组件的数据; ◆视图(View)——用模型中的数据生成该组件的可视化表示(即显示出该组件); ◆控制器(Controller)——响应用户对该组件的交互操作。 MVC是一种先进的组件设计模式。

实验五图形用户界面

实验五图形用户界面 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6 【实验目的】 1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法, 2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。【实验要求】 1. 掌握在Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方 法。 2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 了解Java Swing 组件的使用方法。 5. 了解对话框的使用方法。 【实验内容】 一.创建图形用户界面 图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。 1.在Applet 中添加标签、按钮并使用网格布局 (1)程序功能:在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。 (2)编写LX5_1.java 程序文件,源代码如下。 import java.awt.*; import java.applet.Applet; public class LX5_1 extends Applet { Label l1; Button b1, b2, b3, b4, b5, b6; public void init() { setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格) l1=new Label("标签1"); b1 = new Button("按钮1"); b2 = new Button("按钮2"); b3 = new Button("按钮3"); b4 = new Button("按钮4"); add(l1); add(b1); add(b2); add(b3);

第六章 Java图形界面

第六章 Java图形界面 图形界面(Graphic User Interface)简称GUI,是用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令、启动操作,并将系统的运行结果同样以图形方式显示给用户的技术。图形用户界面与字符界面相比,操作简单,画面生动,深受广大用户的欢迎,已经成为目前几乎所有应用软件的既成标准。本章主要讲述Java的图形界面技术,即使用java.awt包来创建图形界面的方法,包括AWT组件、窗口和菜单设计、布局管理器、绘图操作,等等。 6.1 AWT概述 AWT即抽象窗口工具集(Abstract Window Tools),用于图形用户界面的开发。Sun公司在其早期发布的版本JDK1.0中就提供了AWT,在其随后的多个版本中又逐步加以改进。 6.1.1 AWT的功能 AWT的功能包括以下方面: (1)丰富的图形界面组件; (2)强大的事件处理模型图形和图象工具,包括形状、颜色、字体; (3)布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率; (4)无关数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴操作; (5)打印和无鼠标操作。 java.awt是java基本包中最大的一个,其中定义了所有GUI组件类,以及以及其他用于构造图形界面的类,如字体类Font、绘图类Graphics和图像类Image等。表6-1列出了AWT 中的主要软件包。 表6-1 AWT中的主要软件包

6.1.2 AWT的分类 1. 基本组件基本组件是图形界面的最小单位,里面不再包含其他的成分,如:按钮、Button 复选框Checkbox 、组合框Choice 、列表List、文本域 Textfield、多行文本域Textarea、静态文本Label、滚动条Scrollbar等。 2. 包容器(Container)包容器是一种特殊的组件,用来包含其他组件,如:面板Panel、窗口 Windows 、对话框Dialog、文件对话框 Filedialog、框架Frame等。 6.1.3 AWT组件的类层次 Component组件是所有AWT组件的基类,它提供了基本的显示和事件处理特征,Container 类和其他UI组件都是从Component中派生出来的。图6-1为AWT组件的类层次结构图。 图6-1 AWT组件的类层次结构图 Component类的主要方法有: void enable():使组件可用 void disable():使组件不可用 void show():显示组件 void paint():绘制图形 void repaint():刷新

实验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',...

实验五 图形用户界面

实验五图形用户界面 一、实验目的 1.了解图形用户界面的概念; 2.掌握标签和按钮的使用; 3.掌握文本框和文本区的使用; 4.掌握对话框的定义与使用; 5.掌握Java的事件处理机制; 二、实验要求 1.掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管 理的方法。 2.理解Ja va 的事件处理机制,掌握为不同组件编写事件处理程序的 方法。 3.熟练使用常用组件编写独立运行的窗口界面。 4.熟练使用图形类Gr a ph ic s。 三、实验内容 (一)建立独立运行的窗口界面并使用匿名类 最常使用的包含组件的容器是窗口,在Ja va 中窗口由F r am e 类生成。编写SY4_1.ja v a程序文件,程序功能:创建一个具有关闭功能的空白窗口。源代码如下: import java.awt.*; import java.awt.event.*; public class SY4_1{ SY4_1(){ Frame f=new Frame("初始窗口"); f.setSize(350,200); f.setVisible(true); //为窗口添加窗口事件适配器 f.addWindowListener(new WindowAdapter() { //关闭窗口事件的方法 public void windowClosing(WindowEvent e){ System.exit(0); } }); } public static void main(String[] args) { new SY4_1(); System.out.println(args[0]+" "+args[1]); } }编译并运行程序

图形用户界面

实验六图形用户界面 一.实验目的: 1)了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法, 2)了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。二.实验要求 1)掌握在Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。2)理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3)掌握编写独立运行的窗口界面的方法。 4)了解Java Swing 组件的使用方法。 5)了解对话框的使用方法。 三.实验内容 3.1 创建图形用户界面 图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。 1.在Applet 中添加标签、按钮并使用网格布局 (1)程序功能:在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。 (2)编写LX6_1.java 程序文件,源代码如下。 import java.awt.*; import java.applet.Applet; public class LX6_1 extends Applet { Label l1; Button b1, b2, b3, b4, b5, b6; public void init() { setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格) l1=new Label("标签1"); b1 = new Button("按钮1"); b2 = new Button("按钮2"); b3 = new Button("按钮3"); b4 = new Button("按钮4"); add(l1); add(b1);

图形用户界面

图形用户界面 ?? 历史变迁 ?? 概要 ?? 组成 ?? 其他 ?? 图形用户界面与键盘 ?? 图形用户界面与各种设备 ?? 触摸屏图形用户界面 ?? 采用图形用户界面的操作系统/应用程序 图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。 历史变迁 [编辑本段] 1980年Three Rivers公司推出Perq图形工作站 1981年施乐公司推出了Alto的继承者Star,Alto曾首次使用了窗口设计 1984年苹果公司推出Macintosh 1986年首款用于Unix的窗口系统X Window System发布 1988年IBM发布OS/2 1.10标准版演示管理器(Presentation Manager),这是第一种支持Intel计算机的稳定的图形界面 1992年微软公司发布Windows 3.1,增加了多媒体支持 1995年微软的Windows 95发布,其视窗操作系统的外观基本定型 1996年微软发布Bob,此软件具有动画助手和有趣的图片。 1996年IBM发布OS/2 Warp 4,它的交互界面得到显著改善,至今仍有不少ATM机运行这样的系统1997年KDE和GNOME两大开源桌面项目启动 1997年苹果公司发布MAC OS 8,这个系统具有三维外观并提供了SpringLoaded Folder功能 2000年苹果公司漂亮的Aqua,也就是Mac OS X系统的默认外观,可以让用户更轻松地使用计算机2001年微软发布Windows XP,实现桌面功能的整合 2003年Mac OS X v10.3提供了一键单击访问任何已打开窗口的功能 2003年Sun公司的Java桌面系统为GNOME桌面添加了和Mac类似的效果 2006年微软发布Windows Vista,对此前其视窗操作系统的外观作了较大的修改 概要 [编辑本段] 在图形用户界面中,计算机画面上显示窗口、图标、按钮等图形表示不同目的的动作,用户通过鼠标等指针设备进行选择。 组成 [编辑本段]

第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 一个事件监听器是否可以处理多个组件上产生的操作? 【答】一个事件监听器对应一个事件处理方法,如果多个组件产生的操作相同,则可以注册同一个事件监听器。

使用Web图形用户界面

使用Web 图形用户界面 这个章节主要介绍Web 图形用户界面,例如解释如何访问基于web 的管理界面来配置和管 为了使用基于Web 的管理,系统需要设备in-band 连接。 为了访问交换机,Web 浏览器必须支持: ● HTML 4.0或更新的版本 ● HTTP 1.1或更新的版本 ● JavaScript TM 1.2或更新的版本 Web 接口和终端接口有许多不同的地方。例如:在Web 接口可以显示整个转发 数据库,然而在终端接口只能显示从特定地址开始的10个条目。 结束Web 登陆会话,直接关闭web 浏览器。 配置Web 接口访问 为了能从Web 接口访问到交换机: 1. 配置交换机in-band 连接。在交换机开始章节提供了说明。 2. 启用Web 模式: a. 在CLI 提示,输入show network 命令。 b. 设置Web Mode 为启用。 开始Web 接口访问 下面的步骤开始交换机Web 接口的访问: 1. 在Web 浏览器的地址栏里输入交换机的IP 地址。 2. 当显示登陆面板,点击Login 。 3. 输入正确的用户名和密码。用户名和关联的密码与在终端接口使用的是一致的。点击Login 按钮。 4. 显示系统描述菜单,在屏幕的左边显示导航树菜单。 5. 在导航树菜单中选择正确的项目并点击进入该页面。

网页的版面 交换机管理页面的接口面板有三个区块构成。 交换机的图形横幅显示在面板的最上方。 第二个区块是在面板左部显示的分层次导航树。导航树由目录、子目录和配置状态HTML 页面组成。只有选择配置状态页面(非目录或子目录)才会显示一个新的HTML页面。目录和子目录没有对应的HTML页面。 第三个区块是在面板的右下部,显示的是设备的配置状态或用户的配置信息。 配置SNMPv3用户模版 配置SNMP v3用户模版是用户配置的一部分。任何用户都可以通过SNMP v3协议连接到交换机,但是为了认证和加密需要额外的步骤。使用以下的步骤来配置一个SNMP v3新的用户模版。 1. 在Web图形用户接口左边的层次导航树菜单中选择System>Configuration>User Accounts。 2. 使用User下拉菜单,选择Create去创建新的用户。 3. 输入新的用户名。 6. 为了启用认证,使用Authentication Protocol下拉菜单选择MD5或SHA作为认证协议。 7. 如果不需要加密,直接到第9步。 8. 为了启用加密,使用Encryption Protocol下拉菜单选择DES作为加密。然后输入不少 于8位数字或字母形式的字符作为加密密钥。 9. 点击Submit。 命令按钮 下面的命令按钮遍及在交换机Web图形用户接口面板使用: Save 点击Save按钮保存你刚刚所做的修改。有些设置会要求你重启系统以便这些设置能生效。 Refresh 点击Refresh按钮更新在Web图形用户接口面板上显示的数据。 Submit 点击Submit按钮发送更新的配置到交换机。配置更新马上生效,但是这些更新在重启后并没有保存,必须直到执行保存才不会丢失。

图形用户界面综合设计

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

图形用户界面例子

例1:创建一个宽200像素,高200像素,可见,标题为hello的窗口。 代码如下: import javax.swing.*; class my1{ public static void main(String args[]){ JFrame f=new JFrame("hello"); f.setSize(200,200); f.setVisible(true); } } 程序运行结果如图所示: 例1的运行结果 例2: import javax.swing.*; class my2{ public static void main(String args[]){ JFrame f=new JFrame("hello"); f.setSize(300,300); f.setVisible(true); JDialog d=new JDialog(f,"mydialog",true); d.setSize(200,200); d.setVisible(true); } } 程序运行结果如图所示:

例2执行结果例3: import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class comp1 { public static void main(String[] args) { JButton b1 = new JButton("test1"); JButton b2 = new JButton("test2"); JFrame jf = new JFrame("test"); JPanel p = new JPanel(); p.add(b1); p.add(b2); jf.add(p); jf.pack(); jf.setVisible(true); } } 程序运行结果如图所示: 例3运行结果例4: import javax.swing.*; import java.awt.*; class my1{ public static void main(String args[]){ JFrame frame=new JFrame("hello"); JPanel namePanel=new JPanel();

实验六 图形用户界面

实验六图形用户界面 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6 【实验目的】 1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法, 2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。【实验要求】 1. 掌握在Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方 法。 2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。 3. 掌握编写独立运行的窗口界面的方法。 4. 了解Java Swing 组件的使用方法。 5. 了解对话框的使用方法。 【实验内容】 一.创建图形用户界面 图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。 1.在Applet 中添加标签、按钮并使用网格布局 (1)程序功能:在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。 (2)编写LX5_1.java 程序文件,源代码如下。 import java.awt.*; import java.applet.Applet; public class LX5_1 extends Applet { Label l1; Button b1, b2, b3, b4, b5, b6; public void init() { setLayout(new GridLayout(3,3)); // 设置网格布局(3 行3 列共9 个网格) l1=new Label("标签1"); b1 = new Button("按钮1"); b2 = new Button("按钮2"); b3 = new Button("按钮3"); b4 = new Button("按钮4"); add(l1); add(b1); add(b2); add(b3);

相关文档
最新文档