
Java语言程序设计第六讲 图形用户界面及事件处理 JAVA
Java语言程序设计第六讲 图形用户界面及事件处理

教学内容 JAVA ■常用系统类 ·容器 ■组件 ■组件布局管理 ·事件处理方机制
教学内容 ◼ 常用系统类 ◼ 容器 ◼ 组件 ◼ 组件布局管理 ◼ 事件处理方机制

图形用户界面 JAVA "通过图形用户界面(GU:Graphics User Interface),用户和程序之间可以方便地进行 交互。Java的抽象窗口工具包(AWT: Abstract Window Toolkit)中包含了许多类来 支持GUl设计。AWT由Java的java.awt包提供, 该包中有许多用来设计GU的组件类,如:按 钮、菜单、列表、文本框等组件类,同时它还 包含窗口、面板等容器类
图形用户界面 ◼ 通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行 交互。Java的抽象窗口工具包(AWT: Abstract Window Toolkit)中包含了许多类来 支持GUI设计。AWT由Java的java.awt包提供, 该包中有许多用来设计GUI的组件类,如:按 钮、菜单、列表、文本框等组件类,同时它还 包含窗口、面板等容器类

容器类(Container)和组件类(Component) 。Java.awt包中一部分类的层次关系如图所示 JAVA Component Button Container Scrollbar Canvas List Window Panel Checkbox TextField Label TextArea Frame Dialog 图Component类的部分子类
容器类(Container)和组件类(Component) ◼ Java.awt包中一部分类的层次关系如图所示

容器一Frame?类 JAVA ■Frame类是Container类的间接子类。当需要一 个窗口时,可使用Frame:或其子类创建一个对 象。窗口是一个容器,可以向窗口添加组件。 需要注意的是,窗口默认地被系统添加到显示 器屏幕上,因此,不允许将一个窗口添加到另 一个容器中。 善窗可 回☒
容器—Frame类 ◼ Frame类是Container类的间接子类。当需要一 个窗口时,可使用Frame或其子类创建一个对 象。窗口是一个容器,可以向窗口添加组件。 需要注意的是,窗口默认地被系统添加到显示 器屏幕上,因此,不允许将一个窗口添加到另 一个容器中

Frame常用方法 ·Frame(0:构造方法,可以创建一个无标题的窗口,JAVA 窗口的默认布局为BorderLayout布局。 ·Frame(String s):构造方法,可以创建一个标题为s的窗 口,窗口的默认布局为BorderLayout布局。 public void setBounds(int a,int b,int width,int height): 口调用该方法可以设置出现在屏幕上时的初始位置是(a,b), 即距屏幕左面a个像素、距屏幕上方b个像素;窗口的宽是 width,高是neight。. ·public void setSize(int width,int height):设置窗口的大 小,窗口在屏幕出现是默认位置是(0,0)。 public void setVisible(boolean b):设置窗口是可见还是 不可见,窗口默认是不可见的。 ■ public void setResizable(boolean b):设置窗口是否可调 整大小,窗口默认是可调整大小的
Frame常用方法 ◼ Frame() :构造方法,可以创建一个无标题的窗口, 窗口的默认布局为BorderLayout布局。 ◼ Frame(String s) :构造方法,可以创建一个标题为s的窗 口,窗口的默认布局为BorderLayout布局。 ◼ public void setBounds(int a,int b,int width,int height) :窗 口调用该方法可以设置出现在屏幕上时的初始位置是(a,b), 即距屏幕左面a个像素、距屏幕上方b个像素;窗口的宽是 width,高是height。 ◼ public void setSize(int width,int height) :设置窗口的大 小,窗口在屏幕出现是默认位置是(0,0)。 ◼ public void setVisible(boolean b) : 设置窗口是可见还是 不可见,窗口默认是不可见的。 ◼ public void setResizable(boolean b) :设置窗口是否可调 整大小,窗口默认是可调整大小的

例:创建一个窗口 import java.awt.*; class FirstWindow extends Frame FirstWindow(String s) setTitle(s); Toolkit tool=get Toolkit(); Dimension dim=tool.getScreenSize(); setBounds(0,0,dim.width,dim.height/2); setVisible(true); public class Example6_1 { public static void main(String args[]) {FirstWindow win=new FirstWindow('"窗口");
例:创建一个窗口 import java.awt.*; class FirstWindow extends Frame { FirstWindow(String s) { setTitle(s); Toolkit tool=getToolkit(); Dimension dim=tool.getScreenSize(); setBounds(0,0,dim.width,dim.height/2); setVisible(true); } } public class Example6_1 { public static void main(String args[]) { FirstWindow win=new FirstWindow("窗口"); } }

容器-Dialogi类 JAVA "Dialog和Frame类都是Container类的子类, 二 者有相似之处也有不同的地方,比如Dialog没 有添加菜单的功能,而且对话框必须要依赖于 某个窗口或组件,当它所依赖的窗口或组件消 失,对话框也将消失;而当它所依赖的窗口或 组件可见时,对话框又会自动恢复
容器-- Dialog类 ◼ Dialog和Frame类都是Container类的子类,二 者有相似之处也有不同的地方,比如Dialog 没 有添加菜单的功能,而且对话框必须要依赖于 某个窗口或组件,当它所依赖的窗口或组件消 失,对话框也将消失;而当它所依赖的窗口或 组件可见时,对话框又会自动恢复

Dialod类的主要方法 JAVA ·Dialod(Frame f,String s):构造方法,创建一个具有 标题的初始不可见的对话框,参数$是标题的名字,「 是对话框所依赖的窗口。 Dialod(Frame f,String s,boolean b):构造方法,创 建一个具有标题s的初始不可见的对话框。参数b决定 对话框是否为有模式或无模式,参数是对话框所依赖 的窗口。 ■getTitle():获取对话框的标题。 ■setTitle):设置对话框的标题。 ·setModal(boolean):设置对话框的模式
Dialod类的主要方法 ◼ Dialod(Frame f,String s) : 构造方法,创建一个具有 标题的初始不可见的对话框,参数s是标题的名字,f 是对话框所依赖的窗口。 ◼ Dialod(Frame f,String s,boolean b) :构造方法,创 建一个具有标题s的初始不可见的对话框。参数b决定 对话框是否为有模式或无模式,参数f是对话框所依赖 的窗口。 ◼ getTitle() : 获取对话框的标题。 ◼ setTitle():设置对话框的标题。 ◼ setModal(boolean) : 设置对话框的模式

对话框的模式 JAVA ·对话框分为无模式和有模式两种。 ·有模式对话框:当这个对话框处于激活状态时,只让 程序响应对话框内部的事件,程序不能再激活它所依 赖的窗口或组件,而且它将堵塞当前线程的执行,即 堵塞使得对话框处于激活状态的线程,直到该对话框 消失不可见。 ·无模式对话框:当这个对话框处于激活状态时,程序 仍能激活它所依赖的窗口或组件,它也不堵塞线程的 执行
对话框的模式 ◼ 对话框分为无模式和有模式两种。 ◼ 有模式对话框:当这个对话框处于激活状态时,只让 程序响应对话框内部的事件,程序不能再激活它所依 赖的窗口或组件,而且它将堵塞当前线程的执行,即 堵塞使得对话框处于激活状态的线程,直到该对话框 消失不可见。 ◼ 无模式对话框:当这个对话框处于激活状态时,程序 仍能激活它所依赖的窗口或组件,它也不堵塞线程的 执行