第4章 Java图形用户界面设计.

Slides:



Advertisements
Similar presentations
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
Advertisements

JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.
项目2 字符格式和段落编排 2017年3月7日6时54分.
Excel VBA视频教程 课程介绍-什么是VBA
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
JAVA Swing 程序设计 南京邮电大学计算机学院
UI(用户界面)集训班 Illustrator 高级班.
PRESENTED BY OfficePLUS
第11章 Java多媒体技术.
第6章 图形用户界面设计 6.1 图形用户界面概述 6.2 GUI标准组件的使用 6.3 Java的事件处理 6.4 窗口及菜单设计
4.1 概述 4.2 AWT 与 Swing组件 4.3 事件处理 4.4 容器与布局管理器 4.5 对话框 4.6 菜单
第 18 章 圖形使用者介面.
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
第14章 c++中的代码重用.
第八章 分析與設計階段 – 物件導向設計(OOD)
Java语言程序设计 马 皓
UI 软件 设计 网页基本元素设计(二).
Java程序设计 第10章 图形用户界面.
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
2018/11/11 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
Ch07 Java Applets 物件導向系統實務.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第六章 窗口系统和用户界面管理系统 山东大学计算机学院.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
Java程序设计 第15章 创建用户界面.
記事本 物件導向系統實務.
記事本 物件導向系統實務.
第8章 图形用户界面的设计与实现 本章介绍Java基本的图形编程知识,包括窗口的显示、文字和图像的显示、事件处理以及图形用户界面中常用的组件等内容。 本章要点 8.1 Java图形用户界面概述 8.2 标准组件 8.3 简单图形用户界面 8.4 Java事件处理 8.5 布局管理 8.6.
走进编程 程序的顺序结构(二).
绘制圆与多边形 椭圆形 绘制椭圆形的方法是 drawOval(x ,y , width , height), 绘制实心椭圆形的方法是
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
SWT/Jface 简介 Java GUI图形用户界面.
Java程序设计 第12章 图形用户界面设计入门.
第一讲: 基本流程(1).
Ch04 事件處理 物件導向系統實務.
第4章 Java图形用户界面设计.
CH04 視窗中元件排排坐 物件導向系統實務.
Windows 7 的系统设置.
事件處理.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
VisComposer 2019/4/17.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
组件 复选框(Checkbox)可以让用户进行多项选择。复选框有两种状态,分别为“开(on)”和“关(off)”。当用户点中复选框的时候,复选框的状态就会改变。 1、创建复选框 (1)声明复选框。 Checkbox mycheckbox =new Checkbox (); (2)添加复选框。将复选框组件放置到容器中。
项目二:HTML语言基础.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
第十二章 JFC/Swing 概述  Swing组件  Swing应用程序结构  JComponent类.
Delphi 7.0开发示例.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Java语言程序设计 清华大学出版社 第6章 java图形与图像处理.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
Applet.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
组件 组件是构成图形用户界面的各种元素。通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件分为容器(Container)类和非容器类组件两大类。 控制组件有Button按钮 、Checkbox复选矿、 Choice下拉列表、Label标签、List列表、textcomponent文本(TextField文本域.
Summary
Presentation transcript:

第4章 Java图形用户界面设计

本章学习要点 1.掌握常用的GUI标准组件及图形界面的设计方法 2.掌握JAVA的事件处理机制和常用事件响应代码的编写方法; 3.掌握布局管理、对话框及菜单的设计方法 本章学习要点 2.掌握JAVA的事件处理机制和常用事件响应代码的编写方法;

目录 CONTENTS 4.1 概述 AWT和Swing组件 4.2 4.3 事件处理 4.4 布局管理器 4.5 对话框 4.6 菜单

4.1 概述

GUI—图形用户界面(Graphics User Interface) 4.1.1 基本概念 GUI—图形用户界面(Graphics User Interface) 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 Java通过java.awt 包和javax.swing 包中的类和接口来实现GUI。 JDK1.0 提供java.awt 包 JDK1.2 新增javax.swing 包

Abstract Window Toolkit(抽象窗口工具包) 4.1.1 基本概念 AWT Abstract Window Toolkit(抽象窗口工具包) 为了实现跨平台特性,AWT类库中的各种操作被定义成在一个并不存在的“抽象窗口”中进行。 Sun公司在JDK1.0中就提供了AWT。 Java中用来生成图形用户界面的基础类库是java.awt包,它是Java基本包中最大的一个,定义了所有GUI组件类和容器类,以及其它用于构造图形界面的类。

4.1.1 基本概念 GUI设计涉及到的类和接口 Component Java.lang.Object AWTEvent Font Componet Container Panel Applet Window Frame Graphics MenuComponent 各种布局管理器类 Component GUI设计涉及到的类和接口

Component 组件是所有AWT组件的基类,提供了基本的显示和事件处理特征。 4.1.1 基本概念 Component Button Canvas Container Panel Applet ScrollPane Window Frame Dialog FileDialog Choice Checkbox TextComponent TextArea TextField Label Scrollbar List 组件名 容 器 Component 组件是所有AWT组件的基类,提供了基本的显示和事件处理特征。

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

4.1.1 基本概念 Swing包中类的层次结构: Object Component Window Container Panel AWT Component 布局管理器位于AWT中 java.awt Window Container Panel Frame Dialog Applet Swing JApplet JFrame JDialog JComponent javax.swing AbstractButton JPanel Frame JLabel JMenuBar JMenuItem JFrame JTextComponent JButton JMenu JTextArea JTextField Swing包中有4个最重要的类: JApplet、JFrame、JDialog、JComponent  JComponent的所有子类都是轻量级组件,其它三个都是重量级组件,轻量级组件必须在这些重量容器中绘制自己。

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

4.1.1 基本概念 MVC结构示意图 视图 (组件外观) 模型 UI代表 (组件数据) (向组件提供外观和感觉) 控制器 (处理事件,更改模型或者视图)

4.1.1 基本概念 设计图形界面的步骤 1)根据需要创建界面元素,设计出界面的物理外观; 2) 定义界面元素对不同事件的响应,实现界面与用户的交互功能。

4.1.2 图形用户界面元素 组件 用户自定义成分 容器

4.1.2 图形用户界面元素 (1)容器(Container) 容器是用来组织其他界面成分和元素的单元,如窗体(Frame)、面板(Panel),可放置基本组件。顶层容器是 Container。 主要作用: 用容器可以分解图形界面的复杂性。 特点: 容器有一定的范围、位置、背景,容器里可以包含许多其他的界面元素,并按一定规则来排列所包含的元素,可以被用来完成某种交互功能,容器还可能被包含在其他容器中。

4.1.2 图形用户界面元素 (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()+“,欢迎你!”); }

4.1.2 图形用户界面元素 常用的GUI组件 包: java.awt.* Label、Button、 List、TextField… Frame、Panel、 Container 包:javax.swing.* JLabel、JButton 、Jlist、 JTextField… JFrame、JPanel AWT Swing 建议:不要在容器中混合使用AWT和Swing组件

JTextField、JTextArea、 4.1.2 图形用户界面元素 常用的swing组件 组件类名 描述 JLabel 标签 JTextField、JTextArea、 JPasswordField 可编辑的单行文本框/多行文本域/密码框 JButton 按钮 JCheckBox 复选框 JRadioButton 单选框 JComboBox、JList 组合框(下拉列表框)、列表框 JPanel 面板 JFrame 框架

4.1.2 图形用户界面元素 (3)用户自定义图形界面成分 用户自定义成分是指利用Java类库中的类及其方法来绘制符合用户特定要求的图形界面成分,也可以将已经存在的图形、动画等加载到当前程序中来。 1) 绘制图形 Graphics类——绘制直线、各种矩形、多边形、圆和椭圆等 Point类——表示一个象素点 Dimension类——表示宽和高 Rectangle类——表示一个矩形 Polygon类——表示一个多边形 Color类——表示颜色

Java中用一个Font类的对象来表示一种字体显示效果,包括字体类型、字型和字号。 4.1.2 图形用户界面元素 2) 显示文字 Java中用一个Font类的对象来表示一种字体显示效果,包括字体类型、字型和字号。 Font.PLAIN ——正常 字型常量 Font.BOLD ——粗体 Font.ITALIC ——斜体 创建字体对象 Font MyFont=new Font(“TimesRoman”,Font.BOLD,12); 使用字体对象 g.setFont(MyFont); //Graphics对象 btn.setFont(MyFont); //某个名为btn的按钮对象 可以用getFont()方法返回当前对象使用字体的情况。

4.1.2 图形用户界面元素 3) 控制颜色 每个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比特代表蓝色的比例。

4.1.2 图形用户界面元素 例: 创建自己的颜色: Color blueColor= new Color(0,0,255); g.setColor(blueColor); 利用系统的颜色常量: g.setColor(Color.cyan); GUI控件的颜色设置方法 public void setBackground(Color c); //设置背景颜色 public Color getBackground(); //取得背景颜色 public void setForeground(Color c); //设置前景颜色 public Color getForeground(); //取得前景颜色

Java中可以利用Graphics类的drawImage()方法显示图象。显示图象涉及3个方法: 4.1.2 图形用户界面元素 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地址。

4.1.2 图形用户界面元素

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

选用适合主题的色调和风格,简洁明快,重在协调 4.1.3 设计图形界面的一般原则 保持风格的一致性 背景颜色耐看,避免黑、大红、艳绿、明黄 采用统一字体,颜色对比清晰、字号大小合理 布局统一,组件尺寸恰当、外观一致 注重操作的友好性 必要的操作提示与信息反馈 考虑用户的普遍习惯 选用适合主题的色调和风格,简洁明快,重在协调 多浏览国外著名公司的网站 参考大公司开发的专业产品 商业经典色系:蓝色、灰色、蓝白、蓝灰 界面的边界一般设为不可调整大小,以免影响布局