07ChapterJava基础课件第七章

合集下载

java 学习课件第7章

java 学习课件第7章

5
7.1.3 事件处理方法

applet利用事件处理来实现人机交互功能, 最主要的事件处理方法是 handleEvent(), 对于人机交互来说,鼠标动作和键盘动作都 是常见的事件,要处理事件,applet 必须重 写handleEvent()或其他相应事件的处理方 法。
6பைடு நூலகம்
7.1.4 加入java.awt的方法

7.6 声音

目前在Internet上支持的声音文件格式有许多 种,常见的 有.wav,.au,.mod,.mid,.snd,.voc 等, 一般由不同的声音演奏程序来演奏这些不同 格式的声音文件。若要用Java程序来演奏, 则这些格式必须用声音格式转换程序转换为 Sun .au格式,因为目前Java的应用编程接口 仅支持一种声音格式: 8位,μlaw,8000Hz, 单通道的 .au 文件。

25
7.7 动画

动画(animation)是指活动的图形或图像,它 与影像(video)不同,video是播放视频信号而 得到的电视画面,而动画是顺序播放一序列 静止画面,这些画面看起来相同,但有细微 差别, 它们连续不断地显示就产生运动的视 觉效果。Java目前还没有支持video的能力, 但可以支持动画的播放。
7.1 小应用程序

小应用程序由Applet类定义,java.applet包主 要有Applet类和AppletContext、AppletStub、 AudioClip接口,Applet类定义了applet的各种 行为,并提供了实现applet的图形用户界面, 处理鼠标或键盘事件等方法。AppletContext 接 口 对 应 于 applet 的 环 境 , AppletStub 作 为 applet和浏览器环境(或小程序查看器)之间的 接口,AudioClip 接口提供了声音的高层抽象。

java 第七章

java 第七章

Java实例——成员变量同名
class SuperA{ private int privateData=10; public int pubSuperData; private void privateMethod(){ System.out.println("super privateData="+privateData); System.out.println("Super class's privateMethod"); } public void pubSuperMethod(){ privateMethod(); System.out.println("Super class's publicSuperMethod"); } }
Java实例——方法的覆盖
class Shape{ public int y; public Shape(){ y=20; System.out.println("this is a Constractor of shape"); } public void measure(){ System.out.println("super_y="+y); } } class Rectangle extends Shape{ public int y; public void measure(){ super.measure(); //引用父类的measure()方法 y=super.y+y;
class Shape{ public int x,y; private int m,n; public Shape(){ //父类Shape的构造方法 x=10; y=20; m=100; n=200; System.out.println("x="+x+" "+"y="+y); System.out.println("this is a Constractor of shape"); } public void measure(){ int s; s=x*y; System.out.println("result="+s); } private void show(){ System.out.println("x="+x+" "+"y="+y); } }

第7章Java程序设计基础与实践电子教案精品PPT课件

第7章Java程序设计基础与实践电子教案精品PPT课件
height指定新的大小 • setSize(int width,int height) • 设置窗口的大小,窗口在屏幕出现的默认位置是(0,0) • setVisible(Boolean b) • 设置窗口是可见还是不可见,窗口默认是不可见的
7 布局管理和容器
JFrame(续)
• setResizable(Boolean b) • 设置窗口是否可调整大小,窗口默认是可调整大小的 • setExtendedState(int state) • 设置窗口的扩展状态,其中参数state取Frame类中的下列类常量
:MAXIMIZED_HORIZ、MAXIMIZED_VERT、MAXIMIZED_BOTH • setDefaultCloseOperation(int operation) • 设置用户在此窗体上发起“close” 时默认执行的操作dispose()窗
口调用该方法可以撤销当前窗口,并释放当前窗口所使用的资源 • add(Component comp) • 将指定组件追加到此容器的尾部pack()调整此窗口的大小,以适
7 布局管理和容器
JFrame(续)Байду номын сангаас
• 例如,在JFrame窗口上放置一个按钮。程序主要代码如下:
• JFrame jf = new JFrame("JFrame");//采用构造方法JFrame(Strings)
7 布局管理和容器
常用容器
• Container类是所有容器类的父类,可以将组件添加到容器中。 Container也是Component的子类, 因此也可以作为组件添加到其 他容器上。
• Object的主要子类如图7.1所示。 • 容器从功能上可分为顶层容器、中间容器和特殊容器三种。

Java语言程序设计基础教程课件(第7章)

Java语言程序设计基础教程课件(第7章)

currentThread()方法是Thread类的类方
法,可以直接通过类名调用,该方法返回
当前正在使用CPU资源的线程。
6.Interrupt()方法
interrupt()方法常用来“吵醒”休眠的线程。但 A B 线程调用sleep方法处于休眠状态时,一个占有 阻塞状态 CPU资源的线程可以调用interrupt方法唤醒休 A.ingerrupt() Sleep() 眠中的线程自己。会导致休眠的线程发生 可运行状态 InterruptedException异常,结束休眠,重新 排队等待CPU资源,执行sleep()后的代码。
7.stop()方法 _已过时 通过调用线程的实例方法stop()来终止线 程。线程终止后,其生命周期结束了,即 进入死亡态,终止后的线程不能再被调度 执行。
8.join()方法 一个线程在占有CPU资源期间,可以让其 他线程调用join()方法和本线程联合。当 前线程等待调用该方法的线程结束后,再 重新排队等待CPU资源,以便恢复执行。 如果当前线程准备联合的线程已经结束, 也就是start方法体已经执行完,那么不 会产生任何效果。

r

q p
7.6.2 互斥锁或对象锁
为解决操作的不完整性问题,引入了对象
互斥锁,来保证共享数据操作的完整性。
每个对象都对应于一个可称为“互斥锁” Synchronized(object o){
的标记,互斥锁可以保证在任一时刻,只 需要一次执行完的语句块
} 能有一个线程访问该对象。
public void push(char c) { 同步代码 synchronized (this) { data[idx] = c; idx++; } 同步方法 } public synchronized char pop() { 注意:idx--; 1、所有存取共享数据的方法必须在同一把锁上同步 return data[idx]; 2、由同步锁保护的数据应为private的 }

JAVA第07章

JAVA第07章

版本 1.0
课程 7
幻灯片 8,共 18 张
Java 编程语言—第7章
枚举的类型
教材7-11页:
• 老格式的枚举类型,见教材7-11页。 • 思考:如何类似教材7-11,定义的常 量,如果允许用户进行组合使用,则 数字应该有什么规律?
版本 1.0
课程 7
幻灯片 9,共 18 张
Java 编程语言—第7章
教材7-4页: 静态方法中,只能调用静态方法, 也只能访问静态的变量。 注意7-5靠下的代码,写法是错误 的,因为静态方法访问了普通变 量。
版本 1.0
课程 7
幻灯片 4,共 18 张
Java 编程语言—第7章 静态初始化
教材7-6页: 在一个类中,编写一个static块, 参考教材7-6的代码。 一般建议,尽量不选择static块。
版本 1.0
课程 7
幻灯片 7,共 18 张
Java 编程语言—第7章
枚举的类型
教材7-10页:
enum 类型字段由一组固定的常量组成。 可使用 enum 关键字来定义 enum 类型。例如,指定一周每 一天的 enum 类型: public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } enum 类主体可包括方法和其他字段。 编译器当创建 enum 时自动添加一些特殊的方法。 所有 enums 从 ng.Enum 显示扩展。因为 Java 不 支持多重继承,enum 不能扩展为任何别的内容。
版本 1.0
课程 7
幻灯片 16,共 18 张
Java 编程语言—第7章
接口(续)
接口的使用: 声明期望实现一个或更多的类的方法 确定对象的编程接口而无需显示类的实际 主体 捕捉非相关类之间的相似性而无需强制类 的关系 通过声明实现几个接口的类来模拟多重继 承

07ChapterJava基础课件第七章

07ChapterJava基础课件第七章

2019年1月22日星期二
Java事件分类
2019年1月22日星期二
Java GUI事件及相应监听器接口(1)
事件类型 Action Item Mouse 相应监听器接口 ActionListener ItemListener MouseListener 监听器接口中的方法 actionPerformed(ActionEvent) itemStateChanged(ItemEvent) mousePressed(MouseEvent) mouseReleased(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mouseClicked(MouseEvent) mouseDragged(MouseEvent) mouseMoved(MouseEvent) keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent) focusGained(FocusEvent) focusLost(FocusEvent)


默认的布局管理器是BorderLayout
可使用setLayout()方法改变其默认布局管理器
2019年1月22日星期二
窗口

JFrame类是Frame的子类,是Swing中的组件 Panel也是一种窗口,但不能单独使用,必须放 在其它容器(如Frame)内使用 Panel的默认布局管理器是FlowLayout JPanel类是JComponent的子类,是Swing中的组 件
AWT
2019年1月22日星期二
常用Swing组件
Swing组件从功能上可以划分为以下几类:

java第7章

java第7章

图示:
示例程序
public class c7_1 { public static void main(String[] args) { int a,b,c; a=67; b=0; c=a/b; System.out.println(a+"/"+b+"="+c);}} 运行结果: 运行结果: Exception in thread "main" ng.ArithmeticException: /by zero At c7_1.main(c11_1.java:8)
示例程序
public class c7_3 { public static void main(String [] args) { try {throw new NullPointerException("自编异常 自编异常");} 自编异常 catch(NullPointerException e) {System.out.println("exception:"+e);} } } 运行结果: 运行结果: Exception: ng.NullPointerException: 自编异常
第7章 异常处理
• 概述 • 7.1 JAVA
异常是指发生在正常情况以外的事件, 异常是指发生在正常情况以外的事件,例如 是指发生在正常情况以外的事件 用户输入错误、除数为零、需要的文件不存在、 用户输入错误、除数为零、需要的文件不存在、 文件打不开、数组下标越界、内存不足等等。 文件打不开、数组下标越界、内存不足等等。 程序在运行过程中发生各种错误或异常是不可 避免的。一个好的应用程序, 避免的。一个好的应用程序,除了具备用户要 求的功能外, 求的功能外,还要求能预见程序执行过程中可 能产生的各种异常, 能产生的各种异常,并把处理异常的功能包括 在用户程序中。我们设计程序时, 在用户程序中。我们设计程序时,要充分考虑 到各种意外情况, 到各种意外情况,不仅要保证应用程序的正确 而且还应该具有较强的容错能力。 性,而且还应该具有较强的容错能力。这种对 异常情况给予恰当处理的技术就是异常处理 异常处理。 异常情况给予恰当处理的技术就是异常处理。

Java07(第7章)

Java07(第7章)

线程的同步
• 问题的解决
– 同步: 用synchronized关键字前缀给针对共享 资源的操作加锁;同步方法、同步块
synchronized void push(); synchronized int pop();
– 实现机制:管程 银行取款例子例子7-7 作业:模拟医院挂号。
强调: 1、join()方法;例如:Example_join.java 2、线程优先级;TestPriority.java 3、yield()方法;TestYield.java 4、线程间需协调与通讯:生产者/消费 者问题(wait(),notify(),notifyAll()); TestMultiThread.java 查阅资料,了解: 5、ThreadLocal类; 6、ThreadGroup类与destroy()方法; 7、interrupt()方法;8、例7-8
2、线程的生命周期 、
• 线程要经历创 就绪、 建、就绪、运 行、阻塞和死 亡等5个状态 亡等 个状态 , 称为生命周期。 称为生命周期。
线程状态
消亡 new Thread(..) 新建状态 run() 结束 stop() CPU调度 就绪状态 yield() I/O完成 sleep时间到 notify() I/O sleep() 等待状态 wait() 执行状态
Java语言程序设计 语言程序设计
清华大学出版社
第7章 多线程与异常处理
第7章 章
多线程与异常处理
1、多线程的概念 、 2、线程的使用 、 3、线程同步 、 4、异常处理 、
7.1 多线程的概念
1、线程与多线程 、 2、线程的生命周期 、 3、线程的优先级 、
程序 - 进程 - 线程
• 程序是为完成特定任务、用某种语言编写的 一组指令的集合。指一段静态的代码。 • 进程是程序的一次执行过程,是系统进行调 度和资源分配的一个独立单位。

java第7章

java第7章

用字符数组value[ ]来创建字符串对象。
从字符数组value中下标为offset的字符开始,创 建有count个字符的串对象。
用byte型字符串数组ascii,按缺省的字符编码方 案创建串对象。
从字节型数组ascii中下标为offset的字符开始,按 缺省的字符编码方案创建count个字符的串对象。 构造一个新的字符串,其值为字符串的当前内容。
int len1=s1.length( );
int len2="ABCD".length( );
第7章 字 符 串 类
char c1="12ABG".charAt(3);// 返回当前串对象下标int index处的字符
char c2=s1.charAt(3);
// char c3=cc.charAt(1);错,不能这样用
//返回当前串内第一个与指定字符ch相同的下标
int n1="abj".indexOf(97); int n2=s1.indexOf('J'); int n3="abj".indexOf("bj",0); int n4=s1.indexOf("va",1);
第7章 字 符 串 类 7.1.2 String类的构造方法 表7.1 String类的构造方法
构造方法 public String( ) public String(String value) 说 创建一个空字符串对象 用串对象value创建一个新的字符串对象,value可 以是字符串或String类的对象。 明
第7章 字 符 串 类
【示例程序c7_1.java】 String类的7种构造方法的使用。

Java基础第7章课件

Java基础第7章课件
– LinkedList集合除了具备增删元素效率高的特点,还专门针对元素 的增删操作定义了一些特有的方法。
7.2 List 接口
• 7.2.3 LinkedList集合
– 接下来通过一个案例来学习这些方法的使用。
7.2 List 接口
• 7.2.3 LinkedList集合
– 测试ArrayList与LinkedList在插入和遍历元素时的效率:
• 7.2.7 Enumeration接口
– 通过一个案例来演示如何使用Enumeration对象遍历Vector集合:
7.2 List 接口
• 7.2.8 Stack类
– Java集合类提供了栈Stack类,Stack类直接继承于Vector类,位 于java.util包中。
7.2 List 接口
• Collection是所有单列集合的父接口,因此在Collection中 定义了单列集合(List和Set)通用的一些方法,这些方法可 用于操作所有的单列集合。
7.2 List 接口
• 7.2.1 List接口简介
– List接口继承自Collection接口,是单列集合的一个重要分支,习 惯性地会将实现了List接口的对象称为List集合。 – 在List集合中允许出现重复的元素合Map。
第七章 集合
– Collection:单列集合类的根接口,用于存储一系列符合某种规则 的元素,它有两个重要的子接口,分别是List和Set。其中,List 的特点是元素有序、元素可重复。Set的特点是元素无序并且不可 重复。List接口的主要实现类有ArrayList和LinkedList,Set接口的 主要实现类有HashSet和TreeSet。 – Map:双列集合类的根接口,用于存储具有键(Key)、值(Value)映 射关系的元素,每个元素都包含一对键值,在使用Map集合时可 以通过指定的Key找到对应的Value,例如根据一个学生的学号就 可以找到对应的学生。Map接口的主要实现类有HashMap和 TreeMap。

Java基础第7章课件

Java基础第7章课件

第七章 IO
让IT教学更简单,让IT学习更有效
7.1.1 IO流的分类
– IO流有很多种,按照操作数据的不同,可以分为字节流和字符流,按 照数据传输方向的不同又可分为输入流和输出流,程序从输入流中读取 数据,向输出流中写入数据。
按照数据的输入输出方式分为:输入流和输出流
输入流(Input Stream)
字符流 Reader Writer
第七章 IO
7.1.2 Java的IO流体系结构
让IT教学更简单,让IT学习更有效
第七章 IO
7.1.2 Java的IO流体系结构
让IT教学更简单,让IT学习更有效
7.2 File类
让IT教学更简单,让IT学习更有效
• 7.2.1 文件与目录的创建
– File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径, 也可以是相对于当前目录而言的相对路径
再如:TestFile1.java
7.2 File类
让IT教学更简单,让IT学习更有效
如何创建一个文件或目录
创建一个文件:
1、调用File对象的createNewFile() 2、调用FileOutputStream()
创建一个目录: 1、mkdir(); 创建父目录已经存在的目录 2、mkdirs();创建多层目录
在Java程序中,我们可以使用File.pathSeparator来表示
与系统无关的路径分隔符。
String separator = File.separator; String fileName = "myfile.txt"; String directory ="mydir1"+separator+"mydir2"; File f = new File(directory,fileName);

PPT_Chapter07

PPT_Chapter07

含义:高级语言中的数组和数学中的意义相似,都 含义:高级语言中的数组和数学中的意义相似, 是变量的集合。 是变量的集合。
定义1:数组是相同类型 受编程语言的限制 的变量集合, 受编程语言的限制)的变量集合 定义 :数组是相同类型(受编程语言的限制 的变量集合, 其元素都是原型类型或类类型。 其元素都是原型类型或类类型。 定义2:数组是多个元素的有序列表, 其类型是相同的, 定义 :数组是多个元素的有序列表 其类型是相同的, 其元素都是原型类型或类类型
要是8000个元素呢?方便吗?
6
Arrays
An array is an ordered list of values
The entire array has a single name Each value has a numeric index
0
1
2
3
4
scores 79 87 94 82 67 98 87 81 74 91
Note that the array type does not specify its size, but each object of that type has a specific size
The reference variable scores is set to a new array object that can hold 10 integers
4
数组是否属于对象存在争议: 数组是否属于对象存在争议: An array: a single name for a collection of data values, all of the same data type subscript notation identifies precisely one of the values Arrays are a carry over from earlier programming languages Array: more than a primitive type, less than an object their methods are invoked with a special subscript notation ϒ most programmers do not even think of them as methods they work like objects when used as method arguments and return types they do not have or use inheritance they are sort of like a Java class that is not fully implemented Arrays are a natural fit for loops, especially for loops 5

java基础教程-第7章

java基础教程-第7章
static void m1(int[] b) throws ArrayIndexOutOfBoundsException {m2(b);} static void m2(int[] c) throws ArrayIndexOutOfBoundsException {System.out.println(c[2]);} }
class TryAndCatchA{ static int demoThrow(String s ){ try{ if(s.equals("welcome")){ System.out.println("demoThrow(\""+s+"\") 未 抛 出 异 "); 常"); } if(s.equals("bug")){ throw new MyException("a bug"); } }catch(MyException e){
以参数welcome bug执行该程序,产生的输出为: demoThrow(“welcome”)未抛出异常 串长:7 ***** demoThrow(“bug”)抛出类型为“class MyException”,异常信息 是“a bug”的异常 程序结束
⑴在一个方法内如果出现了异常,有两种对待异常的方式: ① 在方法内部处理该异常;
⑴Java通过try — finally语句提供了这样的机制:不处理运行 时异常,当运行时异常出现后又能继续执行必须执行的程序 块。 ⑵一般形式是 try {//括号内为被监视的块 … } finally {//无论上面被监视的块是否出现异常,本括号内的块都 执行 … }
例7.8 finally配合break, continue和return语句工作 class FinalBCR{ public static void useFBCR(){ for(char ch='a';ch<'d';ch++){ try{ if(ch=='a'){System.out.println("收到字符a");} if(ch=='b'){System.out.println("收到字符b");continue;} if(ch=='c'){System.out.println("收到字符c");break;} }finally{System.out.println(ch+" "+ch+" "+ch);}

java课件chap7

java课件chap7

7.4 颜色
设置颜色 用java.awt.Graphics类的方法设定颜色或获取颜色。这些方 法及其功能如下:
1.setColor(Color c) 设定前景颜色,c代表颜色。 2.setColor(new Color(int r,int g,int b)) 设定前景颜色的另一个方法。 3.setBackground(Color c) 设定背景颜色,c代表颜色。 4.getColor() 获取当前所使用的颜色。
7.1 Swing概述 概述—Swing与AWT之间的关系 概述 与 之间的关系
Swing不是AWT的替代,Swing实际上是建立在核心AWT 库之上的。Swing的产生主要原因就是AWT不能满足图形 化用户界面发展的需要。此外,AWT基于同位体的体系 结构也成为其致命的弱点。而Swing不包含任何平台专用 代码,不依赖操作系统的支持,其组件是用纯Java实现 的轻量级( light-weight)组件,没有本地代码。这是它 与AWT组件的最大区别。由于AWT组件通过与具体平台 相关的对等类(Peer)实现,因此Swing比AWT组件具有 更强的实用性。Swing在不同的平台上表现一致,并且有 能力提供本地窗口系统不支持的其它特性。
public Font(String name,int style,int size) 参数说明:字体的名称name可以取ScanSerif、Monospace、Dialog、 Serif、DialogInput等之一,字型style可以取Font.BOLD、Font.ITALIC、 Font.PLAIN之一,字的大小size为磅
7.1 Swing概述 概述
Swing是Sun Microsystems建立的下一代GUI工具包。它 允许使用Java语言进行企业级开发,程序员可以使用 Swing建立包含许多功能强大的组件的大型Java应用程序。 此外,还可以很容易地扩充和修改这些组件以控制它们 的 外 观 和 行 为 。 Swing 是 Java 产 品 ( JFC , Java Foundation classes)的一部分,大多数Swing组件是直 接用Java代码绘制的,更少依赖目标机器上的平台,更 少使用本地GUI资源。因此,Swing组件称为轻型组件。 Java 2 SDK1.5版本中包括许多已更新的Swing类和一些 新的特性。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



2013年11月26日星期二
AWT组件相关类的层次关系
图7-1 Java AWT组件类的层次关系
2013年11月26日星期二
Swing的类层次关系
java.awt.Container javax.swing.Jcomponent JTextComponent
AbstractButton
Jpanel JComboBox JLabel Jtree …

2013年11月26日星期二
窗口

JPanel类及其子类可以直接添加组件
JFrame不能直接添加组件
JFrame可以使用两种方法添加组件

frame.getContentPane().add(...) JPห้องสมุดไป่ตู้nel contentPane = new JPanel(); frame.setContentPane(contentPane);
Window
WindowListener
Container Text
ContainerListener TextListener
2013年11月26日星期二
7.3 AWT/Swing组件
• 与AWT和Swing相关的包 • AWT组件包:java.awt.* • Swing组件包:javax.swing.* • 事件包:java.awt.event.*
2013年11月26日星期二
Java事件分类
2013年11月26日星期二
Java GUI事件及相应监听器接口(1)
事件类型 Action Item 相应监听器接口 ActionListener ItemListener 监听器接口中的方法 actionPerformed(ActionEvent) itemStateChanged(ItemEvent) mousePressed(MouseEvent) mouseReleased(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mouseClicked(MouseEvent) mouseDragged(MouseEvent) mouseMoved(MouseEvent) keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent) focusGained(FocusEvent) focusLost(FocusEvent)
2013年11月26日星期二
组件类型
Button Canvas Checkbox CheckboxMenuItem Choice Component Container Dialog Frame Label List Menu MenuItem Panel Scrollbar ScrollPane TextArea TextField Window
2013年11月26日星期二

7.2事件处理机制
事件(Event) – 一个对象,它描述了发生什么事情 事件源(Event source) – 产生事件的组件 监听器接口(事件处理方法) – 能够接收、解析 和处理事件类对象、实现和用户交互的方法
用户鼠标点击 ①

actionPerformed(ActionEvent e){ …… }
AWT
2013年11月26日星期二
常用Swing组件
Swing组件从功能上可以划分为以下几类:
顶层容器:JFrame、JApplet、JWindow和JDialog。
普通容器:JPanel,JScrollPane ,JSplitPane和 JTabbedPane, 也叫中间层容器。
特殊容器:JInternalFrame,JLayerPane,JRootPane和 JToolBar,能够起到特殊作用的容器。 基本组件:如JButton,JComboxBox,JList,JMenu, JSlider和JTextField,是应用较多的普通组件。


默认的布局管理器是BorderLayout
可使用setLayout()方法改变其默认布局管理器
2013年11月26日星期二
窗口

JFrame类是Frame的子类,是Swing中的组件 Panel也是一种窗口,但不能单独使用,必须放 在其它容器(如Frame)内使用 Panel的默认布局管理器是FlowLayout JPanel类是JComponent的子类,是Swing中的组 件
2013年11月26日星期二
事件处理模型(Delegation Model)
一个事件可以被发送到多个不同的处理方法
如果关注某个组件产生的事件 ,则可以在该组件上 注册适当的事件处理方法,实际上注册的事件处理 者方法所属类型的一个对象----事件监听器
2013年11月26日星期二
事件处理模型
Java GUI设计中,通过注册监听器的方式 对所关注的事件源进行监控。
2013年11月26日星期二
Component及其子类常用属性和方法
属性名称 背景颜色 边界 光标 拖放目标 使能 字体 前景色 地区 位置 部件名称 尺寸 可见性 设置属性的方法 void setBackground(Color) void setBounds(Rectangle) void setBounds(int,int,int,int) void setCursor(Cursor) void setDropTarget(DropTarget) void setEnabled(boolean) void setFont(Font) void setForeground(Color) void setLocale(Locale) void setLocation(Point) void setLocation(int,int) void setName(String) void setSize(Dimension) void setVisible(boolean) 获取属性的方法 Color getBackground() Rectangle getBounds() Cursor getCursor() DropTarget getDropTarget() boolean isEnabled() Font getFont() Color getForeground() Locale getLocale() Pont getLocation() Point getLocationOnScreen( ) String getName() Dimension getSize() boolean getVisible()
2013年11月26日星期二
Java中GUI容器类层次
2013年11月26日星期二
窗口

Frame和Panel是2种常见的窗口
Frame类是抽象类Window的子类
Frame对象显示效果是一个窗口,带有标题和 大小调整按钮 默认初始化为不可见,可使用setVisible(true)方 法使之变为可见
第7章 Java GUI应用程序设计
内容提要:
AWT与Swing 事件处理机制 AWT/Swing组件 常用事件 绘图

2013年11月26日星期二
7.1 AWT与Swing

GUI -- Graphical User Interface AWT-- AbstractWindow Toolkit AWT中定义了多种类和接口,用于在Java Application/Applet中进行GUI设计
2013年11月26日星期二
7.3.1 容器(Container)


容器(Container)实际上是Component的子类,因 此容器类对象本身也是一个组件,具有组件的 所有性质,另外还具有容纳其它组件和容器的 功能。 容器类对象可使用方法add()添加组件 两种主要的容器类型

Window: 可自由停泊的顶级窗口 Panel:可作为容器容纳其它组件,但不能独立存在, 必须被添加到其它容器中(如Window 或 Applet)
Mouse
MouseListener
Mouse Motion
MouseMotionListener
KeyListener FocusListener
Key Focus
2013年11月26日星期二
Java GUI事件及相应监听器接口(2)
事件类型 Adjustment Component 相应监听器接口 AdjustmentListener ComponentListener 监听器接口中的方法 adjustmentValueChanged (AdjustmentEvent) componentMoved(ComponentEvent) componentHidden (ComponentEvent) componentResized(ComponentEvent) componentShown(ComponentEvent) windowClosing(WindowEvent) windowOpened(WindowEvent) windowIconified(WindowEvent) windowDeiconified(WindowEvent) windowClosed(WindowEvent) windowActivated(WindowEvent) windowDeactivated(WindowEvent) componentAdded(ContainerEvent) componentRemoved(ContainerEvent) textValueChanged(TextEvent)

常用方法

2013年11月26日星期二
JFrame应用示例
相关文档
最新文档