JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.

Slides:



Advertisements
Similar presentations
高一七班 研究性学习小组 当我们正为寻找什么课 题而烦恼时,忽见一 精光从我面前闪过。 艾玛,原来是我同桌 眼镜反射,自此 “ 眼镜 ” 这课题被我付诸行动。 我们为此进行了研究 讨论学习 下图为组员在查阅资料.
Advertisements

Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
职业指导服务系统 欢迎了解职业指导服务系统!
第1章 Java语言概述.
《 Java开发环境配置》 主讲人:耿力.
Java 2实用教程(第3版)教学课件 主讲教师:张国平
职业教育.课程改革.项目课程 江苏省太仓中等专业学校校长 江苏省职业教育教学改革创新指导委员会委员 江苏省职业教育课程开发研究中心组组长
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
Java程序设计教程 第一讲 Java概述.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
Java程序设计 常州信息职业技术学院(CCIT) 软件学院
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
行政诉讼中的律师代理 深圳市中级人民法院 王成明.
普通话模拟测试 与学习平台 使用指南.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
2017/3/17 第七课 带上X光眼镜检查软件-续.
動畫與遊戲設計 遊戲開發工具 程于芳 老師
網路小說劇情建構與伏線營造 Windows98.
项目:贪吃蛇游戏设计 工作任务一:系统设计(system design) 工作任务二:豆类(Bean)设计
计算机学院计算机科学与技术系 中德联合软件技术研究所 李波
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。
Java Applet的运行原理 在网页向Java Applet传值 在Java Applet中播放声音 在Java Applet中使用组件
第11章 Java多媒体技术.
第14章 图形与图像 14.1 绘制文本 14.2 绘制基本图形 14.3 建立字体 14.4 清除 14.5 Java 2D
第6章 图形用户界面设计 6.1 图形用户界面概述 6.2 GUI标准组件的使用 6.3 Java的事件处理 6.4 窗口及菜单设计
第 18 章 圖形使用者介面.
让微笑伴您一生.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
第1章 java简介及环境搭建 第1章 Java简介及开发环境搭建.
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
Java语言程序设计 马 皓
也許你很疑惑: 最近升官的同事,專業能力又沒你強! 情場得意的朋友,長的又沒你帥或美! 小曹要交新朋友,為什麼就是比較簡單!
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
Java程序设计 JAVA 授课教师:赵小敏 浙江工业大学 软件学院
快乐玩转eclipse plugin插件开发之swt
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
SWING 2018/11/23.
SWT-JFace 南京大学软件学院
CH09 套件 物件導向程式設計(II).
JAVA 2 新觀念教本 ---邁向SCJP專業認證--- 易瓏資訊 林新德 著.
Java语言程序设计 第八部分 Applet小程序.
Ch04 事件處理 物件導向系統實務.
詩文的形成 有意義的字詞 句子 段落 一首詩文的形成,是由有意義的字詞組成句子,再由句子組成段落。
CH04 視窗中元件排排坐 物件導向系統實務.
資訊學科中心研習 JAVA程式設計專題 臺北市立大理高級中學 黃世隆 2019/2/23.
事件處理.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第十章 基于Swing的图形用户界面设计.
CLICK HERE TO ADD YOUR TITLE
《JAVA程序设计》 语音答疑 辅导老师:高旻.
72% 29% 33% ADD YOUR TITLE HERE 点击此处添加文本信息。
4.5 对话框.
30% 30% CLICK HERE TO ADD YOUR TITLE CLICK HERE TO ADD YOUR TITLE
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
僅首頁出現本title即可 責任的故事(二年級) 生命最美麗動人的本能 簡報製作:瑞柑國民小學 鄭雙慧 文/ 何秀芳.
Java语言程序设计 清华大学出版社 第6章 java图形与图像处理.
方格紙上畫正方形.
Applet.
Java语言程序设计.
Summary
Presentation transcript:

JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室

第十章 Java图形用户界面设计 教学目标: 掌握GUI程序设计概念和方法;理解Java的布局管理器机制和使用;能独立开发GUI应用程序,熟练使用各种组件。 教学重点: 布局管理器的使用;awt组件;事件处理;java绘图。 教学难点: 布局管理器的使用;事件委托机制。

10.1 GUI概述 一、GUI界面 用户与程序之间交互的一个控制面板,其内包含有菜单、控件(或组件)和容器并能响应用户的事件。 二、Java提供了丰富的图形类库来开发GUI程序。 到目前为止Java中有两套实现图形界面的机制,早期版本中的AWT(Abstract Window ToolKit,抽象窗口工具集)和现在常用的Swing。 1. AWT是Java中支持图形用户界面GUI设计的一个工具集,可以用于生产平台无关的GUI程序。其主要由C语言开发,属于重量级的Java组件。 2. Swing是围绕着实现AWT各个部分的API构筑的。Swing组件包括了AWT中已经提供的GUI,同时也包括一套高层次的GUI组件。其主要由纯Java代码实现,属于轻量级的Java组件。Swing继续使用AWT的事件处理模型。

10.2 AWT概述 一、awt简介: 在java1.0和java1.1中,使用的GUI库是AWT,其设计目标是让程序员构建一个通用的GUI,使其在所有平台上都能正常显示。 采用AWT(抽象窗口工具集)从而可使GUI适用于不同OS的环境。 二、AWT特点: 1. 其具体实现由目标平台下的OS来解释,从而导致JavaGUI在不同平台下会出现不同的运行效果。 2. 组件在设计时不应采用绝对定位,而应采用布局管理器来实现相对定位,以达到与平台及设备无关。 3. AWT组件及事件响应不及微软的SDK丰富(因为有些OS平台无微软的Windows组件),Sun在Java2中新增了Swing GUI组件。

三、AWT中的各个组件类

四、Java Swing 组件技术简介 1. Swing 特性: 2. AWT的缺点: 组件少而且是本地代码实现。 1)是AWT的扩展,它比AWT提供了更多的组件和外观 2)是Sun公司的新一代的图形界面的标准。 3)Swing组件的实现不包括任何于平台相关的代码 4)它是纯Java代码(但Jframe、JDialog、JApplet除外),因此与平台无关。 2. AWT的缺点: 组件少而且是本地代码实现。 3. Swing和AWT相比,一个重要改进在于Swing把一个组件的处理分为图形部分和数据部分。 1)其中图形部分由编程环境统一处理(V) 2) 数据部分由一个数据处理模型进行处理(M)。

4. 几点说明: 1)是AWT的扩展,它比AWT提供了更多的组件和外观。 2)Swing组件所在的包: javax.swing每个组件都以“J” 开头,各个组件都是Component的子类。 3)Swing中的各个组件的事件编程、容器的布局方式仍然与AWT中对应的编程一致,没有改变。

5. Swing编程所应该注意的问题 1)由于Swing中的各个组件类与AWT的组件类有相同的基类,所以可以在同一界面中同时使用Swing与AWT。但有时可能不能正常显示,最好不要合用。 2)正确理解重量组件与轻量组件的不同 轻量组件—Swing组件,由纯Java代码实现,占用系统资源少。 重量组件--AWT组件,由本地C代码实现,占用系统资源多。另外JFrame、JDialog、JApplet也是重量组件。

6. Swing组件的分类 顶级容器 JFrame、JApplet、JDialog 普通功能的容器 特殊功能的容器 基本组件 不可编辑信息显示组件 可编辑格式化信息显示组件 JButton、JCombobox、JList、JMenu、JSlider、JTextField等 JLabel、JProgressBar、JToolTip等 JColorChooser、JFileChooser、Jtabel、JTextArea、JTree等 JPanel、JScrollPanel、JToolbar JSplitPanel、JTabbedPanel、 JLayeredPanel、 JRootPane InternalFrame、

10.3 容器和版面配置 2.容器组件其中最常用的方法是: 一、容器组件: 1.容器组件(从Container类派生):包含其它基本组件或子容器的组件,并由布局管理器统一决定其内的各个组件的摆放位置和大小。 主要有: Panel(为组件提供空间 )和 Applet是无边框的容器组件。 ScrollPane是具有边框且带有滚动条的容器组件 Window、Frame、Dialog、FileDialog等都是有边框的容器组件并且可以移动、放大、缩小、关闭等。 2.容器组件其中最常用的方法是: add()---添加其它组件 setLayout()---设置容器组件内的各个组件的摆放方式(它们的具体用法请参见本章的11.4节的介绍)。容器的主要作用是实现图形界面和组织其它组件。

3.容器组件的创建 1)在init()或Frame的构造函数中内,首先创建出容器组件对象并实例化它,然后设置布局方式。 2)分别创建出在容器内待包含的各个基本组件并实例化它们。 3)调用容器的add( )函数将各个基本组件加入到容器内。 4)再调用add( )将各个子容器加入到Applet中或Frame的主窗框中;然后注册各个基本组件和容器的事件监听器对象。 5)对Frame容器则需要调用setVisible(true)调显示出其内的各个组件,而对Dialog容器则需要调用show()显示出其内的各个组件。 示例:容器组件panel示例

二、Frame容器 1.创建框架Frame类对象: 1)格式: public Frame([String title]) 框架是带有标题和边界的顶层窗口。框架的缺省布局是 BorderLayout 2)常用方法: public void setSize(int width,int height) //设置宽和高 public void setVisible(boolean v) //设置窗口是否可见 public void setResizable(boolean b)//是否可调大小 public void setIconImage(Image m)//设置窗口图标 public void setBounds(int x,int y,int w,int h) public void pack()//以紧凑方式显示 public void setMenuBar(MenuBar m)//设置菜单

3)关闭窗口 给窗口增加事件监听器addWindowListener(this) 用如下方法关闭窗口: dispose(); System.exit(0); 2、示例: 窗口示例

三、容器组件的布局设计 1.布局: 它决定容器内的各个组件的摆放状态(组件大小及相对位置等),主要由布局管理器来控制 2.优点: 有次序地摆放组件、当窗口变化时会自动更新版面并调整窗口的大小。 3.要点: GUI它在布局管理上采用了容器和布局管理分离的方案。也就是说,容器只管将其他组件放入其中,而不管这些组件是如何放置的。对于布局的管理交给专门的布局管理器类(LayoutManager)来完成。

Flowlayout(从上到下,从左到右依次摆放,每行均居中,它是Panel、Applet的缺省布局); 4. Java中布局种类: Flowlayout(从上到下,从左到右依次摆放,每行均居中,它是Panel、Applet的缺省布局); BorderLayout(将容器内的空间划分为东、南、西、北、中五个方位,并指明组件所在的方位,它是Window、Dialog、Frame的缺省布局方式); CardLayout(卡片叠式布局):将组件象卡片一样放置在容器中,在某一时刻只有一个组件可见 GridLayout(行列网格状布局);形似一个无框线的表格,每个单元格中放一个组件 NULL布局:用setLayout(null)可以不使用布局,此时可以对组件进行绝对定位。 Public void setBounds(int x,int y,int w,int h)

1)FlowLayout布局策略 Flowlayout:从上到下,从左到右依次摆放,每行均居中,它是Panel、Applet的缺省布局; 示例:Flowlayout布局示例

2)BorderLayout布局策略 BorderLayout:将容器内的空间划分为东、南、西、北、中五个方位,并指明组件所在的方位,它是Window、Dialog、Frame的缺省布局方式; 示例:Borderlayout布局策略示例

3)CardLayout布局策略

4)GridLayout布局策略

5. 指定布局方式 创建指定布局方式类的对象,然后调用容器类的setLayout()方法来指定所需的布局方式。如: setLayout(new FlowLayout()); 要点: Java中不希望采用绝对定位布局而采用相对定位布局,如需要使用绝对定位布局,则应该取消容器的布局方式setLayout(null)),然后使用 setLocation() setSize() setBounds()设置组件的大小及位置。

课堂小结 理解awt的基本概念以及在JavaGUI程序设计中的重要位置。 理解容器的概念。 理解全新的布局管理器概念,掌握如何利用布局管理器来进行基本的版面设计。