AWT02-ContainerAPI
1.体系
Object
-Component
-Container
Window:窗口容器
Frame:创建窗口
Dialog:创建对话框
Panel:内嵌容器
Applet
ScrollPane:含有滚动条的容器
Window是可以独立存在的顶级窗口,默认使用BorderLayout管理其内部组件布局。
Panel可以容纳其他组件,但是不能独立存在,它必须内嵌其他容器中使用,默认使用FlowLayout管理其内部组件布局。
ScrollPane是一个带滚动条的容器,它也不能独立存在,默认使用BorderLayout管理其内部组件布局。
2.常用API
Component作为基类,提供了如下方法设置组件的位置,大小,可见性。
| 方法名 | 说明 |
| setLocation(int x,int y) | 设置组件的位置 |
| setSize(int width,int height) | 设置组件的大小 |
| setBounds(int x,int y,int width,int height) | 设置组件的位置和大小 |
| setVisible(boolean b) | 设置组件的可见性 |
Container作为容器根类,提供了如下方法:
| 方法名 | 说明 |
| Component add(Component comp) | 向容器中添加其他组件,这个组件可以是普通组件也可以是其他容器。最后,返回被添加的组件。 |
| Component getComponentAt(int x,int y) | 返回指定位置的组件。 |
| int getComponentCount() | 返回该容器内组件的数量。 |
| Component[] getComponents() | 返回该容器内所有的组件。 |
3.Window演示
步骤:
1.创建一个窗口对象。
2.指定窗口位置和大小。
3.设置窗口对象可见性。
1 import java.awt.*;
2
3 public class WindowDemo {
4 public static void main(String[] args) {
5 Frame MainWindow = new Frame("这是我的第一个AWT窗口");
6 MainWindow.setLocation(500,250);
7 MainWindow.setSize(500,300);
8 MainWindow.setVisible(true);
9 }
10 }
4.Panel演示
1.创建一个Window对象,因为panel和ScrollPane都不能独立存在,必须依附于其他容器。
2.创建一个panel对象
3.添加一个文本框和一个按钮组件,放入panel
4.将panel放入window
5.设置Window位置、大小、可见性
1 import java.awt.*;
2
3 public class PanelDemo {
4 public static void main(String[] args) {
5 Frame f = new Frame("这是Panel演示");
6 Panel p = new Panel();
7 p.add(new TextField("please input..."));
8 p.add(new Button("Submit"));
9 f.add(p);
10 f.setLocation(500,250);
11 f.setSize(500,300);
12 f.setVisible(true);
13 }
14 }
5.ScrollPane演示
1.创建一个Window对象,因为panel和ScrollPane都不能独立存在,必须依附于其他容器。
2.创建一个Scrollpane对象
3.添加一个文本框和一个按钮组件,放入panel
4.将panel放入window
5.设置Window位置、大小、可见性
1 import java.awt.*;
2
3 public class ScrollPaneDemo {
4 public static void main(String[] args) {
5 Frame f = new Frame("ScrollPane演示");
6 ScrollPane s = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
7 s.add(new TextField("please input..."));
8 s.add(new Button("提交"));
9 f.add(s);
10 f.setLocation(500,250);
11 f.setSize(500,300);
12 f.setVisible(true);
13 }
14 }
随机推荐
- 标准库之collections
collections 模块----Python标准库,是数据结构常用模块 常用类型有: 计数器(Counter) dict的子类,计算可hash的对象: 双端队列(deque) 类似于list ...
- 神秘、常用、多变的Binder
今天说说神秘又常用又多变的Binder~ Binder是什么 Binder通信过程和原理 在Android中的应用 Binder优势 Binder是什么 先借用神书<Android开发艺术探索& ...
- Folx好用的下载功能介绍
Folx作为一款使用便捷的Mac系统下载软件,为用户提供了网页链接捕获.种子文件下载.智能标签等功能,而其Folx专业版更为用户提供了智能控制速度.计划下载任务.种子文件搜索下载等更加智能化的功能. ...
- 采集post传输的数据
采集数据,网页上的数据是开发者通过ajax的post方式显示的,就得用到curl以及它的跨域方法 代码: $post_data------post传过去的参数 $ch = curl_init(); $ ...
- Jmeter(二十九) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy2(详解教程)
1.简介 上一篇文中已经对Badboy做了一个基本上详细完整的介绍,这一篇宏哥带你们实战一下,这一篇主要讲解和分享:录制和运行脚本.参数化 首先让我们使用N模式录制一个脚本,测试用例编号为:1.1.1 ...
- P2943 [USACO09MAR]Cleaning Up G
一句话题意:将一个数列分成若干段,每段的不和谐度为该段内不同数字数量的平方,求不和谐度之和的最小值. 令 \(f_i\) 表示前 \(i\) 个数的最小答案,很容易就能写出暴力转移方程:\(f_i=\ ...
- 由OptionalLong想到的拆装箱问题
包装类型为null的时候时候拆箱会报空指针
- 如何有效恢复误删的HDFS文件
HDFS是大数据领域比较知名的分布式存储系统,作为大数据相关从业人员,每天处理HDFS上的文件数据是常规操作.这就容易带来一个问题,实际操作中对重要数据文件的误删,那么如何恢复这些文件,就显得尤为重要 ...
- docker安装myInfluxDB映射本地目录+开机后台自启动
CentOS7环境 1.docker hup库搜索influxdb docker search influxdb 2.拉取influxdb镜像 docker pull influxdb 3.查看已下载 ...
- 断点调试 breakpoints(修改request)
目录 1.抓取信息 2.点击breakpoints勾选断点 3.复制抓取的信息 4.点击proxy再点断点设置 5.点击勾选然后add添加其下如图 6.点击确定 7.刷新百度,charles出现的页面 ...