UNIT8awt与事件处理精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
Component类
代表ຫໍສະໝຸດ Baidu件的最基本的类是Component。它是一个 抽象类,封装定义了窗口中各种对象一系列最基 本的属性和操作
类Component的子类包括许多我们熟悉且常用的 组件对象,如按钮类Button,标签类Label,选择 框类Checkbox,画布类Canvas等
Component还有一个特殊的子类Container作为最 基本的组件容器
button3 = new Button("Close");
f.add(button1);
f.add(button2);
f.add(button3);
8
BorderLayout
是Frame的缺省布局。区域布局将容器分 为东西南北中五个区域,加入组件时,应 通过字符串East/West /South/North/Center 来标记组件的方位
FrameWithPanel fr=new FrameWithPanel(“Frame with panel”);
Panel pan=new Panel();
fr.setSize(200,200);
fr.setBackround(Color.Blue);
fr.setLayout(null);
pan.setSize(100,100);
5
基本容器—Panel类
import java.awt.*;
public class FrameWithPanel extends Frame {
public FrameWithPanel(String str){
super(str);
}
public static void main(String[] args){
顺序布局是Panel容器的缺省布局策略,即 将加入容器中的组件依次从左至右,从上 至下排列,适用于组件个数较少的情况。
f = new Frame("Flow Layout");
f.setLayout(new FlowLayout());
button1 = new Button("OK");
button2 = new Button("Open");
Unit 8: AWT与事件处理
AWT简介
Java的抽象窗口工具包AWT(Abstract Window Toolkit)提供了创建基于窗口的图形用户界面的便利 工具。它的内容相当丰富,共有60多个类和接口
利用AWT类库,用户可以方便地建立自己的窗口界面, 响应并处理交互事件
图形窗口形式的用户界面不同于传统的命令行形式的 用户界面,它通过“窗口”、“按钮”、“菜单”等 可视的灵活方式提供人机交互的手段。Java的AWT包 定义了窗口系统所显示的各种对象,既包括组织窗口 屏幕元素所需的基本类,也包括图形处理,显示所需 的基本类
f = new Frame(“Border Layout"); f.add(bn, BorderLayout.NORTH); f.add(bs, BorderLayout.SOUTH); f.add(bw, “West”); f.add(be, BorderLayout.EAST); f.add(bc, BorderLayout.CENTER);
}
11
CardLayout
卡片布局将容器中的每一个组件当作一个 卡片,一次仅有一个卡片可见,最初显示 容器时,加入到容器的第一个组件可见。
Container的两个子类是类Window和类Panel
3
GUI程序设计的主要内容
设计基本容器窗口 设置容器布局 添加所需组件 交互事件处理
4
基本容器—Frame类
import java.awt.*; public class MyFrame extends Frame {
public MyFrame(String str){ super(str);
pan.setBackground(Color.Yellow);
fr.add(pan);
fr.setVisible(true);
}
}
6
容器布局策略
FlowLayout BorderLayout CardLayout GridLayout GridBagLayout
7
FlowLayout
} public static void main(String[] args){
MyFrame fr=new MyFrame(“Hello Out There!”); fr.setSize(300,100); fr.setBackround(Color.Blue); fr.setVisible(true); } }
9
GridLayout
网格布局将容器划分为n*m的大小相同的 小格,每格区间可摆放一个组件。向容器 中增加组件时,按从左至右,从上至下的 顺序依次存放
f = new Frame(“Grid Layout"); f.setLayout(new GridLayout(3,2)); f.add(b1); f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6);
1
“组件”(Component)和“容 器”(Container)
Java组织窗口元素是通过“组 件”(Component)和“容器”(Container)来 进行的
“组件”包括屏幕上的各种组成部件,如按 钮、菜单、画布等
“容器”是一种特殊的组件,用来放置、容 纳其它组件或容器,如面板、对话框等
new GridLayout(3,2,5,0)
10
GridLayout
例TestGridLayout
setLayout(new GridLayout(5, 6)); for (int i = 0; i < 5; i++)
for (int j = 0; j < 6; j++) { if((int)(Math.random()*100)>=0) if ((int) (Math.random() * 100) >= 50) add(new Button(Integer.toString(i * 6 + j))); else add(new Label());
Component类
代表ຫໍສະໝຸດ Baidu件的最基本的类是Component。它是一个 抽象类,封装定义了窗口中各种对象一系列最基 本的属性和操作
类Component的子类包括许多我们熟悉且常用的 组件对象,如按钮类Button,标签类Label,选择 框类Checkbox,画布类Canvas等
Component还有一个特殊的子类Container作为最 基本的组件容器
button3 = new Button("Close");
f.add(button1);
f.add(button2);
f.add(button3);
8
BorderLayout
是Frame的缺省布局。区域布局将容器分 为东西南北中五个区域,加入组件时,应 通过字符串East/West /South/North/Center 来标记组件的方位
FrameWithPanel fr=new FrameWithPanel(“Frame with panel”);
Panel pan=new Panel();
fr.setSize(200,200);
fr.setBackround(Color.Blue);
fr.setLayout(null);
pan.setSize(100,100);
5
基本容器—Panel类
import java.awt.*;
public class FrameWithPanel extends Frame {
public FrameWithPanel(String str){
super(str);
}
public static void main(String[] args){
顺序布局是Panel容器的缺省布局策略,即 将加入容器中的组件依次从左至右,从上 至下排列,适用于组件个数较少的情况。
f = new Frame("Flow Layout");
f.setLayout(new FlowLayout());
button1 = new Button("OK");
button2 = new Button("Open");
Unit 8: AWT与事件处理
AWT简介
Java的抽象窗口工具包AWT(Abstract Window Toolkit)提供了创建基于窗口的图形用户界面的便利 工具。它的内容相当丰富,共有60多个类和接口
利用AWT类库,用户可以方便地建立自己的窗口界面, 响应并处理交互事件
图形窗口形式的用户界面不同于传统的命令行形式的 用户界面,它通过“窗口”、“按钮”、“菜单”等 可视的灵活方式提供人机交互的手段。Java的AWT包 定义了窗口系统所显示的各种对象,既包括组织窗口 屏幕元素所需的基本类,也包括图形处理,显示所需 的基本类
f = new Frame(“Border Layout"); f.add(bn, BorderLayout.NORTH); f.add(bs, BorderLayout.SOUTH); f.add(bw, “West”); f.add(be, BorderLayout.EAST); f.add(bc, BorderLayout.CENTER);
}
11
CardLayout
卡片布局将容器中的每一个组件当作一个 卡片,一次仅有一个卡片可见,最初显示 容器时,加入到容器的第一个组件可见。
Container的两个子类是类Window和类Panel
3
GUI程序设计的主要内容
设计基本容器窗口 设置容器布局 添加所需组件 交互事件处理
4
基本容器—Frame类
import java.awt.*; public class MyFrame extends Frame {
public MyFrame(String str){ super(str);
pan.setBackground(Color.Yellow);
fr.add(pan);
fr.setVisible(true);
}
}
6
容器布局策略
FlowLayout BorderLayout CardLayout GridLayout GridBagLayout
7
FlowLayout
} public static void main(String[] args){
MyFrame fr=new MyFrame(“Hello Out There!”); fr.setSize(300,100); fr.setBackround(Color.Blue); fr.setVisible(true); } }
9
GridLayout
网格布局将容器划分为n*m的大小相同的 小格,每格区间可摆放一个组件。向容器 中增加组件时,按从左至右,从上至下的 顺序依次存放
f = new Frame(“Grid Layout"); f.setLayout(new GridLayout(3,2)); f.add(b1); f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6);
1
“组件”(Component)和“容 器”(Container)
Java组织窗口元素是通过“组 件”(Component)和“容器”(Container)来 进行的
“组件”包括屏幕上的各种组成部件,如按 钮、菜单、画布等
“容器”是一种特殊的组件,用来放置、容 纳其它组件或容器,如面板、对话框等
new GridLayout(3,2,5,0)
10
GridLayout
例TestGridLayout
setLayout(new GridLayout(5, 6)); for (int i = 0; i < 5; i++)
for (int j = 0; j < 6; j++) { if((int)(Math.random()*100)>=0) if ((int) (Math.random() * 100) >= 50) add(new Button(Integer.toString(i * 6 + j))); else add(new Label());