图形用户界面 (GUI) 设计

Size: px
Start display at page:

Download "图形用户界面 (GUI) 设计"

Transcription

1 学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 :cyh@xjau.edu.cn

2 图形用户界面 (GUI) 设计

3

4

5 参考 C:\Program Files\Java\jdk1.6.0_10\demo

6 教学内容 1 Java 图形用户界面设计概述 AWT 组件集 事件处理 Swing 组件集 5 6

7 概述 图形用户界面, 英文全称为 Graphical User Interface, 一般习惯简称为 GUI 图形化用户界面大大方便了人机交互, 是一种结合计算机科学 美学 心理学 行为学, 及各商业领域需求分析的人机系统工程, 强调人 机 环境三者作为一个系统进行总体设计

8 设计原则 用户至上的原则 交互界面要友好 配色方案要合理

9 主流开发工具集 基于 Java 的图形用户界面开发工具 ( 即组件集 ) 最主流的有三种 : AWT 随 Sun 的 JDK 一起发布 Swing SWT/JFace 源于 IBM 的 Eclipse 开源项目

10 AWT 组件集 AWT(Abstract Window ToolKit) 由 JDK 的 java.awt 包提供, 里面包含了许多可以用来建立图形用户界面 (GUI) 的类, 一般称这些类为组件 (component) 图 AWT 组件的继承关系图

11 AWT 组件集 AWT 组件大致可以分为以下三类 : (1) 容器类组件 (2) 原子类组件 ( 非容器类组件 ) (3) 布局管理器类组件

12 容器类组件 容器类组件由 Container 类派生而来, 常用的有 Frame 类和 Dialog 类, 以及 Applet 类 这些容器类组件可以用来容纳其他普通组件或者另一些容器组件, 起到组织用户界面的作用 容器类组件有一定的范围和位置, 并且它们的布局从整体上也决定了所容纳组件的位置 因此, 在界面设计的初始阶段, 首要考虑的就是容器类组件的布局

13 图 AWT 组件的继承关系图

14 顶层容器 : 是一个能够提供图形绘制的容器, 是进行图形编程的基础, 一切图形化的东西, 都必须包括在顶层容器中 Frame JFrame: 用来设计类似于 Windows 系统中的窗口形式的应用程序 Dialog JDialog: 和 Frame 类似, 只不过 Dialog 是用来设计对话框 Applet JApplet: 用来设计可以嵌入在网页中的 Java 小程序 每一个窗口应用程序中有且只能有一个顶层容器组件

15 中间容器属于容器型组件, 可包含组件和其他容器的组件, 但自身又必须包含在其他容器 ( 如顶层容器 ) 中, 如 Panel JPanel JSplitPane JScrollPane JToolBar

16 原子类组件 AWT 提供了一系列的原子组件以构建用户图形界面, 它们主要包括 : 标签 文本框 文本域 按钮 复选框 单选框 列表框 下拉框 滚动条和菜单等

17 图 AWT 组件的继承关系图

18 按钮 AWT 提供的按钮类为 Button, 它是从 Component 类直接继承而来 Swing 提供的按钮类为 JButton

19

20 标签 标签是很简单的一种组件, 一般用来显示标识性的文本信息, 常被放置于其他组件的旁边起提示作用 AWT 提供的标签类为 Label, Swing 提供的标签类为 JLabel

21 字体 颜色设置 创建字体对象 : Font f= new Font( 字体, 风格, 字号 ) 设置字体 : setfont(f); 创建颜色对象 : Color c=new Color(red, green, blue); 设置颜色 : setcolor(c); 或 setcolor(color.red);

22 文本框 文本框是图形界面中常用于接收用户输入或程序输出的一种组件, 它只允许输入或显示单行的文本信息, 且用户还可以限定文本框的宽度 AWT 提供的文本框类为 TextField, 它直接继承于 TextComponent, 而 TextComponent 则从 Component 类继承而来 Swing 提供的文本框类为 JTextField

23 TextField 类的常用方法有 : public String gettext() // 获取文本框中的输入文本 public String getselectedtext()// 获取文本框中选中的文本 public boolean iseditable() // 返回文本框是否可输入 public void seteditable(boolean b)// 设置文本框的状态 : 可输入或不可输入 public int getcolumns() // 获取文本框的宽度 public void setcolumns(int columns)// 设置文本框的宽度 public void settext(string t) // 设置文本框中的文本为 t

24

25 文本域 文本域组件也是用来接收用户输入或程序输出的, 不过与文本框不同的是, 它允许进行多行输入或输出, 因而它一般用于处理大量文本的情形 AWT 提供的文本域组件为 TextArea 类, 它也是从 TextComponent 类继承而来 Swing 提供的文本域组件为 JTextArea 类

26

27 复选框 复选框组件也是图形界面上用于接受用户输入的一种快捷方式, 一般是在界面上提供多个复选框选项, 用户根据实际情况, 可以多选也可以都不选 AWT 提供的复选框类为 Checkbox 事实上, 该组件类类似于具有开关选项的按钮, 用户单击选中, 再单击则取消选中

28

29 单选框 在有些情况, 程序界面可能给用户提供多个选项, 但是只允许用户选中其中一个, 这就是单选框的概念 事实上, 单选框是从上面复选框衍生而来的, 它也采用 Checkbox 作为其组件类, 不过为了实现单选效果, 还需要另外一个组件类 :CheckboxGroup, 当我们把 Checkbox 类对象添加进某个 CheckboxGroup 对象后, 它就成为了单选框

30

31 列表框 列表框组件看起来像文本域, 可以有多行, 每一行文本代表一个选项, 文本域组件多用于用户编辑之用, 而列表框多用于给用户几个选项进行选择, 可以多选也可以单选 AWT 提供的列表框类为 List, 它直接继承于 Component 类

32

33 下拉框 下拉框组件提供一些选项供用户来选择, 每次只能选一个, 选中的选项会被单独显示出来, 而改变选项则可以通过单击组件边上的箭头, 再从下拉框中进行选择来完成 下拉框相比列表框而言, 占据较小的界面区域 AWT 提供的下拉框类为 Choice, 它直接继承于 Component 类

34

35 滚动条 滚动条是图形用户界面中常见的组件之一, 它既可以用作取值器, 也可以用来滚动显示某些较长文本信息 AWT 提供的滚动条类为 Scrollbar, 它也是直接从 Component 组件继承而来,

36 菜单 菜单将系统的各种功能选项以直观的方式展现出来, 供用户选择, 大大方便了用户与系统间的交互 菜单比其他组件类特殊, 它是由几个菜单相关类共同构成的菜单系统 AWT 提供的菜单系统类包括 : MenuBar MenuItem Menu CheckboxMenuItem 以及 PopupMenu, 它们之间的继承关系如下图所示 :

37 注意 由于各个类间存在继承关系, 因而子类可以调用父类提供的部分常用方法 菜单系统创建好后, 最后必须调用 Frame 类的 setmenubar() 方法将其加入到框架界面中

38 MenuBar 类对应菜单系统的整体,Menu 类对应菜单系统中的一列菜单 ( 实际上它只是一种特殊的菜单项 ),MenuItem 和 CheckboxMenuItem 类则对应具体的菜单项, 其中 CheckboxMenuItem 为带复选框的菜单项, 而 PopupMenu 类对应弹出式菜单, 它是菜单 Menu 类的子类

39 布局组件类 ( 布局管理器 ) 布局类组件是非可视组件, 它们能很好地在容器中布置其他可视组件 AWT 提供了五种基本的布局方式 :FlowLayout BorderLayout GridLayout GridBagLayout 和 CardLayout 等, 它们均为 Object 类的子类, 如下图所示 图布局方式

40 FlowLayout FlowLayout 是最简单的一种布局方式, 被容纳的可视组件从左向右, 从上至下依次排列, 若一组件在本行放置不下, 就自动排到下一行的开始处, 该方式为 Panel Applet JPanel 的默认布局方式

41 BorderLayout BorderLayout 布局方式的特点是 : 将容器划分为 东 西 南 北 中 五个区 每个区可以摆放一个组件, 因此最多可以在 BorderLayout 的容器组件中放置五个组件, 是 Frame Dialog 的默认布局方式 也是 JFrame,JDialog,JInternalFrame 以及 JApplet 的默认布局方式

42 思考

43 GridLayout GridLayout 布局将容器划分为行和列的网格, 每个网格单元可以放置一个组件, 组件通过 add() 方法从上到下, 从左至右顺序加入网格各个单元中 GridLayout 布局允许在组件之间设置水平和垂直间距, 间距同样以像素为单位表示, 如下为创建 6 行 6 列, 水平间隔和垂直间隔均为 10 个像素的 GridLayout 布局对象 : setlayout(new GridLayout(6,6,10,10));

44 图 GridLayout 布局界面

45 GridBagLayout GridBagLayout 是所有 AWT 布局管理方式中最繁的, 同时也是功能最强的 GridBagLayout 设置的所有行和列可以大小不同 GridBagLayout 允许不同组件在容器中占据不同大小的矩形区域 GridBagLayout 由一个专用的类来对布局行为进行约束, 该类为 GridBagConstraints, 它的所有成员都是 public( 公有 ) 的, 要掌握如何使用 GridBagLayout 布局, 关键在于熟悉这些约束变量, 以及如何进行设置

46 GridBagConstraints 的常用属性 public girdx // 组件所处位置的起始单元格列号 public gridy // 组件所处位置的起始单元格行号 public gridheight // 组件在垂直方向占据的单元格个数 public gridwidth // 组件在水平方向占据的单元格个数 public double weightx // 容器缩放时, 单元格在水平方向 的缩放比例 public double weighty // 容器缩放时, 单元格在垂直方向的缩 放比例 public int anchor // 当组件较小时指定其在网格中的起始位 置 public int fill // 当组件分布区域变大时指明是否缩放, 以及 如何缩放 public Insets insets // 组件与外部分布区域边缘的间距 public int ipadx // 组件在水平方向的内部缩进 public int ipady // 组件在垂直方向的内部缩进

47

48 CardLayout CardLayout 布局将组件 ( 通常是 Panel 类的容器组件 ) 象扑克牌 ( 卡片 ) 一样摞起来, 每次只能显示其中的一张, 实现分页的效果, 每一页中可以有各自的界面, 这样就相当于扩展了原本有限的屏幕区域

49 CardLayout 布局组件提供了以下方法来对各张 Card 页面进行切换 : public void first (Container parent) // 显示第一张卡片 public void next (Container parent) // 显示下一张卡片 public void previous (Container parent) // 显示上一张卡片 public void show (Container parent,string name) // 显示指定卡片 public void last (Container parent) // 显示最后一张卡片

50 Swing 组件集简介 AWT 组件 ( 重量级组件 ) 的外观和显示直接依赖于本地系统, 因此在移植程序时常会出现界面不一致的情形, 为此,Sun 公司在 AWT 的基础上又开发了一个经过仔细设计的 灵活而强大的新的 GUI 组件集 Swing( 轻量级组件 ) Swing 是在 AWT 的基础上构建的一套新的图形界面组件集, 它用纯粹的 Java 代码对 AWT 的功能进行了大幅度的扩充 Swing 组件集提供了比 AWT 更多 功能更强的组件, 增加了新的布局管理方式 ( 如 BoxLayout), 同时还设计出了更多的处理事件

51 组件的继承关系 AWT 组件包含在 java.awt 包里, 如 Button Checkbox Scrollbar 等, 都是 Component 类的子类 Swing 中大多数组件其名称都是在原来 AWT 组件名称前加上 J, 例如 JButton JCheckBox JScrollbar 等, 都是 JComponent 类的子类

52 java.awt.component -java.awt.container -java.awt.window -java.awt.frame-javax.swing.jframe -javax.dialog-javax.swing.jdialog -javax.swing.jwindow -java.awt.applet-javax.swing.japplet -javax.swing.box -javax.swing.jcomponet

53

54 设置外观 在主方法 (main 或 init) 的开头加入 : try{ UIManager.setLookAndFeel("com.sun.java.swing.plaf. motif.motiflookandfeel"); } catch(exception e){ } e.printstacktrace();

55 外观 Nimbus 风格, 新出来的外观,jdk6 update10 版本以后的才会出现 com.sun.java.swing.plaf.nimbus.nimbuslookandfeel 当前系统风格 UIManager.getSystemLookAndFeelClassName() Motif 风格, 外观接近 windows 经典, 但宽宽大大, 而且不是黑灰主色, 而是蓝黑 com.sun.java.swing.plaf.motif.motiflookandfeel 跨平台的 Java 界面风格 UIManager.getCrossPlatformLookAndFeelClassName() windows 风格 com.sun.java.swing.plaf.windows.windowslookandfeel javax.swing.plaf.windows.windowslookandfeel java 风格 javax.swing.plaf.metal.metallookandfeel 苹果风格 com.apple.mrj.swing.maclookandfeel

56 问题 界面中的组件 菜单单击之后没有任何反应

57 事件处理 在早先的 JDK1.0 版本中提供的是称为层次事件模型的事件处理机制 在 JDK1.1 以后版本中便被基于事件监听模型的事件处理机制替代了, 这种机制也称之为事件派遣机制或授权事件机制, 它的处理效率相比层次事件模型大为提高

58 事件类及其对应的监听器 AWT 提供了很多的事件类及其对应的监听器 ( 其实就是接口 ), 它们都被放置到 JDK 的 java.awt.event 包中

59 ActionEvent 类 表示一个广义的行为事件, 可以是鼠标单击按钮或者菜单, 也可以是列表框的某选项被双击或文本框中的回车行为 ActionEvent 类对应的监听器为 ActionListener 接口, 该接口只有一个抽象方法 : public abstract void actionperformed(actionevent actionevent); 注册该监听器需要调用组件的 addactionlistener() 方法, 撤销则调用组件的 removeactionlistener() 方法

60

61 事件监听和事件处理 两种方案 : 方案 1: 当前类即为事件监听器类, 并实现事件处理程序 方案 2: 内部类作为事件监听器类, 并实现事件处理程序 方案 3: 匿名内部类作为事件监听器类, 并实现事件处理程序

62 TextEvent 类 当一个文本框 (TextField) 或文本域 (TextArea) 的内容发生改变时就会产生相应的 TextEvent 事件 该事件对应的监听器为 TextListener 接口, 它仅定义了一个抽象方法 : public abstract void textvaluechanged(textevent textevent); 注册文本事件监听器必须调用组件的 addtextlistener() 方法

63

64 Document 类和 DocumentListener 当一个 JTextField 或 JTextArea 的内容发生改变时就会产生相应的 DocumentEvent 事件 该事件对应的监听器为 DocumentListener 接口, 它定义了三个抽象方法 : public abstract void insertupdate (DocumentEvent event); public abstract void removeupdate (DocumentEvent event); public abstract void changedupdate (DocumentEvent event); 注册 Swing 文本事件监听器必须调用组件的 Document 对象的 adddocumentlistener 方法

65 KeyEvent 类 当用户按下或释放键时产生该类事件, 也称为键盘事件 对应的监听器为 KeyListener 接口, 该接口定义有三个抽象方法 : public abstract void keytyped(keyevent keyevent); public abstract void keypressed(keyevent keyevent); public abstract void keyreleased(keyevent keyevent); 注册键盘监听器可以通过调用组件的 addkeylistener() 方法来实现

66 MouseEvent 类 当用户按下鼠标 释放鼠标或移动鼠标时会产生鼠标事件 该事件对应两种监听器 :MouseListener 和 MouseMotionListener 接口 鼠标按钮事件监听器由实现 MouseListener 接口的对象表示, 而鼠标移动事件监听器则由实现 MouseMotionListener 接口的对象表示 MouseListener 接口定义的抽象方法有 5 个 : public abstract void mouseclicked(mouseevent event); public abstract void mousepressed(mouseevent event); public abstract void mousereleased(mouseevent event); public abstract void mouseentered(mouseevent event); public abstract void mouseexited(mouseevent event);

67 MouseMotionListener 接口定义的方法则有 2 个 : public abstract void mousedragged(mouseevent event); public abstract void mousemoved(mouseevent event); 注册鼠标事件监听器可以调用相应的 addmouselistener( ) 和 addmousemotionlistener( ) 方法

68 FocusEvent 类 当一个组件得到或失去焦点时, 就会发生焦点事件 在当前活动窗口中, 有且只有一个组件拥有焦点, 当用户用 Tab 键操作或用鼠标单击其他组件时, 一般焦点就会转移至其他组件上, 此时就发生了 FocusEvent 事件 该事件对应的监听器为 FocusListener 接口, 它有 2 个抽象方法 : public abstract void focusgained(focusevent focusevent); public abstract void focuslost(focusevent focusevent); 注册焦点事件监听器需要调用组件的 addfocuslistener 方法

69 WindowEvent 类 当一个窗口被打开 关闭 激活 撤消激活 图标化或撤消图标化时就会产生窗口事件 WindowEvent 类对应的监听器为 WindowListener 接口, 该接口定义了 7 个抽象方法 : public abstract void windowopened(windowevent windowevent); public abstract void windowclosing(windowevent windowevent); public abstract void windowclosed(windowevent windowevent); public abstract void windowiconified(windowevent windowevent); public abstract void windowdeiconified(windowevent windowevent); public abstract void windowactivated(windowevent windowevent); public abstract void windowdeactivated(windowevent windowevent); 注册窗口事件监听器需要调用组件的 addwindowlistener() 方法

70 事件处理程序的编写步骤大致 (1) 实现某一事件的监听器接口 ( 定义事件处理类并实现监听器接口 ) (2) 在事件处理类中根据实际需要实现相应的抽象方法 (3) 给组件注册相应事件监听器以指明该事件的事件源有哪些

71 ActionEvent 行为事件处理 菜单事件处理

72 鼠标事件处理 键盘事件处理

73 Adapter( 适配器 ) Java 规定 : 实现一个接口时必须对该接口的所有抽象方法进行具体的实现, 为此,Java 提供了一种叫做 Adapter( 适配器 ) 的抽象类来简化事件处理程序的编写 适配器类很简单, 它其实就是一个实现了接口中所有抽象方法的 空 类, 本身不提供实际功能 Java 为具有多个抽象方法的监听接口提供相对应的适配器类, 比如 WindowListener WindowStateListener 和 WindowFocusListener 一起对应一个 WindowAdapter KeyListener 对应 KeyAdapter MouseListener 对应 MouseAdapter 等, 大家不妨到 java.awt.event 包中看看

74 常用的监听器接口 ActionListener AdjustmentListener FocusListener KeyListener MouseListener MouseMotionListener WindowListener 对应的适配器类 actionperformed(actionevent e) adjustmentvaluechanged(adjustmentevent e) FocusAdapter KeyAdapter MouseAdapter MouseMotionAdapter WindowAdapter

75 举例 // 处理窗口关闭事件的常用方法 ( 匿名适配器类 ) f.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) {System.exit(0);} } ); 上述代码很简洁, 主要是因为我们采用了适配器类来实现简单的事件处理, 由于这里只需要用到 windowclosing() 方法, 因此只要给出它的覆盖实现即可, 其他方法用户就可以不管了

76 利用 AWT 组件和 Swing 组件 进行 GUI 程序设计的基本步骤 1. 引入包 2. 选择 外观和感觉 (Swing) 3. 设置顶层容器 4. 设置布局管理 5. 向容器中添加组件 6. 对组件进行事件处理

77 1. 引入包 import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.tree.*; import javax.swing.event.*; import javax.swing.border.*; import javax.swing.table.*;

78 2. 选择 外观和感觉 在产生任何可视组件以前需设置好它们的外观和感觉 设置某种外观和感觉, 需要使用 UIManager 类所提供的 setlookandfeel() 静态方法

79 3. 设置顶层容器 Application 程序一般选择 JFrame( 或 Frame) 作为顶层容器 ( 主窗口 ),Applet 一般选择 JApplet( 或 Applet) 作为顶层容器 ( 主窗口 ) 4. 设置布局管理 利用布局管理器对象安排其它容器和基本组件的布局 常用的四种布局管理器 :FlowLayout BorderLayout CardLayout GridLayout 5. 向容器中添加组件 利用方法 add() 向容器添加组件, 容器可以嵌套 6. 对组件进行事件处理 设置监视器监视事件, 并进行相应处理

80 事件类的继承关系 java.lang.object java.util.eventobject java.awt.awtevent ActionEvent AdjustmentEvent ComponentEvent ContainerEvent FocusEvent ItemEvent TextEvent InputEvent PaintEvent WindowEvent KeyEvent MouseEvent

81 事件种类 Java 把事件类大致分为两种 : 语义事件 (semantic events) 与底层事件 (low-level events) 语义事件直接继承自 AWTEvent, 如 ActionEvent AdjustmentEvent 与 ComponentEvent 等 底层事件则是继承自 ComponentEvent 类, 如 ContainerEvent FocusEvent WindowEvent 与 KeyEvent 等

82 事件监听器类的继承关系 A ction Listener A djustm entlistener java.util java.util.e ventlistener C om om ponentlistener C ontainerlistener istener FocusListener Item Listener L K eylistener M ouselistener M ousem otionlistener T extlistener W indow Listener

83 事件类 ActionEvent AdjustmentEvent ItemEvent KeyEvent MouseEvent TextEvent WindowEvent KeyListener 监听器接口 ActionListener AdjustmentListener ItemListener MouseListener MouseMotionListener TextListener WindowListener 监听器接口所提供的事件处理方法 actionperformed(actionevent e) adjustmentvaluechanged(adjustmentevent e) itemstatechanged(itemevent e) keytyped(keyevent e) keypressed(keyevent e) keyreleased(keyevent e) mouseclicked(mouseevent e) mouseentered(mouseevent e) mouseexited(mouseevent e) mousepressed(mouseevent e) mousereleased(mouseevent e) mousedragged(mouseevent e) mousemoved(mouseevent e) textvaluechanged(textevent e) windowactivated(windowevent e) windowclosed(windowevent e) windowclosing(windowevent e) windowdeactivated(windowevent e) windowdeiconified(windowevent e) windowiconified(windowevent e) windowopened(windowevent e)

84 AWT 所提供的组件中, 可能触发事件类的对应关系 事 件 源 Button CheckBox Component MenuItem Scrollbar TextArea TextField Window ActionEvent ActionEvent ItemEvent ComponentEvent FocusEvent KeyEvent MouseEvent ActionEvent AdjustmentEvent ActionEvent ActionEvent TextEvent WindowEvent 产生事件的类型

85 小结 图形用户界面技术的概念和历史 用户界面设计原则 Java AWT 组件集 事件处理机制 Sun 在 AWT 之后推出的新组件集 Swing

86 小结 应用程序实现 GUI 小程序实现 GUI 应用程序和小程序联合编程

87 Applet 和 Application 的联合编程

88 阅读任务 本节课后的阅读任务 课本第 9 章

89 第八章 Applet 技术

90 Applet 概述 Applet 技术一出现, 互联网立刻焕发出无限的生机, 因为 Applet 不仅可以生成绚丽多彩的 Web 页面 进行良好的人机交互, 同时还能处理图形图像 声音 视频和动画等多媒体数据, 随即它吸引了全世界编程者的目光,Java 语言也正因此火热流行起来, 可见 Applet 在 Java 的发展过程中起到不可估量的推动作用

91 一 Applet 简介 Applet 程序继承自 java.applet.applet 类, 嵌入 HTML 文档中, 通常置于服务器端, 下载到本地机后, 通过浏览器在用户端执行 Applet 类提供了 Applet 程序在浏览器上执行的架构 (Applet 的生命周期 ), 包括 init(), start(),stop() 和 destroy() 四个方法

92 Applet 生命周期 Applet 小程序的生命周期相对于 Application 而言较为复杂 在其生命周期中涉及到 Applet 类的四个方法 : init() start() stop() 和 destroy() Applet 的生命周期中有相对应的四个状态 : 初始态 运行态 停止态和消亡态

93 Applet 生命周期 当程序执行完 init() 方法后,Applet 小程序就进入了初始态 ; 然后立刻执行 start() 方法,Applet 小程序进入运行态 ; 当 Applet 小程序所在的浏览器图标化或者是转入其它页面时, 该 Applet 小程序立刻执行 stop() 方法, 使 Applet 小程序进入停止态 ; 在停止态中, 如果浏览器又重新加载该 Applet 小程序所在的页面, 或者是浏览器从图标中还原, 则 Applet 小程序又会调用 start() 方法, 进入运行态 ; 在停止态时, 若浏览器被关闭, 则 Applet 小程序会调用 destroy() 方法, 使其进入消亡态

94 Applet 和 Application 比较 Java Applet( 小程序 ): 不是一个完整的应用程序, 而是框架程序中的一个模块, 所以只能在 WWW 浏览器环境下运行 Java Application(Java 应用程序 ): 是一个完整的应用程序, 可以独立地运行

95 applet 程序的运行过程 为 Applet 及其全程变量分配存储空间 ; 运行 Applet 的 init() 方法, 接着调用 start() 方法, 之后调用 paint() 方法 ; 如果用户离开该网页,stop() 方法被调用 ; 当用户离开 Applet 所在网页一段时间又重新回到其所在网页 ( 重新激活该网页 ) 时, 再次执行 start() 方法及 paint() 方法 ; 当用户执行浏览器的刷新操作时, 浏览器将先卸载该 Applet, 再加载该 Applet 当用户真正离开浏览器时先执行 stop() 方法, 再执行 destroy() 方法

96 Applet 程序基本结构 import java.awt.graphics; import javax.swing.japplet.*; class { 类名称 extends JApplet } 类成员声明

97 Applet 开发步骤 Applet 的开发步骤大致可以分为以下三个步骤 : (1) 用 UltraEdit 或 Notepad 等纯文本软件编辑 Java Applet 源程序 (2) 利用 javac 编译器将 Applet 源程序转换成 class 字节码文件 (3) 编写 HTML 页面, 并通过 <APPLET>< /APPLET> 标签引用上述字节码文件

98 一个简单的例子 import java.awt.*; import java.applet.*; public class HelloApplet extends Applet { public void paint(graphics g ) { g.drawstring("hello!",10,10); g.drawstring("welcome to Applet Programming!",30,30); } }

99 HTML 网页 <HTML> <TITLE>Hello Applet</TITLE> <APPLET CODE="HelloApplet.class" WIDTH=300 HEIGHT=300> </APPLET> </HTML>

100 嵌入网页效果

101 Applet 技术解析 Applet 类是用户编写的 applet 小程序的基类, 该基类的继承关系如下图所示

102 paint() 方法 Applet 小程序的窗口绘制通常是由 paint() 方法来完成的 paint() 方法在小程序执行后会被自行调用, 并且以后在遇到窗口缩小化后再恢复或者被其他窗口遮挡后再恢复情形, 它都会被自动调用, 以重新绘制窗口 paint() 方法包含一个 Graphics 类的参数对象, 这个对象可以被用来输出文本 绘制图形 显示图像等 该方法的格式如下 : public void paint(graphics g) { // 编写代码 }

103 Applet 多媒体编程 --- 文字 import java.awt.*; import java.applet.*; public class TextApplet extends Applet { Font f1 = new Font("Times New Roman",Font.PLAIN,12); Font f2 = new Font(" 宋体 ",Font.BOLD,24); Font f3 = new Font(" 黑体 ",Font.BOLD,36); Color c1 = new Color(255,0,0); // 红色 Color c2 = new Color(0,255,0); // 绿色 Color c3 = new Color(0,0,255); // 蓝色 public void paint(graphics g) { g.setfont(f1); g.setcolor(c1); g.drawstring("times New Roman",20,30); g.setfont(f2); g.setcolor(c2); g.drawstring(" 宋体 ",20,60); g.setfont(f3); g.setcolor(c3); g.drawstring(" 黑体 ",20,120); } }

104 Applet 多媒体编程 --- 图形 import java.awt.*; import java.applet.*; public class LineApplet extends Applet { public void paint(graphics g) { int x1,y1,x2,y2; x1 = 10; y1 = 10; x2 = 100; y2 = 100; g.drawline(x1,y1,x2,y2); } }

105 Applet 多媒体编程 ---- 图形 import java.awt.*; import java.applet.*; public class RectApplet extends Applet { public void paint(graphics g) { g.drawrect(10,10,60,60); g.fillrect(80,10,60,60); } }

106 Applet 多媒体编程 --- 图形 import java.awt.*; import java.applet.*; public class PolyApplet extends Applet { public void paint(graphics g) { int x[ ] = { 30,90,100,140,50,60,30 }; int y[ ] = { 30,70,40,70,100,80,100 }; int pts = x.length; g.drawpolygon(x,y,pts); } }

107 import java.applet.*; public class LampApplet extends Applet { public void paint(graphics g) { // 绘制灯上的黑点 g.fillarc(78,120,40,40,63,-174); g.fillarc(173,100,40,40,110,180); g.filloval(120,96,40,40); // 绘制灯的上下轮廓 g.drawarc(85,157,130,50,-65,312); g.drawarc(85,87,130,50,62,58); // 绘制灯的左右轮廓 g.drawline(85,177,119,89); g.drawline(215,177,181,89); // 绘制灯柱线 g.drawline(125,250,125,160); g.drawline(175,250,175,160); // 绘制底座 g.fillrect(10,250,260,30); } 新疆农业大学计算机与信息工程学院 } 陈燕红

108 图像 import java.awt.*; import java.applet.*; public class PicApplet extends Applet { Image pic; // 图像对象 public void init( ) { pic=getimage(getcodebase(),"fish.jpg"); // 获得图片 } public void paint(graphics g) { g.drawimage(pic,30,30,this); } }

109 声音 import java.awt.*; import java.applet.*; public class AudioApplet extends Applet { AudioClip audio; // 声音对象 public void init( ) { audio=getaudioclip(getcodebase(),"fire.au"); // 获得声音 } public void paint(graphics g) { g.drawstring(" 循环播放声音的 Applet 小程序 ",30,30); } public void start( ) { audio.loop( ); // 循环播放声音 } public void stop( ) { audio.stop( ); // 停止播放 } }

110 动画 所谓动画就是通过连续播放一系列画面, 给视觉造成连续变化的图画, 这是动画最基本的原理 在屏幕上显示一系列连续动画的第一帧图像, 然后每隔很短的时间再显示下一帧图像, 如此往复, 利用人眼视觉的暂停现象, 感觉画面的物体在运动

111 用多线程实现动画文字 在 Java 中实现多线程有两种方法 : 一种是继承 Thread 类 ; 另外一种是实现 Runnable 接口, 对于 Applet 小程序, 我们一般是实现 Runnable 接口 实现动画文字与实现动画的方法是一样的, 可以通过实现 Runnable 接口来实现多线程绘出动画文字, 使文字像打字一样一个文字一个文字地跳出来, 然后全部隐去, 再重复显示文字, 实现打字效果

112 显示动画 public class MovingImg extends Applet{ Image img0,img1; int x=10; public void init(){ img0=getimage(getcodebase(),"t5.gif"); img1=getimage(getcodebase(),"t1.gif"); } public void paint(graphics g){ g.drawimage(img0,0,10,this); g.drawimage(img1,x,30,this); g.drawimage(img0,0,60,this); try{ Thread.sleep(50); x+=5; if(x==550){ x=10; Thread.sleep(1500); } }catch(interruptedexception e){} repaint(); } } 新疆农业大学计算机与信息工程学院 陈燕红

113 运行上述 Applet 时画面有闪烁的现象 一般来说, 画面越大, 闪烁越严重 避免闪动的方法有两个, 一是通过覆盖 update() 方法, 二是使用 buffer 屏幕缓冲区 若画面较大, 只使用 update() 以背景色清除显示区的时间就较长, 不可避免地会产生闪烁, 可以通过双缓冲技术, 有效地消除闪烁

114 双缓冲技术简介 双缓冲技术在显示动画之前, 首先创建两个图形缓冲区, 一个为前台的显示缓冲, 一个为后台的图形缓冲, 然后在显示 ( 绘制 ) 图形时, 对两个缓冲区进行同步的图形数据更新, 该操作相当于为前台显示区的数据作了一个后台的图形数据备份, 当前台显示区的图形数据需要恢复时, 可以用后台备份的图形数据来恢复, 其具体方法则是重写 paint() 和 update() 方法, 将备份好的图形数据一次性地画到显示屏幕上

学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 新疆农业大学计算机与信息工程学院陈燕红

学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 新疆农业大学计算机与信息工程学院陈燕红 2013-2014 学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 :cyh@xjau.edu.cn 教学内容 1 Applet 程序 2 命令行程序 3 4 5 6 第八章 Applet 技术 Applet 概述 Applet 技术一出现, 互联网立刻焕发出无限的生机, 因为 Applet 不仅可以生成绚丽多彩的

More information

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

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

Java事件处理模型

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

More information

chp11.ppt

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

More information

Microsoft Word - 投影片ch18

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

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

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

chp8.ppt

chp8.ppt Java 软件设计基础 图形用户界面程序设计入门 1. 组件概述 GUI: Graphics User Interface 设计和实现 GUI 的主要难点 创建组成界面的各成分和元素, 指定它们的属性和位置关系, 根据具体需要布局排列, 从而构成完整的 GUI 的外观表象 ; 在 GUI 程序中, 代码所执行的路线及顺序都是很不确定的 在 GUI 程序中, 用户可以点击任意按键并和屏幕上的其他任何部分进行交互及信息传递

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

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

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

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

More information

(京)新登字063号

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

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

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

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

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

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

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

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

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

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

软件工程文档编制

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

More information

幻灯片 1

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

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

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

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

图形学 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

Microsoft Word - 正文.doc

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

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

授课内容 内容 图形界面与控制台应用的区别 (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 月 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

Microsoft PowerPoint - 18_Event.pptx

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

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

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

大漠 伪前端, 就职于淘宝

大漠 伪前端, 就职于淘宝 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

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

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

PowerPoint 演示文稿

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

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

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

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

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

一 登录 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

《面向对象程序设计A》课程教学大纲Ⅱ4

《面向对象程序设计A》课程教学大纲Ⅱ4 Java 程 序 设 计 课 程 教 学 大 纲 Ⅱ5 课 程 代 码 : 课 程 名 称 :Java 程 序 设 计 Java Programming 学 分 :5 总 学 时 :80 ( 其 中 : 理 论 学 时 :48 实 验 ( 上 机 ) 学 时 :32) 先 修 课 程 : 2106010190 大 学 计 算 机 信 息 技 术 基 础 适 用 对 象 : 本 二 工 科 非 计 算

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

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

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

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

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

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

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

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

More information

基于JAVA的连连看游戏设计

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

More information

untitled

untitled 51testing www.51testing.com UML Java Unified Modeling Language UML 1 UML 2 UML UML UML UML UML UML use case Java 1 2 3 4( 5 6 7 UNIX Windows OS/2 ( GUI ) 8 51testing www.51testing.com use caseactor ()

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 Java语言程序设计案例教程正文.doc

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

More information

Microsoft Word - 投影片ch21

Microsoft Word - 投影片ch21 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第二十一章網頁的精靈 -Applet 本章學習目標 applet 概述認識 applet 的執行程序學習載入影像與簡單的動畫製作學習在 applet 裡播放音樂檔 網頁的精靈 -Applet 21-2 21.1 applet 概述 applet 經編譯後, 會產生.class 的檔案, 其過程如下 : web 伺服器

More information

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

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

More information

Topic

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

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

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

第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

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

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

EJB-Programming-4-cn.doc

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

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

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

使用 Eclipse 开发程序 Java 语言的特点 JDK 的安装以及环境变量的配置 Eclipse 开发工具的安装与使用 JDK 的使用 Eclipse 开发工具的安装与使用 了解 Java 语言的特点 掌握 Java 开发环境的搭建 掌握环境变量的配置 理解 Java 的运行机制 掌握 Ecl

使用 Eclipse 开发程序 Java 语言的特点 JDK 的安装以及环境变量的配置 Eclipse 开发工具的安装与使用 JDK 的使用 Eclipse 开发工具的安装与使用 了解 Java 语言的特点 掌握 Java 开发环境的搭建 掌握环境变量的配置 理解 Java 的运行机制 掌握 Ecl Java 基础案例教程 课程教学大纲 ( 课程英文名称 ) 课程编号 :029 学分 :5 学分学时 :63 学时 ( 其中 : 讲课学时 :45 上机学时 :18 ) 先修课程 : 计算机基础后续课程 : Java Web 程序设计任务教程 适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 Java 基础案例教程 是面向计算机相关专业的一门专业基础课, 涉及 Java

More information

教学内容 1 2 类和对象 Java 面向对象特性

教学内容 1 2 类和对象 Java 面向对象特性 2013-2014 学年度第二学期课程 C 语言程序设计 Java 语言程序设计面向过程编程方法 编程方法学 新疆农业大学计算机与信息工程学院 陈燕红 :cyh@xjau.edu.cn 教学内容 1 2 类和对象 Java 面向对象特性 3 4 5 6 Java 程序的执行过程 经典的 Java 工具包是 JDK 可以用任何文本编辑器, 如记事本, 都可以直接编写 Java 程序然后用 JDK 的命令编译和运行.

More information

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

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

More information

<4D F736F F F696E74202D20B8DFBCB6D3C3BBA7BDE7C3E6D3EBB6E0CFDFB3CC2E707074>

<4D F736F F F696E74202D20B8DFBCB6D3C3BBA7BDE7C3E6D3EBB6E0CFDFB3CC2E707074> 高级用户界面与多线程 LCDUI 高级 LCDUI LCDUI 与多线程 多线程在手机编程中尤为重要 手机游戏开发中, 通常由游戏主线程负责游戏的基本控制, 除此之外还会由一个或者多个线程用于播放背景音乐或声效 网络接受数据时, 传输速度通常都比较慢, 因此可以使用一个独立的线程负责接收数据, 另外一个线程负责 UI 界面和与用户的交互 LCDUI 与多线程 J2ME 是通过线程体来实现多线程的 线程体就是用于实现线程活动的主体,

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

无类继承.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

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

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

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

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

2009年9月全国计算机等级考试二级Java真题及答案

2009年9月全国计算机等级考试二级Java真题及答案 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 Java 真 题 及 答 案 [ 录 入 者 :NCRE100 时 间 :2009-10-08 19:41:34 作 者 : 来 源 :NCRE100.com 浏 览 :1421 次 ] 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟,

More information

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc) SCJP (Oracle Certified Professional, Java SE5/6 Programmer) 學 制 / 班 級 : 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 : 49636107 蘇 建 瑋 繳 交 年 份 : 100 年 6 月 一 SCJP 介 紹 SCJP 是 Sun Certified Java Programmer

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : 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,

More information

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1 Chapter 01 Photoshop CS6 的基本操作 本章内容 1.1 Photoshop 的应用领域 1.6 控制面板的显示与隐藏 1.2 位图和矢量图的特性 1.7 新建 打开与保存文件 1.3 像素和分辨率的关系 1.8 图像的缩放 1.4 色彩模式 1.9 屏幕显示模式 1.5 Photoshop CS6 界面 1.10 计算机图形图像常用的色彩模式 Photoshop CS6 艺术设计案例教程

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

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

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

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

Microsoft PowerPoint - course2.ppt

Microsoft PowerPoint - course2.ppt Java 程 式 設 計 基 礎 班 (2) 莊 坤 達 台 大 電 信 所 網 路 資 料 庫 研 究 室 Email: doug@arbor.ee.ntu.edu.tw Class 2 1 回 顧 Eclipse 使 用 入 門 Class 2 2 Lesson 2 Java 程 式 語 言 介 紹 Class 2 3 Java 基 本 知 識 介 紹 大 小 寫 有 差 (Case Sensitive)

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

Spark读取Hbase中的数据

Spark读取Hbase中的数据 Spark 读取 Hbase 中的数据 Spark 和 Flume-ng 整合, 可以参见本博客 : Spark 和 Flume-ng 整合 使用 Spark 读取 HBase 中的数据 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 大家可能都知道很熟悉 Spark 的两种常见的数据读取方式 ( 存放到 RDD 中 ):(1)

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

untitled

untitled Java Java Java Java 52 24 Java Java Swing Java 010-62782989 13901104297 13801310933 CIP Java /. 2004 ISBN 7-302-09776-3. J.. JAVA. TP312 CIP 2004 108635 http://www.tup.com.cn 100084 010-62770175 010-62776969

More information

Microsoft Word - 第13章.doc

Microsoft Word - 第13章.doc 241 Java 从入门到精通 第 13 章 Swing 用户界面设计 AWT 存在缺少剪贴板 打印支持等缺陷, 甚至没有弹出式菜单和滚动窗口等, 因此 Swing 的产生也就成为必然 Swing 是纯 Java 实现的轻量级 (light-weight) 组件, 它不依赖系统的支持 本章主要讨论 Swing 组件基本的使用方法和使用 Swing 组件创建用户界面的初步方法 13.1 Swing 基础

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

More information

untitled

untitled 653 JAVA 2008 11 Institution of Software Engineer... 2... 4... 4... 5... 5... 8... 8... 8... 8... 8... 9... 9... 9... 11... 13... 13... 13... 13... 15... 15... 15... 15... 16... 16... 17... 17... 17...

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information