Lecture7 Java gUt编程 ava 邯郸学院计算机系张延军 Progr amming in Java 2008. 3-2008. 7 by Yan-jun Zhang, Depar tment of Computer HanDan Col lege
Programming in Java 2008.3-2008.7 by Yan-jun Zhang,Department of Computer HanDan College. 邯郸学院计算机系 张延军 Lecture 7 Java GUI编程
OUTLINE ava 1. Java gu编程简介 2. AWT 21AWT简介 22 Component类 23 Container类 24 Graphics类 25 LayoutManagel类 26Java事件处理机制 27 Canvas类 28Font类 29Menu类 210常用AWT组件应用举例 Swing 31 Swing简介 32 Swing常用组件应用举例 4. Applet 41 Applet简介 4.2 Applet的执行过程 4.3 Java Applet模版 5. NetBeans 5.5 Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. OUTLINE 1. Java GUI编程简介 2. AWT 2.1 AWT简介 2.2 Component类 2.3 Container类 2.4 Graphics类 2.5 LayoutManager类 2.6 Java事件处理机制 2.7 Canvas类 2.8 Font类 2.9 Menu类 2.10 常用AWT组件应用举例 • Swing 3.1 Swing简介 3.2 Swing常用组件应用举例 4. Applet 4.1 Applet简介 4.2 Applet的执行过程 4.3 Java Applet模版 5. NetBeans5.5
1 Java Gu编程简介 ava 计算机用户界面的发展: CUl(Character User Interface) GUI(Graphics User Interface) 尽可能在屏幕上用形象的图标和窗口等来代表有用的资源和可启用的 对象。在Java中,GU可以使用AWT和Swng来实现。 AWT( Abstract window Toolkit)是java中处理图形最基本的方式, 可以用来创建Java的 Apple及窗口程序。由于AWT中的每个组件都需要 消耗系统资源,Sun对AWT进行改进。 Swing由此出现。 Swing的组件均是由AWT中的 Container类为基础开发设计的,故需 学习AWT技术。 Eclipse:|BM公司提出自己的构建用户界面程序包SWT和 Jface,而 没有采用Sun公司的AWT和Swng。 Netbeans: Matisse是 Net beans l中新一代的U设计工具, Matisse将 是一个支持Swng显示布局的工具,通过 Matisse开发者可以轻松的设计 基于Swng的应用。 Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 1 Java GUI编程简介 计算机用户界面的发展: ❖ CUI(Character User Interface) ❖ GUI(Graphics User Interface) 尽可能在屏幕上用形象的图标和窗口等来代表有用的资源和可启用的 对象。在Java中,GUI可以使用AWT和Swing来实现。 AWT (Abstract Window Toolkit)是java中处理图形最基本的方式, 可以用来创建Java的Applet及窗口程序。由于AWT中的每个组件都需要 消耗系统资源,Sun对AWT进行改进。Swing由此出现。 Swing的组件均是由AWT中的Container类为基础开发设计的,故需 学习AWT技术。 Eclipse:IBM公司提出自己的构建用户界面程序包SWT和Jface,而 没有采用Sun公司的AWT和Swing。 Netbeans:Matisse是NetBeans中新一代的UI设计工具, Matisse将 是一个支持Swing显示布局的工具,通过Matisse开发者可以轻松的设计 基于Swing的应用
21AWT简介 ava 在Java中,AWT( Abstract Windows Toolkit是用来处理图形最基 本的方式。AWT包提供很多类,包括: ◇图形界面组件: Label、 Button、Menu、 TextField、 TextArea等。 令2D图形绘制组件:Dot、Line、 Rectangle、 Triangle等 令布局管理器 LayoutManager:用来安排图形界面的位置 令事件处理对象 Event-Handling:用来响应图形界面组件所触发的事件。 软件包 java. awt包含用于创建用户界面和绘制图形图像的所有类。 AWT包中类的继承关系如下: Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.1 AWT简介 在Java中,AWT(Abstract Windows ToolKit)是用来处理图形最基 本的方式。AWT包提供很多类,包括: ❖ 图形界面组件:Label、Button、Menu、TextField、TextArea等。 ❖ 2D图形绘制组件:Dot、Line、Rectangle、Triangle等 ❖ 布局管理器LayoutManager:用来安排图形界面的位置。 ❖ 事件处理对象Event-Handling:用来响应图形界面组件所触发的事件。 软件包 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 AWT包中类的继承关系如下:
21AWT简介 ava Java. lang Object MenuComponent Event Font( component Color Layout [ Image Manager Menu Bar Menultem Container Label Button Textcomponent check Box Window Panel Textfield TextArea Frame Dialog FileDialog Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.1 AWT简介 Java.lang.Object MenuComponent Component MenuBar MenuItem Container Label Button TextComponent Window Panel Textfield TextArea Frame Dialog FileDialog CheckBox Event Font Image Layout Manager Color
22 Component类 ava java.awt包中最核心、最基本的类就是 Component类。 Component 是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互 它是构成Java图形用户界面的基础,大部分组件都是由该类派生出来的。 public abstract class Component extends Object Component类是一个抽象类,其中定义了组件所具有的一般功能: 令基本的绘画支持(pant, repaint, update等) 令字体和颜色等外形控制( setFont, SetForeground等) 令大小和位置控制( Setsize, SetLocation等 令图像处理(实现接口 ImageObserver) 组件状态控制( SetEnable, is Enable, isvisible, is Valid等) Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.2 Component类 java.awt包中最核心、最基本的类就是Component类。Component 是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。 它是构成Java图形用户界面的基础,大部分组件都是由该类派生出来的。 public abstract class Component extends Object Component类是一个抽象类,其中定义了组件所具有的一般功能: ❖ 基本的绘画支持(paint, repaint, update等) ❖ 字体和颜色等外形控制(setFont, SetForeground等) ❖ 大小和位置控制(SetSize, SetLocation等) ❖ 图像处理(实现接口ImageObserver ) ❖ 组件状态控制(SetEnable, isEnable, isVisible, isValid等) ❖ ……
22 Component类 ava 令 setsize(:设置容器的大小 令 setlocation():设置容器左上角的位置 令 setBounds0:设置容器的大小 令 setvisible0:设置容器为可见,默认为不可见 令pack():将容器调整到合适的大小和布局以适应放置的组件。 Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.2 Component类 ❖ setSize():设置容器的大小 ❖ setLocation():设置容器左上角的位置 ❖ setBounds():设置容器的大小 ❖ setVisible():设置容器为可见,默认为不可见 ❖ pack():将容器调整到合适的大小和布局以适应放置的组件
22 Component类 Componet常见类的继承关系如下 Button Canvas Checkbox Choice Window Container Frame Object Component Pane Label) ScrollBar List Scrollb Text点rea Textcomponent TextField Por gr amming in Java 2008.3-2008. 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.2 Component类 Componet常见类的继承关系如下:
23 Container类 ava 组件 Component不能独立地显示出来,必须将组件放在特定的对象 中才能显示出来,这就是包含组件的组件一容器( Container) Container是 Component的子类,它本身也是一个组件,具有组件所有的 性质。另外,它还具有容纳其他组件和容器的功能,其它功能包括 令组件的管理:add0向其中添加一个组件, removel删除其中的一个 组件, ◇布局管理:每个 Containers类都和一个布局管理器相联,以确定其中 组件的布局。 Container类可以通过 setLayout0方法设置某种布局方式。 两种主要的容器类型一顶级容器和中间容器 Window:可独立存在的顶级容器窗口 Panel:是一种无边框的中间容器,通常用来组织界面中的其它组件 必须被添加到其它顶级容器中的中间容器(如Wn或Ape交 (还可以包括其它面板)。可作为容器容纳其它组件,但不能独立存 Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.3 Container类 组件Component不能独立地显示出来,必须将组件放在特定的对象 中才能显示出来,这就是包含组件的组件—容器( Container )。 Container是Component的子类,它本身也是一个组件,具有组件所有的 性质。另外,它还具有容纳其他组件和容器的功能,其它功能包括: ❖ 组件的管理:add() 向其中添加一个组件,remove()删除其中的一个 组件,… ❖ 布局管理:每个Container类都和一个布局管理器相联,以确定其中 组件的布局。 Container类可以通过setLayout()方法设置某种布局方式。 两种主要的容器类型-顶级容器和中间容器 ❖ Window:可独立存在的顶级容器窗口 ❖ Panel:是一种无边框的中间容器,通常用来组织界面中的其它组件 (还可以包括其它面板)。可作为容器容纳其它组件,但不能独立存在, 必须被添加到其它顶级容器中的中间容器(如Window 或 Applet)中
23 Container类 ava ☆ Frame类是 Window类的子类顶级容器 有标题( super(title)),可通过拖拉改变大小,可以最大化,最小化, 但是不能关闭窗口。初始化时为不可见,可用 setVisible(true)使其显示出 来 列表按钮菜单 组件 (Component) 面板(Pane 中间容器 (Container) 窗口(wndo) ←顶级容器 (Container) Por gr amming in Java 2008.3-2008 7 by Yanjun Zhang, Depar tment of Computer HanDan Col lage
绪 论 Porgramming in Java 2008.3-2008.7 by Yanjun Zhang,Department of Computer HanDan Collage. 2.3 Container类 ❖ Frame类是Window类的子类-顶级容器 有标题(super(title)),可通过拖拉改变大小,可以最大化,最小化, 但是不能关闭窗口。初始化时为不可见,可用setVisible(true)使其显示出 来。 列表 按钮 菜单 中间容器 (Container) 窗口(Window) 面板(Panel) 顶级容器 (Container) 组件 (Component)