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 }

随机推荐

  1. 标准库之collections

    collections 模块----Python标准库,是数据结构常用模块 常用类型有: 计数器(Counter)   dict的子类,计算可hash的对象: 双端队列(deque)  类似于list ...

  2. 神秘、常用、多变的Binder

    今天说说神秘又常用又多变的Binder~ Binder是什么 Binder通信过程和原理 在Android中的应用 Binder优势 Binder是什么 先借用神书<Android开发艺术探索& ...

  3. Folx好用的下载功能介绍

    Folx作为一款使用便捷的Mac系统下载软件,为用户提供了网页链接捕获.种子文件下载.智能标签等功能,而其Folx专业版更为用户提供了智能控制速度.计划下载任务.种子文件搜索下载等更加智能化的功能. ...

  4. 采集post传输的数据

    采集数据,网页上的数据是开发者通过ajax的post方式显示的,就得用到curl以及它的跨域方法 代码: $post_data------post传过去的参数 $ch = curl_init(); $ ...

  5. Jmeter(二十九) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy2(详解教程)

    1.简介 上一篇文中已经对Badboy做了一个基本上详细完整的介绍,这一篇宏哥带你们实战一下,这一篇主要讲解和分享:录制和运行脚本.参数化 首先让我们使用N模式录制一个脚本,测试用例编号为:1.1.1 ...

  6. P2943 [USACO09MAR]Cleaning Up G

    一句话题意:将一个数列分成若干段,每段的不和谐度为该段内不同数字数量的平方,求不和谐度之和的最小值. 令 \(f_i\) 表示前 \(i\) 个数的最小答案,很容易就能写出暴力转移方程:\(f_i=\ ...

  7. 由OptionalLong想到的拆装箱问题

    包装类型为null的时候时候拆箱会报空指针

  8. 如何有效恢复误删的HDFS文件

    HDFS是大数据领域比较知名的分布式存储系统,作为大数据相关从业人员,每天处理HDFS上的文件数据是常规操作.这就容易带来一个问题,实际操作中对重要数据文件的误删,那么如何恢复这些文件,就显得尤为重要 ...

  9. docker安装myInfluxDB映射本地目录+开机后台自启动

    CentOS7环境 1.docker hup库搜索influxdb docker search influxdb 2.拉取influxdb镜像 docker pull influxdb 3.查看已下载 ...

  10. 断点调试 breakpoints(修改request)

    目录 1.抓取信息 2.点击breakpoints勾选断点 3.复制抓取的信息 4.点击proxy再点断点设置 5.点击勾选然后add添加其下如图 6.点击确定 7.刷新百度,charles出现的页面 ...