`
hao861002
  • 浏览: 87090 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java复习第十二天

阅读更多

一、复习AWT事件模型(Observer模式)
   1、事件源
   2、事件对象
   3、事件监听器

事件源和监听器事先进行授权注册,当事件条件满足时,事件源会给注册的监听器发送一个事件对象,由事件监听器作出相应的处理。

一个事件源可以是多种事件的事件源
一个事件源就同一类事件可以注册多个监听器
一个监听器可以同时注册在多个事件源当中

事件源和监听器是独立,弱耦合的,是各司其职的

事件对象中会封装事件源对象
事件监听接口中的每一个方法都要以事件对象为参数
事件源中要保存和它有监听关系的监听器
事件源给事件监听器发送事件对象:事件源以事件对象作为参数,调用监听器接口的相应方法,通过回调,调用的是不同监听实现类的方法

二、
在Java的图形编程中,所有动作(事件)都已经提供了相应的事件对象和事件监听接口,
例如:实现窗口的关闭按钮,点击关闭按钮会发出相应的事件对象,相应的调用监听器中实现好的方法。
相应的方法清参阅Java2 SE API帮助文档。

缺省适配模式,通过一个抽象类实现接口,抽象类中的接口方法实现,都是一个无意义的空实现,可以继承这个抽象类,只覆盖向覆盖的方法就可以了。

在java.awt.event包中,会有一些适配类,也就是把相应的XXXListener,换成XXXAdapter就是适配类。
适配类是抽象类,其中对接口XXXListener中的方法进行了空实现,实现这个类,覆盖对自己有用的方法

在java.awt.event包中的ActionEvent类,在以下操作中会发送这个事件,
1,JButton组件,按钮被点击
2,JTextField组件,在单行文本域中按Enter键。
3,JCheckBox组件,选中了复选框。
4,JRadioButton组件,选中了单选按钮。
5,JMenu组件,选中菜单项。


添加事件监听:
1、实现监听接口
2、将监听器对象注册在组件(事件源)中

ActionEvent 
事件源 --- 组件 JButton 按钮   点击触发ActionEvent 
               JTextField 单行文本域  输入内容以后回车触发ActionEvent 
jtf.getText();  //得到文本域中的内容

练习:
1、写一个图形界面,采用BorderLayout布局,中间的部分放置一个可以滚动不可编辑的JTextArea,南面放置一个可以编辑的JTextField,
但在TextField中输入文字并按下回车的时候,文字会添加到TextArea中

2、为BAM添加用户界面
需要以下几个类:

BAMClient 其中会包含一个Frame,这是用户主界面
MainPanel:主界面,用户可以选择开户或者登录
RegisterPanel:用户开户具体用到的界面
LoginPanel:用户登录需要的界面
BusinessPanel:界面上会显示账户的功能 至少包括存款和取款,对于可透支的用户,还允许用户修改透支额度,对于贷款用户,还允许用户贷款和还贷款

注:本练习的界面布局不做要求,请阅读现有代码,添加事件处理代码
提示:在开户或者登录之后都会跳到BusinessPanel,而用户点击了交易之后,界面停留在BusinessPanel
要随时注意在BusinessPanel上根据数据的变化更新显示信息

三、多线程
C++的多进程是OS系统并发的一个任务
Java中没有多进程,一个JVM就是一个进程

线程是在进程中并发的一个顺序的执行流程

多进程:划分时间片,宏观上并行,微观上串行
多线程:cpu在进程内部再划分时间片

CPU ,代码 ,数据
进程:进程间数据独立
线程:数据空间共享,堆空间的共享(堆空间中存放的是对象),栈空间是独立的
所以线程间切换容易,称为轻量级进程

一个线程对象代表了一个线程,并非就是一个线程
线程是操作系统中负责维护的资源
java.lang.Thread类的一个对象就代表一个线程
线程是底层OS维护的资源,JVM跑在OS上,在JVM中创建一个Thread对象,调用其start()方法,底层OS会申请一个线程资源,线程对象可到底层管理一个线程
创建好线程之后,把要让线程执行的代码封装到线程对象中(覆盖run()方法)

实现线程代码的方式:
1、继承Thread 类,覆盖run()方法
   去底层申请线程并运行,对线程对象调start()方法,main方法是一个主线程
   宏观并行,微观串行
2、实现Runnable接口
  使用多态获得Runnable对象,成为目标对象
  再利用目标对象构造线程对象  Thread t = new Thread(target);


四、多线程的状态转换图(7状态图)
  见另一文件,名为Thread.pdf


作业:
用两种方式实现两个线程,一个线程负责打印1-2600,另一个线程打印A-Z,反复打印100遍



分享到:
评论

相关推荐

    Java语言程序设计基础第十版第十二章课后复习题答案

    根据提供的信息,我们可以总结出以下关于《Java语言程序设计基础第十版》第十二...以上是对《Java语言程序设计基础第十版》第十二章中部分复习题答案的详细解释,希望能帮助读者更好地理解Java中的异常处理及相关概念。

    在达内学习java的笔记

    12. **Java复习第十二天**:可能涉及反射机制,用于在运行时动态获取类的信息和调用方法,以及Java代理(Proxy)和动态代理。 13. **Java复习第十三天**:最后可能会讲解一些高级话题,如集合框架的高级特性和并发...

    java语言程序设计 进阶版 第十版 复习题答案

    本书《Java语言程序设计 进阶版 第十版》提供的复习题及其答案,旨在帮助读者巩固并深化对Java语言的理解。下面将详细讨论复习题中涉及的一些关键知识点。 1. **面向对象编程**:Java是一种面向对象的语言,复习题...

    java程序语言设计第十版复习题答案

    Java程序语言设计是编程学习的重要领域,特别是在第十版中,作者深入浅出地讲解了Java的核心概念和技术。...这份"java程序语言设计原书第十版基础复习题答案"将是你宝贵的参考资料,帮助你在学习过程中找到正确的方向。

    java 考试复习指南

    【Java 考试复习指南】 1. Java 编译过程:Java 源程序文件(扩展名为 .java)经过Java编译器编译后,会生成字节码文件(扩展名为 .class)。这是Java程序运行的基础,因为JVM(Java虚拟机)执行的是字节码。 2. ...

    java语言程序与数据结构梁勇第十版第七章复习题答案

    在“Java语言程序与数据结构梁勇第十版第七章复习题答案”中,我们主要探讨的是Java编程语言的基础知识,特别是与数据结构相关的概念。Java作为一种面向对象的编程语言,对于初学者来说,理解其基本语法、类和对象、...

    JAVA复习ppt

    这个“JAVA复习ppt”很可能是华南理工大学为了帮助学生系统复习Java编程知识而制作的教学材料。Java的特点包括跨平台性、简单性、面向对象、健壮性和安全性,这些特性使得它成为开发桌面应用、企业级应用、移动应用...

    Java语言程序设计基础课后复习题答案第十三章

    Java 语言程序设计基础课后复习题答案第十三章 本部分内容将详细讲解 Java 语言程序设计基础课后复习题答案第十三章中的知识点。 一、Java 基础知识 1.1 在 Java 中,什么是可变长参数?答:在 Java 中,使用可变...

    java复习Java程序设计

    在这个Java复习资料中,我们可以看到一系列关于这个主题的PPT和文档,旨在帮助学习者掌握关键概念并为期末考试做好准备。 首先,从《Java程序设计》期末复习题.doc中,我们可以预期这是一份综合性的复习指南,可能...

    JAVA课程总复习

    【JAVA课程总复习】 在Java编程领域,复习是巩固学习成果和提升技能的关键步骤。"JAVA课程总复习"涵盖了从基础到高级的各种Java知识点,旨在帮助开发者系统地回顾和理解这个强大而广泛应用的编程语言。 首先,我们...

    java复习模拟试题

    java复习模拟试题,高质量。经典题例子,附有答案,让你收获多多,成绩稳步提高! 部分内容如下,点击下载可看全部哦!!! 6分析下面的Java程序,编译运行结果是()。(选一项) public class B{ public static ...

    Java语言程序设计基础第十版第十一章课后复习题答案

    ### Java语言程序设计基础第十版第十一章课后复习题答案解析 #### 11.1 关于子类与父类的关系 - **题目**: 下面说法是真是假?一个子类是父类的子集。 - **答案**: 假,子类是父类的扩展,并不是子集。 - **解析**:...

    Java语言程序设计(梁勇)第21-30章全部完整习题答案

    这份"Java语言程序设计(梁勇)第21-30章全部完整习题答案"是学习Java编程时的宝贵资源,它涵盖了高级特性和面向对象编程的关键概念。 在第21章,主题可能涉及到多线程,这是Java的一个强大特性。通过创建线程,...

    JAVA理论知识基础复习

    JAVA理论知识基础复习 JAVA理论知识基础复习是指对JAVA语言的基础知识进行复习和总结,本文将涵盖构造方法、new关键字、方法的重载、特殊变量this、static定义常量、继承、方法的重写、特殊变量super、多态性等相关...

    java复习题库 计算机认证考试

    【Java复习题库知识点详解】 Java是一种面向对象的高级编程语言,它的主要特点包括:面向对象、跨平台、高性能和丰富的类库。在Java中,程序的基本单位是类,而不是文件,因此选项B描述错误。Java语言区分大小写,...

    Java语言程序设计第10版(基础篇)复习题答案

    《Java语言程序设计第10版(基础篇)》是一本深入浅出的Java编程教材,旨在帮助初学者掌握这门强大的面向对象编程语言。复习题答案提供了对每一章节核心概念的检验和巩固,帮助读者确认对每个主题的理解是否到位。...

    java基础复习

    ### Java基础复习知识点详解 #### 一、Java语言特点 - **高级编程语言**:Java是一种面向对象的高级编程语言,具有以下特点: - **简单性**:语法简洁,易于学习。 - **结构中立**:独立于硬件结构,能够在各种...

    达内 corejava课程源码及每日课程复习文档

    这个压缩包中包含了课程的源码实例和每日课程的复习文档,为学习者提供了十五天的学习材料。 1. **Java基础**:学习Java首先要了解其基本语法,包括数据类型、变量、运算符、控制结构(如if语句、for循环、while...

Global site tag (gtag.js) - Google Analytics