chp8.ppt

Size: px
Start display at page:

Download "chp8.ppt"

Transcription

1 Java 软件设计基础 图形用户界面程序设计入门

2 1. 组件概述 GUI: Graphics User Interface 设计和实现 GUI 的主要难点 创建组成界面的各成分和元素, 指定它们的属性和位置关系, 根据具体需要布局排列, 从而构成完整的 GUI 的外观表象 ; 在 GUI 程序中, 代码所执行的路线及顺序都是很不确定的 在 GUI 程序中, 用户可以点击任意按键并和屏幕上的其他任何部分进行交互及信息传递 即事件驱动 Java 提供了大量支持 GUI 设计的类 AWT(Abstract Window Tookit) 包 Button Label TextField CheckBox Swing 包 JButton JLabel JTextField JCheckBox

3 Swing 和 AWT 对 Java 运行的每一个平台,AWT 的组件自动的通过它们各自的代理映射成特定平台的组件, 这些代理称为同位体 (peer) AWT 组件的设计原理是把与显示组件有关的许多工作和处理组件事件的工作交给相应的本地组件, 因此非常依赖底层平台 ; AWT 适用于开发简单的 GUI, 但不适于开发复杂的 GUI 项目 随着 Java 2 的发行,AWT 的用户界面组件被更稳定 通用和灵活的 Swing 组件库取代 大多数 Swing 组件由 Java 代码绘制在画布上, 更少的依赖目标机器上的底层平台 不依赖本地 GUI 的 Swing 组件称为轻组件 Lightweight component; AWT 组件称为重组件 Heavyweight component

4 Swing 外观与 Windows 外观

5 Java GUI API 层次结构

6

7 GUI 类 容器类 (Container) 用来包含其他组件 ;Window Panel Applet Frame 和 Dialog 都是 AWT 组件的容器类 ;Conponent Container JFrame JDialog JApplet 和 JPanel 都是 Swing 的容器类 其中 : Container 用来组织组件 ; JFrame 是不能包含在另一个窗口内的窗口 ; JDialog 是一个弹出式窗口或消息框 ; JApplet 是 Applet 的一个子类 ; JPanel 是一个存放用户界面组件的不可见的容器, 可以嵌套 组件类 (Component) 组件是一个可以以图形化方式显示于屏幕上与用户进行交互的对象 按钮 菜单 标签 文本域 复选框

8 辅助类 辅助类都不是 Component 的子类, 它们用来描述 GUI 组件的属性, 例如颜色 字体 大小等 Graphics 类是一个抽象类, 提供一个图形环境, 用于绘制字符串 直线和简单几何图形 ; Color 类用来处理 GUI 组件的颜色 ; Font 类指定 GUI 组件上文本和图形的字体 ; FontMetrics 是用于获取字体属性的抽象类 ; Dimension 将组件的宽度和高度 ( 精度为整数 ) 封装在单个对象中 ; LayoutManager 是一个接口, 指定组件在容器中的摆放方式 辅助类包含在 AWT 包中 Swing 组件不能取代 AWT 的全部类, 只能替代 AWT 的 GUI 组件类 ; AWT 的辅助类保持不变

9 GUI 设计的简要流程 引入 java.awt 包或 javax.swing 包 ; 利用包中提供的组件类来定义某种组件 ; 定义一个放置组件的容器 ; 对容器进行布局管理, 将此组件添加到该容器中 ; 为了让该组件响应某个事件, 还要注册组件对应的事件监听器并实现相应的监听器接口

10 2. AWT 图形化界面基础 Frame/JFrame JFrame 框架 Frame 框架是 Windows 类的子类, 它是窗口的一种, 是顶级窗口 Frame 组件在 Java 的顶层窗口中可以独立使用 包含标题 边框等 当 Frame 被关闭后, 将产生 WindowEvent 事件 Frame 无法直接监听键盘输入事件 构造方法 : 建立一个没有标题的新 Frame 对象 : Frame() 建立一个以 title 为标题的 Frame 对象 : Frame(String title)

11 主要方法 : setsize(int width, int height) 设置长宽 setbackground(color c) 设置背景色 setvisible(boolean b) 设置是否可见 String gettitle() 获取标题 settitle(string title) 设置标题为 title boolean isresizable() 测试是否可以改变大小 Image geticonimage() 获取最小化图标 seticonimage(image img) setbounds(int x, int y, int width, int height) 设置最小化图标 设置大小和位置

12 示例 :

13 Panel 面板 简介 : 是 Container 类的子类, 也是容器, 可容纳其他组件 面板不是顶级窗口, 不能独立存在, 必须将它添加到其他容器中 创建一个 Panel 对象后需将该对象放入 Window 和 Frame 中才可使 Panel 中的内容可见 构造方法 : 建立一个默认布局的新 Panel 对象 : Panel() 建立一个布局为 layout 的 Panel 对象 : Panel(LayoutManager layout)

14 示例 创建 Panel import java.awt.*; public class Win_Panel{ public static void main(string args[]){ Frame f = new Frame("Panel"); Panel p = new Panel(); f.setsize(180,180); f.setbackground(color.pink); f.setlayout(null); p.setsize(90,90); p.setbackground(color.blue); f.add(p); p.setlocation(45,45); f.setvisible(true); } }

15 Button 按钮 简介 是 Java 程序 GUI 设计中最常用的一个组件, 是可以提供用户快速启动某一动作的类 按钮本身不显示信息, 它一般对应一个事先定义好的功能操作, 并对应一段程序 当用户点击按钮时, 系统自动执行与该按钮相联系的程序, 从而完成预先指定的功能 构造方法 构造一个没有标题的按钮 : Button() 构造一个标题为 str 的按钮 : Button(String str)

16 主要方法 String getlabel() 返回按钮的标题 setlabel(string s) 设置按钮的标题为 s getactioncommand() 返回所引用的 Button 对象产生的动作事件关联的命令名称 setactioncommand(string c) 设置所引用的 Button 对象产生的动作事件关联的命令名称 示例 创建 Button import java.awt.*; public class Button1{ public static void main(string args[]){ Frame f = new Frame("Button"); Button b1 = new Button("Push me"); Button b2 = new Button("You can not push me"); f.setbounds(0,0,300,200); f.setlayout(null); b1.setbounds(10,40,100,40); b2.setbounds(10,100,200,40); b2.setenabled(false); f.add(b1); f.add(b2); f.setvisible(true); } }

17 Label 标签 简介 是一种用来显示说明性的静态文本的组件, 它起到信息说明的作用 标签是用户只能查看而不能简单的修改其内容的文本显示区域, 但用户可以在应用程序中通过调用 Label 提供的方法更换文本的内容 构造方法 创建一个没有名字的标签对象 Label() 创建一个名字为 str 的标签对象 Label(String str) 创建一个名字为 str 的标签对象, 对齐方式为 align Label(String str, int align) 其中 Label.LEFT Label.RIGHT Label.CENTER 分别为居左 居右 居中

18 主要方法 String gettext() 返回 Label 对象文本的 String settext(string s) 设置 Label 对象的文字 setalignment(int align) 示例 设置 Label 对象的对齐方式

19 TextField 文本框和 TextArea 文本域 它们都是 TextComponent 的子类, 用于文本处理 TextField 文本框是单行文本输入域, 多用于单行显示 当按下回车键时, 会发生事件 (ActionEvent), 可以通过 ActionListener 中的 actionperformed 方法对事件进行处理 构造方法 创建一个初始文本串为空的文本框对象 TextField() 创建一个初始文本串为 str 的文本框对象 TextField(String str) 创建一个初始文本串为 str 列数为 column 长度的文本框对象 TextField(String str, int column)

20 主要方法 settext(string s) 将文本框对象的文本信息设置为 str gettext() 返回文本框对象的文本信息 getselectedtext() 返回文本框对象被选的文本串信息内容 setechochar(char ch) TextArea 是多行文本组件, 用于显示程序中的多行文本信息 构造方法 创建一个初始文本串为 str 的文本域对象 TextArea(String str) 将文本框对象的回显字符设为 ch,, 常用于密码接收场合 创建 numlines 行 numchars 列的文本域对象 TextArea(int numlines, int numchars) 创建一个初始文本串为 str numlines 行 numchars 列的文本域对象 TextArea(String str, int numlines, int numchars)

21 主要方法 settext(string s) 将文本域对象的文本信息设置为 str gettext() 返回文本域对象的文本信息 示例 :

22

23 复选框与单选按钮 简介 复选框又称为检测盒, 用 Checkbox 类的对象表示,Checkbox 由一个方形的选择区和一个标签组成, 有选中 (check) 和未选中 (uncheck) 两种状态 单独的 Checkbox 实现的是复选框功能, 当多个 Checkbox 加入到一个 CheckboxGroup 组件内时, 选择区变成圆形, 组件内的 Checkbox 只能有一个被选中, 此时实现的是单选按钮的功能 复选框和单选框使用 ItemListener 来监听 ItemEvent 事件 构造方法 创建一个标签为 str 的复选框 Checkbox(String str) 创建一个标签为 str 的单选按钮,g 指明所属的 CheckboxGroup Checkbox(String str, CheckboxGroup g, boolean state)

24 主要方法 getstate() 返回 Checkbox 对象的状态是否被选中 setstatechange() 获取 Checkbox 对象的当前状态 setstate(boolean state) 设置 Checkbox 对象的状态

25 Choice 下拉列表 简介 提供一个弹出式的菜单让用户选择, 也是 多选一 的输入界面 与单选按钮组利用单选按钮把所有选项列出的方法不同, 下拉列表的所有选项被折叠起来, 在这个菜单折叠时只显示最前面的或是用户选定的那一项 下拉列表节省显示空间, 适用于大量选项的情形 Choice 用 ItemListener 接口来监听 构造方法 创建一个空白的下拉列表 Choice()

26 主要方法 additem(string item) add(string item) List 列表 简介 把所有供用户选择的项都显示出来以供选择 列表可以实现多选, 支持滚动条, 可以同时浏览多项 列表可以产生两种事件 : 添加一个 item 字符串到 Choice 对象中将新选项 item 加载当前下拉列表的最后 getselectedindex() 返回被选中的选项的序号 (0~n-1) getitem(int index) 返回 Choice 对象 index 索引项目的字符串 getselecteditem() 返回 Choice 对象所选项目的字符串 removeall() 把下拉列表中的选项全部移除 remove(string item) 把指定标签文本的选项移除

27 当用户单击列表中的某一个选项并选中它时, 将产生 ItemEvent 类的选择事件 ; 当用户双击列表中的某一个选项时, 将产生 ActionEvent 类的动作事件 构造方法 建立行数为 rows 的 List 对象, 参数 b 为真时允许多选 主要方法 List(int rows, boolean b) getselecteditem() 返回 List 对象所选项目的字符串组成的字符串数组 getselectedindex() 返回被选中的选项的序号 (0~n-1) 组成的整数数组 additem(string item, int index) delitem(int index) add(string item) remove(string item) 添加一个 item 字符串到 List 对象的索引 index 处 删除 List 对象 index 处的选项将新选项 item 加载当前列表的最后 把指定标签文本的选项移除

28 示例 单选复选 import java.awt.*; import java.awt.event.*; public class ChoiceList{ private ChoiceList(){ Frame f = new Frame("Choice and List"); f.setlayout(new GridLayout(2,3,25,25)); Choice ch = new Choice(); ch.additem("male"); ch.additem("female"); f.add(ch); List l=new List(3,true); l.additem("tennis"); l.additem("football"); l.additem("swimming"); f.add(l); f.setsize(250,150); f.setvisible(true); } public static void main(string args[]){ ChoiceList cl = new ChoiceList(); } }

29 Dialog 对话框 简介 对话框与框架类似, 是有边框 有标题而独立存在的容器 通常起到与用户交互的对话窗口的作用 对话框不能作为程序的最外层容器, 也不能包含菜单栏, 它必须隶属于某个框架并由该框架负责弹出 对话框可以被设置为模式窗口, 其特点是总是在激活窗口的最前面, 即若是不关闭, 则不能对其他窗口进行操作 构造方法 创建没有标题的对话框,Owner 表示所有者 Dialog(Frame Owner) 创建有指定标题 title 的对话框 Dialog(Frame Owner, String title) 创建指定标题的对话框并指明是否为模式窗口 School of Computer Dialog(Frame Science and Owner, Technology String title, boolean model)

30 主要方法 settitle(string title) 示例 将对话框对象的标题设置为 title gettitle() 返回对话框对象的标题 setvisible(boolean f) 设置对话框对象的标题是否显示 setmodel(boolean f) 设置对话框模式是否为模式窗口

31

32 Canvas 画布 画布代表屏幕上一块空白的矩形区域, 它不是容器, 而是一个可以在这里绘画 捕捉用户操作 产生相应事件的区域

33 3. 事件处理机制 事件处理基础 事件及其处理机制 GUI 的两大任务 创建窗口并在窗口中添加各种组件, 规划组件在窗口中的位置和相关属性, 构成 GUI 的外观效果 ; 设置各类组件对不同事件的响应, 从而执行用户在用户界面所实施的交互行为, 如果用户在用户界面执行了一个动作, 这将导致一个事件的发生 事件是描述用户所执行的一个操作 所产生的一个行为, 主要涉及以下三个概念 : 事件 (Event): 用来描述在用户界面的用户交互行为所产生的一种效果 ; 事件源 (Event Source): 产生事件的组件对象 ; 事件处理方法 (Event Handler): 负责解析处理事件的类对象, 用以实现和用户交互的方法

34 事件的类层次 事件处理方法主要基于 事件授权模型 (EDM: Event Delegation Model) 的处理机制, 实现定义多种事件类型 事件源拥有自己的方法, 通过它可以向其注册事件监听器 事件监听器是一个实例, 当事件源产生一个事件后, 事件源就会通知相应的事件监听器, 根据事件对象内封装的消息决定如何响应该事件 一个事件源可以注册一个或多个监听器, 一个监听器也可以被注册到多个事件源

35 事件的接口及方法 ActionEvent 行为 : 点击按钮 文本框 列表及选择菜单等 接口名 :ActionListener 注册方法 : addactionlistener(actionlistener Listener) 监听器接口所提供的事件方法 : actionperformed(actionevent e) ItemEvent 行为 : 点击复选框选择框列表及带复选框的菜单项等 接口名 :ItemListener 注册方法 : additemlistener(itemlistener Listener) 监听器接口所提供的事件方法 itemstatechanged(itemevent e) KeyEvent 行为 : 按下或释放键盘

36 接口名 :KeyListener 注册方法 : addkeylistener(keylistener Listener) 监听器接口所提供的事件方法 keypressed(keyevent e) keyreleased(keyevent e) keytyped(keyevent e) getmodified() MouseEvent 行为 : 鼠标单击或鼠标移动 接口名 :» 鼠标单击 :MouseListener» 鼠标移动 :MouseMotionListener 注册方法 :» 鼠标单击 :» 鼠标移动 : addmouselistener(mouselistener Listener) addmousemotionlistener(mousemotionlistener Listener)

37 监听器接口所提供的事件方法 :» 鼠标单击» 鼠标移动 WindowEvent mousepressed(mouseevent e) mousereleased(mouseevent e) mouseentered (MouseEvent e) mouseexited(mouseevent e) mouseclicked(mouseevent e) mousemoved(mouseevent e) mousedragged(mouseevent e) 行为 : 激活 打开 关闭窗口或窗口失去焦点及收到窗口级事件 接口名 :WindowListener 注册方法 : addwindowlistener(windowlistener Listener)

38 监听器接口所提供的事件方法 : windowclosing(windowevent e) windowclosed(windowevent e) windowopened(windowevent e) windowiconified(windowevent e) windowdeiconified(windowevent e) windowactivated(windowevent e) windowdeactivated(windowevent e) TextEvent 行为 : 文本框 文本域发生改变 接口名 :TextListener 注册方法 : addtextlistener(textlistener Listener) 监听器接口所提供的事件方法 : textvaluechanged(textevent e)

39 FocusEvent 行为 : 组件获得或失去焦点 接口名 :FocusListener 注册方法 : addfocuslistener(focuslistener Listener) 监听器接口所提供的事件方法 : FocusGained(FocusEvent e) FocusLost(FocusEvent e) ComponentEvent 行为 : 移动 隐藏 显示组件和改变组件大小等 接口名 :ComponentListener 注册方法 : addcomponentlistener( 监听者 ) 监听器接口所提供的事件方法 : ComponentMoved(ComponentEvent e) ComponentHidden(ComponentEvent e) ComponentResized(ComponentEvent e) ComponentShown(ComponentEvent e)

40 ContainerEvent 行为 : 添加 移动组件等 接口名 :ContainerListener 注册方法 : addcontainerlistener( 监听者 ) 监听器接口所提供的事件方法 : ContainerAdded(ContainerEvent e) ContainerRemoved(ContainerEvent e) AdjustmentEvent 行为 : 调节滚动条或滑块等 接口名 :AdjustmentListener 注册方法 : addadjustmentlistener( 监听者 ) 监听器接口所提供的事件方法 : AdjustmentValueChange(AdjustmentEvent e)

41 Java 针对大多数事件监听器接口定义了相应的实现类来实现接口中的所有方法 事件处理主要步骤 步骤 : 选择组件作为事件源, 不同类型的组件会产生特定类型的事件, 假设该事件类型为 XXXEvent; 定义要接收并处理某种类型的事件, 注册相应的事件监听器类, 通过调用组件方法向组件注册事件监听器 eventsourceobject.addxxxlistener(xxxlistener Listener); 实现 XXXListener 类的实例对象, 据此可作为事件的监听器对象 监听器的注册与注销如下 : public void addxxxlistener(xxxlistener listener); public void removexxxlistener(xxxlistener listener);

42 事件源通过实例化事件类激发并产生事件, 事件将被传送给已注册的一个或多个监听器 监听器在接收到激发事件信号后负责实现相应的事件处理方法 以按钮组件作为事件源的简单范例 选择按钮组件作为事件源 : 定义要接受并处理的事件 ActionEvent, 通过下面的语句注册事件监听器 : 按下按钮组件 bton 对象会产生一个 ActionEvent 实例对象, 事件源通过实例化事件类激发事件并传送给已注册的监听器 ; 监听器对象 listener 所属的类 MyActionListener 需通过方法 actionperformed 实现相应的接口以响应事件 :

43 键盘事件 KeyEvent 类在 java.awt.event 包中, 提供的主要方法 : getkeychar(): 判断被按下的键的字符 ; getkeycode(): 判断哪个键被按下 点击或释放并获取其键码值 Java 语言的部分键码表 VK_CANCEL/CLEAR/COMMA VK_UNMPAD0~VK_UNMPAD9 VK_LEFT/RIGHT/UP/DOWN 键码键键码 VK_KP_LEFT/RIGHT/UP/DOWN VK_BACK_SLASH/QUOTE VK_ALT/CONTROL/SHIFT/ESCAPE VK_SEMICOLON/PERIOD/SLASH 取消 / 清除 / 逗号 VK_F1~VK_F2 F1~F12 小键盘 0~9 VK_0~VK_9 0~9 左右上下键 小键盘左右上下键 \ / 单引号 Alt/Ctrl/Shift/Esc 分号 / 点 / / VK_A~VK_Z VK_HOME/END VK_CAPS_LOCK VK_NUM_LOCK VK_SPACE/TAB VK_OPEN/CLOSE_BRACKET [/] VK_QUOTE VK_INSERT/DELETE/ENTER/PAUS E 插入 / 删除 / 回车 / 暂停 VK_PAGE_UP/DOWN a~z HOME/END 大写锁定 数字锁定 空格 / 制表符 单引号 前后翻页 键

44 简单键盘事件的使用 组件使用 addkeylistener() 方法获得监视器 监视器是一个对象, 创建该对象的类必然通过以下三种方法来实现接口 : public void keypressed(keyevent e);» 按下键盘上的某个键 public void keytyped(keyevent e);» 当键被按下又释放 public void KeyReleased(KeyEvente);» 释放键盘上的某个键 示例 : 将键盘输入字符的键码 名称和按键显示出来 设置用来显示的面板 :

45 注册键盘事件监听器 允许面板获得焦点 对键盘事件进行响应 ( 即实现接口方法 ) public void keypressed(keyevent e){ KeyInputCode=e.getKeyCode(); } public void keyreleased(keyevent e){ KeyInputCode = e.getkeycode(); KeyText = e.getkeytext(keyinputcode); if(!ischar){ KeyChar=' '; } ischar=false; repaint(); } public void keytyped(keyevent e){ KeyChar = e.getkeychar(); ischar = true; }

46 键盘释放时重绘窗口 : 将 KeyPanel 实例加入到容器中 :

47

48 复合键盘事件的使用 KeyEvent 类对象可调用 getmodifiers() 方法返回以下整数值 : CTRL_MASK ALT_MASK SHIFT_MASK 以上是 InputEvent 类的类常量, 根据返回值对复合键事件做处理 当使用 Ctrl+C 复合键时, 下面的逻辑表达式为真 : 示例 : 利用对组合键事件的响应来处理复制 剪切与粘贴 对复制 剪切 粘贴的处理

49 窗口组件安放 :

50 文本事件 TextArea 或 TextField 信息发生改变时会触发 TextEvent 事件 需要在程序中将 TextEvent 事件注册给监听器 TextListener, 并实现 TextListener 接口中的 textvaluechanged 方法 示例 : 改变 TextArea 中的文字, 并在标签中回显 安放组件, 并注册监听器 :

51 响应文本事件 ( 即实现接口方法 )

52 鼠标事件 MouseListener 触发鼠标事件的四种操作 : 鼠标指针进入组件或退出组件»mouseEntered(MouseEvent e)»mouseexited(mouseevent e) 鼠标指针停留在组件上时按下鼠标»mousePressed(MouseEvent e) 鼠标指针停留在组件上时释放鼠标»mouseReleased(MouseEvent e) 鼠标指针停留在组件上时单击或连续单击鼠标»mouseClicked(MouseEvent e) MouseMotionListener 触发鼠标事件的两种操作 : 在组件上拖动鼠标指针

53 »mousedragged(mouseevent e) 在组件上运动鼠标指针»mouseMoved(MouseEvent e) 由于处理鼠标事件的接口中的方法较多,Java 提供了相应的适配器类 MouseAdapter 和 MouseMotionAdapter, 据此分别实现了 MouseListener 接口和 MouseMotionListener 获取鼠标的具体信息的方法 : getx() 返回鼠标事件发生时坐标点的 x 值 gety() 返回鼠标事件发生时坐标点的 y 值 getsource() 返回触发当前鼠标事件的事件源 getpointer() 返回鼠标事件发生时的坐标点 (Point 类型 ) getclickcount() 返回鼠标被连续点击的次数 getmodifiers() 如果是鼠标左键触发, 则返回值为 BUTTON1_MASK; ; 如果是鼠标右键触发, 则返回值为 BUTTON3_MASK,, 以上两个整数值都是 InputEvent 中的类常量

54 示例 : 当鼠标发生事件时在窗口显示事件并给出鼠标位置 处理鼠标事件 ( 即实现接口方法 )

55 构造窗口 注册监听器

56 获取鼠标在系统桌面上的坐标 PointerInfo 类可以帮助程序获得鼠标指针在系统图形设备中的位置坐标 PointerInfo 类中的类方法 : getpointerinfo(): 可通过以下语句实例化一个 PointerInfo 对象 getlocation(): 返回一个 Point 对象, 对象通过调用 getx() 和 gety() 方法返回鼠标在桌面上的坐标值 当鼠标运动时必须及时更新 PointerInfo 对象, 因为 PointerInfo 对象中存储的 Point 对象不会自动更新 弹出式菜单 通过 JPopupMenu 类负责创建 构造无标题弹出式菜单 public JpopupMenu()

57 构造由参数 label 指定标题的弹出式菜单 public JpopupMenu(String label) 设置弹出式菜单在组件上的弹出位置 : 窗口事件 当一个窗口 (Frame 或 JFrame) 被激活 撤销 打开 关闭 图标化等操作时, 会引发 WindowEvent 事件 方法 getwindow() 用来获取发生窗口事件的窗口 触发窗口事件 当单击窗口的图标化按钮时, 监视器要调用以下两种方法 : WindowIconified() WindowDeactivated() 当撤销窗口图标化时, 监视器要调用以下两种方法 : WindowDeiconified() WindowActivated()

58 示例

59 焦点事件 组件对象可以触发焦点事件, 当组件具有焦点监视器后, 如果组件从无输入焦点变成有输入焦点时, 或从有输入焦点变成无输入焦点, 都会触发 FocusEvent 事件 方法 获得输入焦点 组件从无输入焦点变成有输入焦点时实现的接口方法 FocusGained(FocusEvent e) 组件从有输入焦点变成无输入焦点时实现的接口方法 FocusLost(FocusEvente) 示例 : 在窗口中安放两个组件, 检测对焦点事件的响应

60

61

62 事件适配器 Java 针对大多数事件监听器接口定义了相应的已经实现了接口功能的实现类 : 事件适配器类 宗旨是使监听器的创建变得更加简便 适配器中系统自动实现相应监听器接口中的所有方法 ( 只写出空方法体 ), 但不做任何事情 编程时定义继承事件适配器类的监听器, 只重写需要的方法 常用的适配器类有 : KeyAdapter: 键盘事件适配器 MouseAdapter: 鼠标事件适配器 MouseMotionAdapter: 鼠标运行事件适配器 WindowAdapter: 窗口事件适配器 FocusAdapter: 焦点事件适配器 ComponentAdapter: 组件事件适配器 ContainerAdapter: 容器事件适配器

63 示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class WinAdapter{ public static void main(string args[]){ Frame f=new Frame("Adapter"); f.addwindowlistener(new MyWindowListener()); f.setlayout(new FlowLayout()); f.setbounds(150,100,150,150); f.setbackground(color.pink); f.setvisible(true); } } class MyWindowListener extends WindowAdapter{ public void windowclosing(windowevent e){ System.exit(0); } }

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes (Swing) AWTEvent Font LayoutManager 1 Classes in the javax.swing package Heavyweight FontMetrics Object Color Panel Applet JApplet Graphics Component Container Window Frame JFrame * Dialog JDialog JComponent

More information

第1章

第1章 第 17 章 有來有往 互動式視窗程式 1 本章提要 17.1 前言 17.2 元件 Event 觸發 17.3 Event 監聽者 Listener 17.4 Event 接收者 Adapter 17.5 Event 類別及提供的函式 17.5.1 MouseEvent 17.5.2 KeyEvent 17.5.3 TextEvent 17.5.4 WindowEvent 17.5.5 其他 Event

More information

Java事件处理模型

Java事件处理模型 Java 事件处理模型 北京理工大学计算机学院 金旭亮 事件驱动 的软件系统 面向对象的软件系统许多是 事件驱动 的, 通常定义了一系列的事件, 并且事先规定好这些事件发生时应该如何响应 由于事件的发生通常是离散的, 所以 事件驱动 的软件系统并没有一个固定的执行流程 Java 的 GUI 应用程序也是 事件驱动 的 2014/11/17 金旭亮 Java 编程系列 (2014 版 ) 2 Java

More information

<4D F736F F F696E74202D C DB5DA3136D5C25FCAC2BCFEC7FDB6AFB3CCD0F2C9E8BCC62E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D C DB5DA3136D5C25FCAC2BCFEC7FDB6AFB3CCD0F2C9E8BCC62E BBCE6C8DDC4A3CABD5D> 第 16 章事件驱动程序设计 1 动因 假如希望编写一个 GUI 程序, 提示用户输入贷款总额 年利率和年数, 然后点击 Compute Loan 按钮获取月偿还 额和总偿还额 如何完成这个任务呢? 必须使用事件驱 动程序设计来编写代码以响应点击按钮事件 LoanCalculator Run 2 动因 假设希望编写程序用动画实现一面旗上升, 如图 16.1(b-d) 所示 如何完成这个任务呢? 解决这个问题的方式有好几

More information

Microsoft Word - 投影片ch18

Microsoft Word - 投影片ch18 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十八章事件處理 本章學習目標認識 Java 的委派事件模式認識並學習使用各種事件處理類別學習各種物件的事件處理 事件處理 18-2 18.1 委派事件模式 Java 的事件處理是採取 委派事件模式 (delegation event model) 委派事件模式是指當事件發生時, 產生事件的物件會把此一 訊息 轉給

More information

untitled

untitled OGRE http://antsam.blogone.net AntsamCGD@hotmail.com OGRE OGRE listener listener target listener target Dispatcher Processor Input Reader Event class view Event Class view Input Event ctrlaltshift ascoll

More information

图形用户界面 (GUI) 设计

图形用户界面 (GUI) 设计 2013-2014 学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 :cyh@xjau.edu.cn 图形用户界面 (GUI) 设计 参考 C:\Program Files\Java\jdk1.6.0_10\demo 教学内容 1 Java 图形用户界面设计概述 2 3 4 AWT 组件集 事件处理 Swing

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 单元七 Java GUI 应用程序开发 1.AWT 及其图形界面组件 2.AWT 布局管理器 3.AWT 事件处理机制 案例 7-1 登录窗口 登录窗口是很多应用系统中不可缺少的组成部分 通过验证用户输入的用户名和密码, 决定是否允许用户进入系统, 在一定程度上保证系统的安全 本案例设计一个登录窗口, 运行 界面如图 7-1 所示 图 7-1 案例 7-1 登录窗口 众所周知, 拥有图形用户界面的计算机应用程序生动

More information

Swing-02.pdf

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 //

More information

PowerPoint 簡報

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[]

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 按钮对象 (button) 当 JavaScript 读到 标记中的 type 属性值为 button 时, 自动建立一个按钮对象, 并将该对象放到表单对象的 elements 数组当中 按钮对象包括 : 普通按钮 (button) 提交按钮 (submit) 重置按钮 (reset) 1. 使用按钮对象的格式 document.forms[ 索引值 ].elements[ 索引值

More information

Microsoft Word - Broker.doc

Microsoft Word - Broker.doc Broker 模式 采用 broker 模式对分布式计算进行简单模拟 系统在一个进程内模拟分布式环境, 因此不涉及网络编程和进程间通信,Broker 通过本地函数调用的方式实现 request 和 response 的转发 采用 broker 模式对分布式计算进行简单的模拟, 要求如下 : 设计四个 server, 一个 server 接收两个整数, 求和并返回结果, 一个 server 接收两个整数,

More information

Microsoft Word - Java全文.doc

Microsoft Word - Java全文.doc 第 4 章事件模型与事件处理 本章导读 本章首先介绍事件处理的由来, 并描述基于窗口的事件驱动程序的流程, 接着详细阐述 AWT 事件处理模型, 主要涉及三类对象 : 事件源 监听器和事件处理方法, 并说明事件处理机制, 具体介绍事件类 事件监听器 AWT 事件及其相应的监听器接口 事件适配器和常用的四种对事件的响应, 最后介绍开发一个基于 Java 平台事件驱动模型的记事本的案例 本章要点 事件处理的流程和机制

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 7 章 Java 中的 GUI 编程 图形用户界面 (Graphical User Interface,GUI) 使用图形的方式, 借助菜单 按钮等标准界面元素和鼠标操作, 帮助用户方便地向计算机系统发送指令, 启动操作, 并将系统运行的结果同样以图形方式显示给用户 图形用户界面操作简单, 省去了字符界面用户必须记忆各种命令的麻烦, 深受广大用户的喜爱和欢迎 所以学习设计和开发图形用户界面, 是应用软件开发人员的必修课

More information

chp11.ppt

chp11.ppt Java 软 件 设 计 基 础 Applet 程 序 1.Applet 概 念 Applet 与 Application Application 是 能 独 立 运 行 的 程 序 单 位 ; Applet 程 序 不 能 独 立 运 行, 必 须 依 附 在 网 页 上, 借 助 于 浏 览 器 才 能 运 行 通 常 置 于 服 务 器 端, 当 用 户 连 接 到 该 网 页,Applet

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

java2d-4.PDF

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

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Chapter 9: Objects and Classes

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

More information

Microsoft PowerPoint - 18_Event.pptx

Microsoft PowerPoint - 18_Event.pptx 第十八章事件處理 認識 Java 的委派事件模式認識並學習使用各種事件處理學習各種物件的事件處理 1 18.1 委派事件模式 委派事件 指當事件發生時, 產生事件的物件會把 訊息 轉給 事件傾聽者 (event listener) 處理 下圖說明 委派事件模式 的運作流程 : 2 簡單的範例 18.1 委派事件模式 視窗內加入按鈕, 尚未加入事件的處理之程式 : 視窗內有一按鈕, 當此按鈕按下時,

More information

图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充

图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充 图形学 Project 2 要求 任意两个多边形, 求出其相交的区域 使用说明 例 1 第一步, 与 Project 1 画多边形的方法相同, 画一个多边形 ; 第二步, 单击 INTERSECT WITH, 随后画出第二个多边形 ; 第三步, 单击 FILL 进行填充 例 2 单击 CLEAR, 重新回到初始状态, 下面让我们看一下自交多边形的情况 当单击数次后, 出现左图的情况, 之后我们单击

More information

授课内容 内容 图形界面与控制台应用的区别 (Console Application) 第 6 章图形用户界面图形用户界面 (Graphical User Interface,GUI), 使用图形方式借助菜单 按钮等标准界面元素和键盘 鼠标操作, 实现人机交互 内容和要求 : 掌握 Java Swi

授课内容 内容 图形界面与控制台应用的区别 (Console Application) 第 6 章图形用户界面图形用户界面 (Graphical User Interface,GUI), 使用图形方式借助菜单 按钮等标准界面元素和键盘 鼠标操作, 实现人机交互 内容和要求 : 掌握 Java Swi 金陵科技学院教案 第 9 10 11 次课授课学时 6 教案完成时间 : 2014.2 章 节 第六章图形用户界面 6-1 AWT 组件及其属性类 6-2 事件处理 6-3 Swing 组件及事件 6-4 图形图像 ( 以自学为主 ) 1. AWT 组件及其属性类 主要内容 2. 事件处理 3. Swing 组件及事件 4. 图形图像 目的与要求 1. 掌握 Java Swing 组件的使用方法,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

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

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

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

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464> 第 1 章 进入 Photoshop 的全新世界 本章导读 Photoshop 1 1.1 Photoshop CS6 Photoshop Photoshop 1.1.1 Photoshop POP 1-1 图 1-1 平面广告效果 1.1.2 Photoshop 1-2 Photoshop CS6 Photoshop CS6 Photoshop CS6 Extended 3D 3 Photoshop

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

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" 一些

More information

<4D F736F F F696E74202D20B5DA37D5C2204A617661B5C4CDBCD0CED3EBD3C3BBA7BDE7C3E62E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA37D5C2204A617661B5C4CDBCD0CED3EBD3C3BBA7BDE7C3E62E BBCE6C8DDC4A3CABD5D> 第 7 章 Java 的图形与用户界面 7.1 概述 7.2 底层容器类 JFrame 和 JApplet 7.3 容器的布局 74 7.4 字体和颜色的使用 7.1 概述 利用 Java 中的图形 图像和重要的图形界面组件 (Componet) p 可以实现不同外观要求的窗口 图形和交互方式 1.java.awt awt 包 AWT 是抽象窗口工具集 Abstract Window Toolkit

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第一部分基本实验 31 contentpane.add(p); setjmenubar(mb); // 将菜单项注册给事件监听者 File_Open.addActionListener(this); File_Close.addActionListener(this); File_Exit.addActionListener(this); Edit_Copy.addActionListener(this);

More information

Microsoft PowerPoint - ch02

Microsoft PowerPoint - ch02 第 一 篇 基 礎 圖 文 動 畫 (Basic Graphics / Animation) 2 1 簡 介 2 2 Frame Class 2 3 執 行 緒 繪 圖 流 程 2 4 Font Class 2 5 Color Class 2 6 中 文 處 理 2 7 習 題 (Exercises) 第 二 章 文 字 繪 製 (Words) 2 1 簡 介 本 書 探 討 的 是 動 畫 遊 戲,

More information

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y 拼图游戏 任务说明 本实例实现了拼图游戏的开发 运行程序, 单击 开始 按钮将打乱图片的位置, 效果如图 1 所示, 然后通过鼠标单击图片进行移动, 直到将所有图片都移动到正确位置, 游戏过关, 过关后的效果如图 2 所示 图 1 打乱图片位置的效果图 2 图片移动到正确位置的效果 关键技术 本程序主要通过 Swing 与枚举类实现, 程序将一幅完整的图片平均分成 9 部分, 每一部分为一个正方形,

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt Java 程式設計基礎班 (8) 莊坤達台大電信所網路資料庫研究室 Email: doug@arbor.ee.ntu.edu.tw Class 8 1 回顧 Java Data Structure Class 8 2 Java AWT package Component: 一些 GUI 元件, 如 : Button Label 等 Container: 用來放置 GUI 元件的地方 Container

More information

JavaIO.PDF

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

More information

(京)新登字063号

(京)新登字063号 教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言

More information

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

1.3 最终效果图 : 2 内部布局代码 2.1 按键按钮代码 // 初始化计算器上键的按钮, 将键放在一个画板内 JPanel keypanel = new JPanel(); // 用网格布局器,4 行,5 列的网格, 网格之间的水平方向间隔为 3 个象素, 垂直方向间隔为 3 个象素 keyp

1.3 最终效果图 : 2 内部布局代码 2.1 按键按钮代码 // 初始化计算器上键的按钮, 将键放在一个画板内 JPanel keypanel = new JPanel(); // 用网格布局器,4 行,5 列的网格, 网格之间的水平方向间隔为 3 个象素, 垂直方向间隔为 3 个象素 keyp 计算器 1. 计算器上的键的显示名字 1.0 继承 JFrame 类 public class Calculate extends JFrame { 1.1 定义常量 计算器上的键的显示名字 public final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1", "2", "3", "-", "1/x",

More information

<4D F736F F F696E74202D C DB5DA3132D5C25FCDBCD0CED3C3BBA7BDE7C3E6BBF9B4A12E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D C DB5DA3132D5C25FCDBCD0CED3C3BBA7BDE7C3E6BBF9B4A12E BBCE6C8DDC4A3CABD5D> 第 12 章图形用户界面基础 1 动因 为 Java GUI 程序设计而设计的 API 是如何应用面向对象 原则的绝佳范例 从本章开始将学习 Java GUI API 的框 架结构, 还要学习如何使用 GUI 组件为应用程序和 applet 开发用户友好接口 2 学习目标 区分 Swing 和 AWT 的不同 ( 第 12.2 节 ) 描述 Java GUI API 的层次体系结构 ( 第 12.3

More information

Chapter 9: Objects and Classes

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

More information

幻灯片 1

幻灯片 1 图形界面程序设计 计算机信息系 课程引入说课提纲 案例 体验 双击运行 FiveMain.jar 文件, 和同桌一起体验下这个五子棋游戏, 并观察下这个游戏有哪些部分组成? 课程引入说课提纲 提出 问题 这个五子棋游戏和我们前几章完成的 学生综合素质评测系统 最大的区别是什么? 有什么优点或缺点吗? 1 图形用户界面是什么? 2 怎么用图形用户界面开发? 课程引入说课提纲 任务 任务名称 总任务 :

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

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 =

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

图形学 Project 1 要求 多边形区域填充 ( 算法不限 ) 使用说明 例 1 第一步, 鼠标随意在界面中的画布上点击两次, 则两点间连一条直线 ; 第二步, 画第三个顶点时, 自动连结成为三角形 ; 第三步, 按顺序依次点击, 则按点击顺序形成多边形, 每次多边形变化时, 第一个点和最后

图形学 Project 1 要求 多边形区域填充 ( 算法不限 ) 使用说明 例 1 第一步, 鼠标随意在界面中的画布上点击两次, 则两点间连一条直线 ; 第二步, 画第三个顶点时, 自动连结成为三角形 ; 第三步, 按顺序依次点击, 则按点击顺序形成多边形, 每次多边形变化时, 第一个点和最后 图形学 Project 1 要求 多边形区域填充 ( 算法不限 ) 使用说明 例 1 第一步, 鼠标随意在界面中的画布上点击两次, 则两点间连一条直线 ; 第二步, 画第三个顶点时, 自动连结成为三角形 ; 第三步, 按顺序依次点击, 则按点击顺序形成多边形, 每次多边形变化时, 第一个点和最后 一个点自动连接起来 ; 第四步, 当感觉满意时, 单击 FILL, 则多边形内部就被填充了 例 2 单击

More information

利用Java技术编写桌面软件基础

利用Java技术编写桌面软件基础 利 用 Java 技 术 编 写 桌 面 软 件 基 础 在 学 习 Java 编 程 语 言 的 细 节 和 语 法 时, 我 们 会 碰 到 这 样 一 个 问 题 : 开 发 桌 面 应 用 软 件 需 要 使 用 哪 些 Java 技 术, 应 当 引 入 哪 些 package? 这 一 问 题 的 答 案 取 决 于 开 发 的 应 用 软 件 类 型 和 它 的 作 用 这 篇 文 章

More information

Microsoft PowerPoint - course8.ppt

Microsoft PowerPoint - course8.ppt 回顧 Java 程式設計基礎班 (8) Java Data Structure 劉根豪台大電機所網路資料庫研究室 Email: kenliu@arbor.ee.ntu.edu.tw 1 2 Java AWT package Java Swing package Component: 一些 GUI 元件, 如 :Button Label 等 Container: 用來放置 GUI 元件的地方 Container

More information

基于JAVA的连连看游戏设计

基于JAVA的连连看游戏设计 基 于 JAVA 的 连 连 看 游 戏 设 计 摘 要 :1978 年 第 一 款 PC 游 戏 冒 险 岛 在 美 国 问 世 至 今, 随 着 硬 件 和 软 件 水 平 的 不 断 进 步, 出 现 许 许 多 多 的 游 戏, 其 中 连 连 看 就 非 常 经 典 连 连 看 -- 在 一 个 画 好 的 格 局 内, 排 列 着 一 些 不 同 的 图 片, 选 中 两 张 一 样 的

More information

ZW1.PDF

ZW1.PDF C. A. R. Hoare, The Emperor s Old Clothes Java C++ Objective C Eiffel Smalltalk Mesa Lisp Java Java Java C++ Java 10 Item 1 Item 2 String.equals() == 1 1 Item 3 Java C++ Java Item 4 Java Item 5 Java Item

More information

可 Web 编程的NativeUI 设计与实现

可 Web 编程的NativeUI  设计与实现 可 Web 编程的 NativeUI 设计与实现 张袁炜 zhangyuanwei@baidu.com 欢迎转岗简历请发 About Me @ 张袁炜 直达号 网址导航 百度 音乐 前端 Node.js Android Arduino RaspberryPI https://github.com/zhangyuanwei Outline 一个 Hybrid App 的进化史 Native UI 实现原理

More information

F515_CS_Book.book

F515_CS_Book.book /USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (

More information

Microsoft Word - 投影片ch17

Microsoft Word - 投影片ch17 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十七章 AWT 視窗物件 本章學習目標認識 AWT 類別認識並學習如何建立視窗物件學習如何管理與配置版面學習 Panel 類別的使用 AWT 視窗物件 17-2 17.1 認識 AWT 類別 AWT(Abstract Windowing Toolkit) 是用來處理視窗最基本的方式 17.1.1 簡單的範例 下面是一個簡單的視窗程式設計的範例

More information

Topic

Topic 二 级 JAVA 上 机 试 题 汇 编 第 01 套 : 1. 基 本 操 作 (1 小 题, 计 30 分 ) 在 考 生 文 件 夹 中 存 有 文 件 名 为 Java_1.java 的 文 件, 该 程 序 是 不 完 整 的, 请 在 注 释 行 //**********Found********** 下 一 行 语 句 的 下 划 线 地 方 填 入 正 确 内 容, 然 后 删 除

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

E3. 最 大 公 因 數 問 題 描 述 : 寫 一 程 式 求 兩 數 之 最 大 公 因 數 利 用 TextField 元 件 輸 入 正 整 數 M, N (1 N M 9999), 按 下 compute 按 鈕 後 計 算 正 整 數 M, N 的 最 大 公 因 數, 並 顯 示 於

E3. 最 大 公 因 數 問 題 描 述 : 寫 一 程 式 求 兩 數 之 最 大 公 因 數 利 用 TextField 元 件 輸 入 正 整 數 M, N (1 N M 9999), 按 下 compute 按 鈕 後 計 算 正 整 數 M, N 的 最 大 公 因 數, 並 顯 示 於 資 管 系 程 式 設 計 (2) 會 考 題 庫 易 E1. 陣 列 相 加 問 題 描 述 : 請 使 用 TextField 元 件 讓 使 用 者 輸 入 二 個 2x2 的 陣 列 內 容, 當 按 下 +/-/* 按 鈕 後, 接 收 兩 個 陣 列 並 進 行 加 / 減 / 乘 法 運 算, 再 將 其 結 果 顯 示 在 = 後 面 的 TextField 元 件 上 E2. 數

More information

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探 付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探索建设中 成时间 : 2017-07-20 12:13:21 Since 8.6 定义键盘 定义键盘使

More information

第8章 JavaScript对象层次与事件处理

第8章  JavaScript对象层次与事件处理 第 8 章 JavaScript 对象层次与事件处理 JavaScript 是一种面向对象的语言, 在 JavaScript 中的对象都是有层次的, 在本章里将会介绍 JavaScript 的对象层次和 JavaScript 的事件处理方式 8.1 JavaScript 的对象层次 JavaScript 中的对象很多, 这些对象并不都是独立存在的, 而是有着层次结构 对象可以依照层次来进行调用 8.1.1

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com 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

More information

chp9.ppt

chp9.ppt Java 软件设计基础 高级 GUI 设计与多媒体技术 1. 布局设计 布局概述 java.awt FlowLayout BorderLayout CardLayout GridLayout GridBagLayout java.swing BoxLayout ScrollPanelLayout ViewportLayout OverLayout FlowLayout 布局策略 将容器的组件按照加入的先后顺序从左至右依次排列,

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class - Table.class

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

OOP with Java 通知 Project 3: 4 月 19 日晚 9 点

OOP with Java 通知 Project 3: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 4 月 19 日晚 9 点 复习 Upcasting 同一基类的不同子类可以被视为同一类型 ( 基类 ) 放宽类型一致性 简化接口 class A{ class B{ A a = new A(); B b = new B(); // A a = new B(); compile

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(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

More information

X713_CS_Book.book

X713_CS_Book.book / / /USB ) ; ; C D ; ; B B 1 >> 2 3 B 1 ( > > ) 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 GSM GPS ( ) 手机已连接到 GSM 网络 指示条越多, 接收质量越好 GPS 2 ...........................4.............................. 4 Micro SD (

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

输入 project name 选择完成

输入 project name 选择完成 JAVA 程序访问 HighGo DB 的环境准备 山东瀚高科技有限公司版权所有仅允许不作任何修改的转载和转发 Hibernate 的配置 MyEclipse 中创建新项目 : 选择菜单栏 file---new---project 选择 web project 进行下一步 输入 project name 选择完成 4. 单击 " 添加 JAR/ 文件夹 ", 会如下图出现 JDBC 下载 Hibernate

More information

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

Microsoft Word - CX1000-HMI_程序开发_PLC通讯 用 VB.Net 开发 CX1000 的 HMI 第二部分和 TwinCAT PLC 通讯 一 TwinCAT 动态库 TwinCAT.Ads.dll The TwinCAT.Ads.dll 是一个.NET 类库, 它提供和 ADS 设备通讯的类 如果 TwinCAT PLC 运行在 IPC 上, 则需要添加的类库是路径 \TwinCAT\ADS Api\.NET\v1.1.4322 下的 TwinCAT.Ads.dll

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

[Short Essay:] 1. (5 points) Use state-of-memory diagram to describe the differences between x and y declared as follows: double[] x = new double[4];

[Short Essay:] 1. (5 points) Use state-of-memory diagram to describe the differences between x and y declared as follows: double[] x = new double[4]; Introduction to Programming (II) Spring 2008, Final Exam Name: ID Number: [True/False:] (5 points each) If your answer is "false", you have to provide correct reasons. Otherwise, no points will be given.

More information

javaexample-02.pdf

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

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

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

More information

Microsoft PowerPoint - ch03

Microsoft PowerPoint - ch03 第三章基礎繪圖 (Basic Graphics) 3 1 簡介 3 2 Graphics Class 3 3 3 直線繪製 3 4 長方形繪製 3 5 橢圓形繪製 3 6 弧線繪製 3 7 多邊形繪製 3 8 圖形剪裁 3 9 圖形複製 3 10 習題 (Exercises) 3 1 簡介 在基礎圖文繪製上, 除了前章所探討的文字繪製之外, 本章將介紹基礎圖形之繪製 類別 Graphics 提供了各類圖形之繪製方法程序,

More information

第1章

第1章 第 16 章 千變萬化的視窗程式 1 本章提要 16.1 前言 16.2 AWT package 介紹 16.3 視窗 (Frame) 16.4 版面管理員 (Layout Manager) 16.5 各種好用的圖形介面元件 16.5.1 勾選元件 Checkbox 16.5.2 文字框 TextField 16.5.3 列示 List 16.5.4 標籤 Label 16.5.5 選單 Menu

More information

实验1——Java程序设计基础

实验1——Java程序设计基础 Java 语言知识要点回顾 一.Java 程序设计基础 1.Java 程序文件 Java 程序可以划分为 Java Application 和 Java Applet 两大类, 其开发原理相同, 运行环境不同 Java 源程序 : 是扩展名为.java 的简单文本文件 Java 字节码 : 是扩展名为.class 的可解释执行的二进制文件 Java 源程序经由 Java 编译器 javac.exe

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

Java 1 Java String Date

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

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

Microsoft Word - 投影片ch23

Microsoft Word - 投影片ch23 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第二十三章認識 Swing 本章學習目標 Swing 概述認識 JFrame 類別學習 Swing 的基本物件學習 Swing 物件之間的互動 認識 Swing 23-2 23.1 Swing 概述 Swing 提供了豐富的物件 更美觀的圖形介面, 以及更高的執行效率 幾乎每一個 AWT 物件都有一個相對應的 Swing

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

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,

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

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

More information

第1章

第1章 第 18 章 Swing 1 本章提要 18.1 前言 18.2 Swing 介紹 18.3 視窗元件 18.3.1 JFrame 18.3.2 Content Pane 18.3.3 Menu Bar 18.4 Swing 元件 18.4.1 JCheckBox JRadioButton JComboBox 18.4.2 JTextField JPasswordField 18.4.3 JTable

More information

Microsoft Word Java语言程序设计案例教程正文.doc

Microsoft Word Java语言程序设计案例教程正文.doc 第 4 章图形用户界面设计 图形用户界面为用户和程序的友好交互提供了一种机制, 是软件开发的一项非常重要的工作 本章将详细介绍如何使用 Java 语言编写图形界面, 通过引导一步一步创建图形界面程序, 读者不需要深入了解每一步骤的原理, 只要能按照步骤创建程序即可 通过示例程序的学习, 了解创建示例程序的过程, 对图形界面有一个总体的认识 图形用户界面概述 Applet 类 HTML 文件参数传递

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

mvc

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

More information

大漠 伪前端, 就职于淘宝

大漠 伪前端, 就职于淘宝 CSS Grid Layout 2016-12-17 @ 大漠. #CSSConf https://www.flickr.com/photos/19139526@n00/8331063530/ 大漠 伪前端, 就职于淘宝 古老的 table 布局 现代 Web 布局 Float inline-block display: table position (absolute 或 relative)

More information

Microsoft Word - Java程序设计全文_终_.doc

Microsoft Word - Java程序设计全文_终_.doc 实训 20 综合开发 2: 文本编辑器 20.1 实训目的 通过采用 Netbeans 重新开发并完善实训 15 中的文本编辑器程序, 训练读者掌握使用 Netbeans 进行 AWT GUI 程序的综合开发技能 20.2 实训案例 下面介绍如何采用 Netbeans 重新开发并完善实训 15 中的文本编辑器程序 通过本实训, 读者能够掌握 : (1)GUI 的菜单设计 (2)GUI 国际化处理 (3)GUI

More information

Struts2自定义类型转换.doc

Struts2自定义类型转换.doc Struts2 自定义类型转换 原理 struts2 的自定义类型转换机制为复杂类型的输入输出处理提供了便捷.struts2 已经为我们提供了几乎所有的 primitive 类型以及常用类型 ( 如 Date) 的类型转换器, 我们也可以为我们自定义类添加自定义类型转化器. struts2 为我们提供了一个类型转化器的入口 : ognl.defaulttypeconverter, 或继承 org.apache.struts2.util.strutstypeconverter,

More information

1873 1939 1937 1981 1900 1870 1902 1899 1902 1901 1899 1868 1868 1829 1905 1859 1943 1860 1900 1887 1878 1820 1903 1834 1906 1856 1836 1884 1787

More information

1868 1868 1829 1905 1859 1943 1860 1900 1887 1878 1820 1903 1834 1906 1856 1836 1884 1787 18411827 1843 1890 1884 1904 1845

More information

壹 前言 一 研究動機 現今社會大眾近視比例逐年增加, 原因在於電腦不當且過度使用, 說其根本便是因為並無注意時間因此導致眼睛無法負荷, 然而使用者並非要使用如此長的時間, 或者家長規定小孩的電腦使用限制時間, 但卻沒有輔助的工具來提醒休息時間, 因此我們想了這個程式來幫助改善這個問題 二 研究目的

壹 前言 一 研究動機 現今社會大眾近視比例逐年增加, 原因在於電腦不當且過度使用, 說其根本便是因為並無注意時間因此導致眼睛無法負荷, 然而使用者並非要使用如此長的時間, 或者家長規定小孩的電腦使用限制時間, 但卻沒有輔助的工具來提醒休息時間, 因此我們想了這個程式來幫助改善這個問題 二 研究目的 投稿類別 : 工程技術類 篇名 : 作息提醒時鐘之製作 作者 : 林聖崴 台北市立松山工農 日間部電子科三年級仁班 徐小剛 台北市立松山工農 日間部電子科三年級仁班 指導老師 : 柯秉鈞老師 壹 前言 一 研究動機 現今社會大眾近視比例逐年增加, 原因在於電腦不當且過度使用, 說其根本便是因為並無注意時間因此導致眼睛無法負荷, 然而使用者並非要使用如此長的時間, 或者家長規定小孩的電腦使用限制時間,

More information

Microsoft Word - 投影片ch20

Microsoft Word - 投影片ch20 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第二十章 AWT 的繪圖 本章學習目標認識 Java 繪圖的基本概念學習設定圖形的顏色與文字的字型學習用滑鼠繪圖的基本程式設計 AWT 的繪圖 20-2 20.1 繪圖概述 20.1.1 座標系統 Java 的座標系統, 原點在視窗的左上角, 向右為 x 軸方向, 向下為 y 軸方向, 如下圖所示 : 原點 x (x,y)

More information