Java事件处理模型
|
|
|
- 阴配 羿
- 7 years ago
- Views:
Transcription
1 Java 事件处理模型 北京理工大学计算机学院 金旭亮
2 事件驱动 的软件系统 面向对象的软件系统许多是 事件驱动 的, 通常定义了一系列的事件, 并且事先规定好这些事件发生时应该如何响应 由于事件的发生通常是离散的, 所以 事件驱动 的软件系统并没有一个固定的执行流程 Java 的 GUI 应用程序也是 事件驱动 的 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 2
3 Java GUI 事件处理程序示例 手写的 Java 事件处理程序 :TheSimplestEvent.java 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 3
4 TheSimplestEvent.java 用户鼠标点击 JVM 调用 actionperformed(actionevent e) { } Java GUI 应用程序事件的编程模型被称之为 事件委托模型 (event delegation model) 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 4
5 事件处理的相关概念 事件对象 (Event object): 事件发生时所携带的信息 事件源 (Event Source): 能够产生事件的 GUI 组件对象, 如按钮 文本框等 事件监听器 (Event Listener): 当事件发生时, 事件监听器对象会得到通知, 它所事先准备好的事件处理方法被调用 这些事件处理方法的参数中, 将引用到相应的事件对象 三者之间的相互协作关系称为 事件委托模型 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 5
6 Java 事件委托模型的概貌 事件源 (Event Source) 注册 事件监听器 (Event Listener) 事件监听器接口 转发 封装相关信息 事件对象 (Event Object) EeventObject 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 6
7 事件信息 不同的事件伴随着不同的信息, 这些事件信息都保存在一个派生自 AWTEvent 的对象中 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 7
8 事件监听器接口 不同的事件携带不同的信息对应不同的事件监听器接口 事件监听器对象必须实现相应的事件监听器接口 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 8
9 Java 事件委托处理模型的使用方法 1. 写出一个实现事件监听器接口 (XXXListener) 接口的类 2. 创建此事件监听器类的一个对象, 如 myhandler 3. 对事件源组件 ( 比如按钮 ) 调用 addxxxlistener(myhandler) 方法 2014/11/17 9 金旭亮 Java 编程系列 (2014 版 )
10 示例项目 :TextFieldTest 回车! 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 10
11 事件监听器接口 ActionListener 从事件监听器基类接口 EventListener 派生而来 : public interface ActionListener extends EventListener ActionListener 接口只有一个方法 : public void actionperformed(actionevent e) 此方法封装事件响应代码 事件监听器基类接口 EventListener 没有任何成员, 这种接口被称为 标记接口 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 11
12 事件适配器
13 背景 有些事件接口定义了相当多的方法 : public interface WindowListener { void windowopened(windowevent e); void windowclosing(windowevent e); void windowclosed(windowevent e); void windowiconified(windowevent e); void windowdeiconified(windowevent e); void windowactivated(windowevent e); void windowdeactivated(windowevent e); } 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 13
14 背景 这会导致事件监听器类的代码很 无奈 : class Terminator implements WindowListener { public void windowclosing(windowevent e) { if (user agrees) System.exit(0); } public void windowopened(windowevent e) {} public void windowclosed(windowevent e) {} public void windowiconified(windowevent e) {} public void windowdeiconified(windowevent e) {} public void windowactivated(windowevent e) {} public void windowdeactivated(windowevent e) {} } 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 14
15 引入事件适配器 事件适配器 : 实现某一特定事件接口的所有方法, 只不过方法为空 定义适配器是为了简化事件处理的代码量 这时, 只需继承一个事件类, 覆盖其中感兴趣的事件代码就行了 JDK 提供了 WindowAdapter 这一类实现 WindowListener 接口, 从而大大简化了代码 2014/11/17 15 金旭亮 Java 编程系列 (2014 版 )
16 事件适配器类的实例 // 给窗口增加关闭功能 WindowListener w=new WindowAdapter() { public void windowclosing(windowevent e) { if (user agrees) System.exit(0); } }; frame.addwindowlistener(w); 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 16
17 更进一步简化 frame.addwindowlistener( new WindowAdapter() { public void windowclosing(windowevent e) { if (user agrees) System.exit(0); } }); 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 17
18 JDK 中的部分适配器 Event-adapter class in java.awt.event ComponentAdapter ContainerAdapter FocusAdapter KeyAdapter MouseAdapter MouseMotionAdapter WindowAdapter Implements interface ComponentListener ContainerListener FocusListener KeyListener MouseListener MouseMotionListener WindowListener 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 18
19 处理鼠标事件 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 19
20 相关接口 与鼠标相关的顶层接口有两个 :MouseListener 和 MouseMotionListener 其子接口 MouseInputListener 组合 了这两个接口的所有方法, 另有一个 MouseWheelListener 接口与鼠标中部滚轮滚动相关 MouseListener 接口 : public void mousepressed( MouseEvent event ) public void mouseclicked( MouseEvent event ) public void mousereleased( MouseEvent event ) public void mouseentered( MouseEvent event ) public void mouseexited( MouseEvent event ) MouseMotionListener 接口 : public void mousedragged( MouseEvent event ) public void mousemoved( MouseEvent event ) 方法参数 MouseEvent 封装了鼠标事件的相关信息 ( 比如 x 和 y 的坐标 ), 其基类 InputEvent 中定义了一些方法与常量, 可以用于确定鼠标的哪个按键被按下 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 20
21 捕获鼠标示例 参看示例项目 :MouseTracker 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 21
22 检测鼠标按键 主要通过 InputEvent 方法来完成这一工作 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 22
23 检测鼠标按键 参看示例项目 :MouseAdapterTest 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 23
24 使用鼠标绘图 参看示例项目 :Painter 要点 : 在 mousedragged 事件中记录下鼠标位置重写 JPanel 的 paintcomponent 方法, 在其中为记录下的每个鼠标坐标绘制一个小圆点 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 24
25 处理键盘事件
26 与按键相关的类型 最基本的是 KeyListener 接口 它定义了 keypressed, keyreleased 和 KeyTyped 方法 按键信息由 KeyEvent 对象负责承载 按键分为以下三类 : 1. Action Key: 如 F1 PageUP 之类 2. Modifier Key: 如 Ctrl Shift 3. 普通键 : 如 a A 1 [ 之类 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 26
27 按键示例 参看示例项目 : KeyDemo 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 27
28 活用事件
29 多重监听器 一般情况下, 事件源可以产生多种不同类型的事件, 因而可以注册 ( 触发 ) 多种不同类型的监听器 一个事件源组件上可以注册多个监听器, 针对同一个事件源的同一种事件也可以注册多个监听器 一个监听器可以被注册到多个不同的事件源上 TheSimplestExample2.java 2014/11/17 29 金旭亮 Java 编程系列 (2014 版 )
30 如何区分开是哪个按钮被点击? Demo: WhichIsClicked.java 默认情况下,JButton 的 ActionCommand 属性等于其 Text 属性值, 可以通过查看其基类 AbstractButton 的 getactioncommand 方法知道这点 : public String getactioncommand() { String ac = getmodel().getactioncommand(); if(ac == null) { ac = gettext(); } return ac; } 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 30
31 小结 : 事件处理方法的编写方式 我们可以有四种方式编写事件处理方法, 各有优缺点 : 1. 顶级类 : 创建一个独立的类, 实现特定的事件监听接口, 很少用 2. 让事件源组件自身实现特定的事件监听接口, 不推荐使用 3. 使用内部类, 推荐 ( 多个组件需要复用 ) 4. 使用匿名类, 推荐 ( 仅特定组件需要使用 ) 示例 : 1. Simple1.java--- 内部类 2. Simple2.java--- 内部匿名类 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 31
32 内部类实现事件监听器的示例 ButtonTest.java 使用内部类 ( 或匿名类 ) 的最大好处是事件处理程序可以很方便地访问外部类的私有成员 2014/11/17 32 金旭亮 Java 编程系列 (2014 版 )
33 实例分析 MulticastTest.java: 同时关闭多个窗体 要点 : 1. 新窗体的构造函数接收一个 JButton 对象 2. Close all 按钮监控多个对象 还有其他的实现方法吗? 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 33
34 处理文本框的 TextChange 事件 实例 :TextTest.java 2014/11/17 34 金旭亮 Java 编程系列 (2014 版 )
35 剖析时钟程序 JTextField 以 MVC 模式实现 当文本框的文字改变时, 相当于 Document 发生了改变, 将会调用 insertupdate,removeupdate 和 changedupdate 三个方法 这三个方法是 DocumentListener 接口的成员 需要理解 MVC 模式的含义 2014/11/17 35 金旭亮 Java 编程系列 (2014 版 )
36 Actions
37 引入 Action 的原因 在实际开发中, 经常需要让多个 UI 组件 ( 比如工具栏上的按钮或菜单上的命令 ) 实现同一个功能, 而且它们的状态需要同步, 比如某功能不可用时, 工具栏上的按钮或菜单上的命令必须同时灰掉 为了解决这个问题,Java 引入了 Action 接口, 此类派生自 ActionListener, 它扩充定义了以下的方法 : void actionperformed(actionevent event) void setenabled(boolean b) boolean isenabled() void putvalue(string key, Object value) Object getvalue(string key) void addpropertychangelistener(propertychangelistener listener) void removepropertychangelistener(propertychangelistener listener) 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 37
38 AbstractAction 由于 Action 接口定义了太多的方法, 为了方便开发,JDK 提供了一个 AbstractAction 类实现了这一接口, 我们可以直接继承自 AbstractAction, 重写需要的方法就行了 参看示例项目 :ActionTest 示例要点 : 1 给按钮加上了图标 2 支持快捷键 (Ctrl+B 等 ) 3 支持 ToolTips 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 38
39 处理菜单事件 实例 :ImageViewer.java 2014/11/17 39 金旭亮 Java 编程系列 (2014 版 )
40 对话框的设计与使用
41 模式与非模式对话框 模式对话框显示时, 必须关闭它之后才可以访问主窗体 JOptionPane 是最常用的显示模式对话框的组件, 拥有相当多的功能 : 参看示例项目 :OptionDialogTest 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 41
42 JOptionPane 的灵活性 JOptionPane 可以显示一个 Component, 或者是任何一个对象 ( 通常会调用它的 tostring 方法以得到一个字串 ) JOptionPane 显示之后有一个返回值, 应用程序可以通过它来知道用户的操作结果 : int selection = JOptionPane.showConfirmDialog( parent, "Message", "Title", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (selection == JOptionPane.OK_OPTION) /11/17 金旭亮 Java 编程系列 (2014 版 ) 42
43 开发可交换信息的对话框 参看 DataExchangeTest.java 注意信息是如何传递的 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 43
44 综合实例 参看示例 :ColorChooserTest.java 三种对话窗口与主窗口相互交换信息的方式 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 44
45 多文档界面 参看示例项目 :MultipleDocumentTest 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 45
Swing-02.pdf
2 J B u t t o n J T e x t F i e l d J L i s t B u t t o n T e x t F i e l d L i s t J F r a m e 21 2 2 Swing C a n v a s C o m p o n e n t J B u t t o n AWT // ToolbarFrame1.java // java.awt.button //
<4D F736F F F696E74202D C DB5DA3136D5C25FCAC2BCFEC7FDB6AFB3CCD0F2C9E8BCC62E BBCE6C8DDC4A3CABD5D>
第 16 章事件驱动程序设计 1 动因 假如希望编写一个 GUI 程序, 提示用户输入贷款总额 年利率和年数, 然后点击 Compute Loan 按钮获取月偿还 额和总偿还额 如何完成这个任务呢? 必须使用事件驱 动程序设计来编写代码以响应点击按钮事件 LoanCalculator Run 2 动因 假设希望编写程序用动画实现一面旗上升, 如图 16.1(b-d) 所示 如何完成这个任务呢? 解决这个问题的方式有好几
Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);
Microsoft PowerPoint - 18_Event.pptx
第十八章事件處理 認識 Java 的委派事件模式認識並學習使用各種事件處理學習各種物件的事件處理 1 18.1 委派事件模式 委派事件 指當事件發生時, 產生事件的物件會把 訊息 轉給 事件傾聽者 (event listener) 處理 下圖說明 委派事件模式 的運作流程 : 2 簡單的範例 18.1 委派事件模式 視窗內加入按鈕, 尚未加入事件的處理之程式 : 視窗內有一按鈕, 當此按鈕按下時,
詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入
100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入
OOP with Java 通知 Project 4: 4 月 19 日晚 9 点
OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d
chp8.ppt
Java 软件设计基础 图形用户界面程序设计入门 1. 组件概述 GUI: Graphics User Interface 设计和实现 GUI 的主要难点 创建组成界面的各成分和元素, 指定它们的属性和位置关系, 根据具体需要布局排列, 从而构成完整的 GUI 的外观表象 ; 在 GUI 程序中, 代码所执行的路线及顺序都是很不确定的 在 GUI 程序中, 用户可以点击任意按键并和屏幕上的其他任何部分进行交互及信息传递
Microsoft Word - Broker.doc
Broker 模式 采用 broker 模式对分布式计算进行简单模拟 系统在一个进程内模拟分布式环境, 因此不涉及网络编程和进程间通信,Broker 通过本地函数调用的方式实现 request 和 response 的转发 采用 broker 模式对分布式计算进行简单的模拟, 要求如下 : 设计四个 server, 一个 server 接收两个整数, 求和并返回结果, 一个 server 接收两个整数,
Chapter 9: Objects and Classes
What is a JavaBean? JavaBean Java JavaBean Java JavaBean JComponent tooltiptext font background foreground doublebuffered border preferredsize minimumsize maximumsize JButton. Swing JButton JButton() JButton(String
Microsoft Word - Java全文.doc
第 4 章事件模型与事件处理 本章导读 本章首先介绍事件处理的由来, 并描述基于窗口的事件驱动程序的流程, 接着详细阐述 AWT 事件处理模型, 主要涉及三类对象 : 事件源 监听器和事件处理方法, 并说明事件处理机制, 具体介绍事件类 事件监听器 AWT 事件及其相应的监听器接口 事件适配器和常用的四种对事件的响应, 最后介绍开发一个基于 Java 平台事件驱动模型的记事本的案例 本章要点 事件处理的流程和机制
java2d-4.PDF
75 7 6 G r a d i e n t P a i n t B a s i c S t r o k e s e t P a i n t ( ) s e t S t o r k e ( ) import java.awt.*; import java.awt.geom.*; public class PaintingAndStroking extends ApplicationFrame { public
OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课
OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class
Microsoft Word - 投影片ch18
Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十八章事件處理 本章學習目標認識 Java 的委派事件模式認識並學習使用各種事件處理類別學習各種物件的事件處理 事件處理 18-2 18.1 委派事件模式 Java 的事件處理是採取 委派事件模式 (delegation event model) 委派事件模式是指當事件發生時, 產生事件的物件會把此一 訊息 轉給
SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基
开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些
PowerPoint 簡報
Paint 繪圖板 JAVA 程式設計 指導老師 : 鄞宗賢 組員 : 4A3G0901 劉彥佐 4A3G0907 韓偉志 畫面預覽 匯入參數 package paint; import java.awt.*; import java.awt.event.*; import javax.swing.*; 主程式 public class paint{ public static void main(string[]
mvc
Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication
Microsoft Word - 正文.doc
单元七 Java GUI 应用程序开发 1.AWT 及其图形界面组件 2.AWT 布局管理器 3.AWT 事件处理机制 案例 7-1 登录窗口 登录窗口是很多应用系统中不可缺少的组成部分 通过验证用户输入的用户名和密码, 决定是否允许用户进入系统, 在一定程度上保证系统的安全 本案例设计一个登录窗口, 运行 界面如图 7-1 所示 图 7-1 案例 7-1 登录窗口 众所周知, 拥有图形用户界面的计算机应用程序生动
JavaIO.PDF
O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException
電機工程系認可證照清單 2011/7/1
南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年
主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new
ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,
无类继承.key
无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo [email protected] https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255
Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,
http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY
Guava学习之Resources
Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于
OOP with Java 通知 Project 4: 5 月 2 日晚 9 点
OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =
LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y
拼图游戏 任务说明 本实例实现了拼图游戏的开发 运行程序, 单击 开始 按钮将打乱图片的位置, 效果如图 1 所示, 然后通过鼠标单击图片进行移动, 直到将所有图片都移动到正确位置, 游戏过关, 过关后的效果如图 2 所示 图 1 打乱图片位置的效果图 2 图片移动到正确位置的效果 关键技术 本程序主要通过 Swing 与枚举类实现, 程序将一幅完整的图片平均分成 9 部分, 每一部分为一个正方形,
EJB-Programming-4-cn.doc
EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session
38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民
1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平
1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6
www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7
JBuilder Weblogic
JUnit ( [email protected]) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC
Microsoft Word - 01.DOC
第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的
合金投资年报正文.PDF
1999 1 1999 2. 3. 4. 5. 2 1999 3 1999 (1) 4 1999 5 1999 6 1999 7 1999 8 1999 9 1999 10 1999 11 1999 12 1999 13 1999 14 1999 15 1999 16 1999 17 1999 18 1999 19 1999 20 1999 21 1999 22 1999 23 1999 24 1999
从 宾 馆 到 又 一 城 是 十 五 分 钟, 从 又 一 城 到 邵 逸 夫 是 十 分 钟, 去 时 一 路 上 坡 很 辛 苦, 回 时 一 路 下 坡 很 轻 松, 很 像 上 小 学 时 的 心 情, 这 是 最 初 几 天 最 深 的 感 受 有 段 时 间 很 少 走 校 内 的 路
那 城 那 校 那 景 香 港 访 学 印 象 刘 斌 时 间 过 得 真 快, 一 转 眼 从 香 港 回 来 一 个 多 月 了 前 两 天 走 在 路 上, 看 到 一 个 逆 行 的 车 剐 了 路 人, 双 方 在 路 边 吵 得 不 可 开 交, 突 然 想 起 有 些 地 方 的 交 规 与 大 陆 不 一 样, 这 车 在 香 港 就 算 是 正 常 行 驶 了 于 是, 香 港,
可 Web 编程的NativeUI 设计与实现
可 Web 编程的 NativeUI 设计与实现 张袁炜 [email protected] 欢迎转岗简历请发 About Me @ 张袁炜 直达号 网址导航 百度 音乐 前端 Node.js Android Arduino RaspberryPI https://github.com/zhangyuanwei Outline 一个 Hybrid App 的进化史 Native UI 实现原理
(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit
Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How
建模与图形思考
C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性
RUN_PC連載_8_.doc
PowerBuilder 8 (8) Web DataWindow ( ) DataWindow Web DataWindow Web DataWindow Web DataWindow PowerDynamo Web DataWindow / Web DataWindow Web DataWindow Wizard Web DataWindow Web DataWindow DataWindow
IoC容器和Dependency Injection模式.doc
IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component
javaexample-02.pdf
n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O
<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>
程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 [email protected] 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学
1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:
Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed
KillTest 质量更高 服务更好 学习资料 半年免费更新服务
KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard
1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->
目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController
Chapter 9: Objects and Classes
Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum
Java 1 Java String Date
JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth
Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc
References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2
由社會發展趨勢探討國人睡眠品質
1 2 3 1. 2. 1. 2. 3. 4. 2. 1. 2. 4 5 6 7683 7 3-2 8 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 9 4-1 10
9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B
25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018
chp6.ppt
Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行
Microsoft PowerPoint - plan08.ppt
程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 8. 面 向 对 象 为 什 么 需 要 面 向 对 象? OO 语 言 的 发 展 面 向 对 象 的 基 本 概 念 封 装 和 继 承 初 始 化 和 终 结 处 理 动 态 方 法 约 束 多 重 继 承 总 结 2012
untitled
1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override
计算机网络实验说明
计算机网络实验说明 龚旭东 电三楼 420 lzgxd@mailustceducn 2011 年 11 月 1 日 龚旭东 (TA) 计算机网络实验说明 2011 年 11 月 1 日 1 / 20 Outline 1 实验系统介绍 实验环境实验流程 2 实验内容编程实验交互实验观察实验 3 一些控制台命令 4 实验报告说明 龚旭东 (TA) 计算机网络实验说明 2011 年 11 月 1 日 2
没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型
文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结
chap07.key
#include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,
Microsoft Word - 正文.doc
第 7 章 Java 中的 GUI 编程 图形用户界面 (Graphical User Interface,GUI) 使用图形的方式, 借助菜单 按钮等标准界面元素和鼠标操作, 帮助用户方便地向计算机系统发送指令, 启动操作, 并将系统运行的结果同样以图形方式显示给用户 图形用户界面操作简单, 省去了字符界面用户必须记忆各种命令的麻烦, 深受广大用户的喜爱和欢迎 所以学习设计和开发图形用户界面, 是应用软件开发人员的必修课
Microsoft Word - ch04三校.doc
4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear
RxJava
RxJava By 侦跃 & @hi 头 hi RxJava 扩展的观察者模式 处 观察者模式 Observable 发出事件 Subscriber 订阅事件 bus.post(new AnswerEvent(42)); @Subscribe public void onanswer(answerevent event) {! }! Observable observable = Observable.create(new
OSWorkflow Documentation
OSWorkflow Documentation Update Time: 05/09/15 OSWorkflow Java workflow engine API 理 flow 行 XML 來 流 Database UI 不 流 GUI Designer end user 行 JSP+Servlet 行 OSWorkflow 2.8 說 2.7 2.7 了 OSWorkflow library library
res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml
拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,
内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌
语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语
软件工程文档编制
实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,
基于CDIO一体化理念的课程教学大纲设计
Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授
